D: [iurt_root_command] chroot
warning: Found bdb_ro Packages database while attempting sqlite backend: using bdb_ro backend.
Installing /home/iurt/rpmbuild/SRPMS/parrot-8.1.0-12.mga9.src.rpm
Building target platforms: aarch64
Building for target aarch64
Executing(%prep): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.Z4iqhc
+ umask 022
+ cd /home/iurt/rpmbuild/BUILD
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ cd /home/iurt/rpmbuild/BUILD
+ rm -rf parrot-8.1.0
+ /usr/bin/bzip2 -dc /home/iurt/rpmbuild/SOURCES/parrot-8.1.0.tar.bz2
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd parrot-8.1.0
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/bin/perl -pi -e 's,"lib/,"lib64/, if (/CONST_STRING\(interp,/)' src/library.c
+ /usr/bin/perl -pi -e 's,'\''/usr/lib'\'','\''/usr/lib64'\'',;s,runtime/lib/,runtime/lib64/,' tools/dev/install_files.pl tools/dev/mk_manifest_and_skip.pl
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.QMON6k
+ umask 022
+ cd /home/iurt/rpmbuild/BUILD
+ cd parrot-8.1.0
+ '[' 1 -eq 1 ']'
+ '[' 1 -eq 1 ']'
+ /usr/bin/perl Configure.pl --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc --infodir=/usr/share/info --mandir=/usr/share/man --cc=gcc '--link=gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags' --enable-shared --lex=/usr/bin/flex '--ldflags= -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags' '--libs=-lcurses -lm -lrt'
Parrot Version 8.1.0 Configure 2.0
Copyright (C) 2001-2015, Parrot Foundation.

Hello, I'm Configure. My job is to poke and prod your system to figure out
how to build Parrot. The process is completely automated, unless you passed in
the `--ask' flag on the command line, in which case I'll prompt you for a few
pieces of info.

Since you're running this program, you obviously have Perl 5--I'll be pulling
some defaults from its configuration.

init::manifest -      Check MANIFEST.....................................done.
init::defaults -      Set Configure's default values.....................done.
init::install -       Set up installation paths..........................done.
init::hints -         Load platform and local hints files................done.
inter::progs -        Determine what C compiler and linker to use........done.
inter::make -         Is make installed...................................yes.
inter::lex -          Is lex installed...........................user defined.
inter::yacc -         Is yacc installed.............................bison 3.8.
auto::gcc -           Is your C compiler actually gcc...............yes, 11.2.
auto::glibc -         Is GNU libc installed...............................yes.
auto::backtrace -     Does libc have the backtrace* functions.............yes.
auto::msvc -          Is your C compiler actually Visual C++..........skipped.
auto::attributes -    Detect compiler attributes.........................done.
auto::arch -          Determine CPU architecture and type, and OS........done.
auto::cpu -           Generate CPU specific stuff........................done.
init::optimize -      Enable optimization..................................no.
inter::shlibs -       Determine flags for building shared libraries.....-fPIC.
inter::libparrot -    Should parrot link against a shared library.........yes.
inter::types -        What types should Parrot use.......................done.
auto::ops -           Which opcode files should be compiled in...........done.
auto::pmc -           Which pmc files should be compiled in..............done.
auto::headers -       Probe for C headers................................done.
auto::sizes -         Determine some sizes...............................done.
auto::byteorder -     Compute native byteorder for wordsize.....little-endian.
auto::va_ptr -        Test the type of va_ptr...........................stack.
auto::format -        What formats should be used for sprintf............done.
auto::isreg -         Does your C library have a working S_ISREG..........yes.
auto::llvm -          Is minimum version of LLVM installed............skipped.
auto::inline -        Does your compiler support inline....................no.
auto::gc -            Determine allocator to use..........................gms.
auto::memalign -      Does your C library support memalign................yes.
auto::signal -        Determine some signal stuff........................done.
auto::socklen_t -     Determine whether there is socklen_t................yes.
auto::stat -          Detect stat type....................................bsd.
auto::neg_0 -         Determine whether negative zero can be printed......yes.
auto::env -           Does your C library have setenv / unsetenv.........both.
auto::timespec -      Does your system has timespec.......................yes.
auto::infnan -        Is standard C Inf/NaN handling present..............yes.
auto::thread -        Does your system have threads.......................yes.
auto::gmp -           Does your platform support GMP...............yes, 6.2.1.
auto::readline -      Does your platform support readline.................yes.
auto::pcre -          Does your platform support pcre....................done.
auto::opengl -        Does your platform support OpenGL....................no.
auto::zlib -          Does your platform support zlib......................no.
auto::gettext -       Does your configuration include gettext.............yes.
auto::snprintf -      Test for snprintf..............................yes, C99.
auto::mathl -         Test for long math support..........................yes.
auto::perldoc -       Is perldoc installed................................yes.
auto::coverage -      Are coverage analysis tools installed...Negative repeat count does nothing at lib/Parrot/Configure.pm line 481.
lacking cover gcov2perl.
auto::pod2man -       Is pod2man installed................................yes.
auto::ctags -         Is (exuberant) ctags installed......................yes.
auto::icu -           Is ICU installed..............................yes, 69.1.
auto::libffi -        Is libffi installed.....................no, failed test.
auto::ipv6 -          Determine IPV6 capabilities.........................yes.
auto::platform -      Generate a list of platform object files...........done.
auto::alignof -       Determine offsetof values for our types.........skipped.
auto::expect -        Does your compiler support __builtin_expect.........yes.
auto::warnings -      Detect supported compiler warnings.................done.
gen::config_h -       Generate C headers.................................done.
gen::core_pmcs -      Generate core pmc list.............................done.
gen::opengl -         Generating OpenGL bindings......................skipped.
gen::makefiles -      Generate makefiles and other build files...........done.
gen::config_pm -      Record configuration data for later retrieval......done.
Okay, we're done!

You can now use `gmake' to build your Parrot.
After that, you can use `gmake test' to run the test suite.

Happy Hacking,
        The Parrot Team

+ /usr/bin/sed -i -e '1 s&nqp&/usr/bin/parrot-nqp&' runtime/parrot/library/YAML/Tiny.pm
+ /usr/bin/make 'LDFLAGS= -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags'
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/enums.h lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm" "[devel]" lib
/usr/bin/perl5.34.0 tools/build/pbcversion_h.pl > include/parrot/pbcversion.h
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "include/parrot/pbcversion.h" "[main]" include
/usr/bin/perl5.34.0 tools/build/vtable_h.pl
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "include/parrot/vtable.h" "[main]" include
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --vtable 
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/default.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/fixedintegerarray.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/fixedintegerarray.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/callcontext.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/callcontext.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/string/api.c > src/string/api.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/debug.c > src/debug.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/dynext.c > src/dynext.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/exceptions.c > src/exceptions.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/global_setup.c > src/global_setup.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/hll.c > src/hll.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/call/pcc.c > src/call/pcc.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/call/args.c > src/call/args.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/interp/inter_cb.c > src/interp/inter_cb.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/interp/api.c > src/interp/api.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/io/api.c > src/io/api.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/key.c > src/key.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/library.c > src/library.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/multidispatch.c > src/multidispatch.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/namespace.c > src/namespace.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/nci/api.c > src/nci/api.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/nci/core_thunks.c > src/nci/core_thunks.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/nci/extra_thunks.c > src/nci/extra_thunks.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/nci/signatures.c > src/nci/signatures.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/packfile/api.c > src/packfile/api.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/packfile/segments.c > src/packfile/segments.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/packfile/object_serialization.c > src/packfile/object_serialization.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/packfile/pf_items.c > src/packfile/pf_items.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc.c > src/pmc.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/oo.c > src/oo.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/runcore/cores.c > src/runcore/cores.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/runcore/main.c > src/runcore/main.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/runcore/profiling.c > src/runcore/profiling.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/runcore/subprof.c > src/runcore/subprof.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/scheduler.c > src/scheduler.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/events.c > src/events.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/string/spf_render.c > src/string/spf_render.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/string/spf_vtable.c > src/string/spf_vtable.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/string/encoding.c > src/string/encoding.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/sub.c > src/sub.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/default.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/default.c > src/pmc/default.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/null.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/null.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/null.c > src/pmc/null.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/env.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/env.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/env.c > src/pmc/env.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/key.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/key.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/key.c > src/pmc/key.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/unmanagedstruct.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/unmanagedstruct.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/unmanagedstruct.c > src/pmc/unmanagedstruct.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/managedstruct.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/managedstruct.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/managedstruct.c > src/pmc/managedstruct.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/exception.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/exception.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/exception.c > src/pmc/exception.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/parrotlibrary.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/parrotlibrary.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/parrotlibrary.c > src/pmc/parrotlibrary.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/parrotinterpreter.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/parrotinterpreter.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/parrotinterpreter.c > src/pmc/parrotinterpreter.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/lexpad.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/lexpad.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/lexpad.c > src/pmc/lexpad.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/timer.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/timer.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/timer.c > src/pmc/timer.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/pointer.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/pointer.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/pointer.c > src/pmc/pointer.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/sub.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/sub.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/sub.c > src/pmc/sub.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/continuation.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/continuation.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/continuation.c > src/pmc/continuation.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/coroutine.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/coroutine.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/coroutine.c > src/pmc/coroutine.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/nci.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/nci.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/nci.c > src/pmc/nci.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/scalar.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/float.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/float.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/float.c > src/pmc/float.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/integer.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/integer.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/integer.c > src/pmc/integer.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/bigint.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/bigint.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/bigint.c > src/pmc/bigint.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/bignum.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/bignum.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/bignum.c > src/pmc/bignum.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/complex.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/complex.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/complex.c > src/pmc/complex.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/string.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/string.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/string.c > src/pmc/string.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/boolean.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/boolean.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/boolean.c > src/pmc/boolean.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/fixedintegerarray.c > src/pmc/fixedintegerarray.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/iterator.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/iterator.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/iterator.c > src/pmc/iterator.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/fixedstringarray.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/fixedstringarray.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/fixedstringarray.c > src/pmc/fixedstringarray.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/hash.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/hash.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/hash.c > src/pmc/hash.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/orderedhash.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/orderedhash.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/orderedhash.c > src/pmc/orderedhash.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/oplib.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/oplib.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/oplib.c > src/pmc/oplib.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/opcode.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/opcode.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/opcode.c > src/pmc/opcode.str
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/callcontext.c > src/pmc/callcontext.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/addrregistry.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/addrregistry.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/addrregistry.c > src/pmc/addrregistry.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/alarm.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/alarm.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/alarm.c > src/pmc/alarm.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/arrayiterator.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/arrayiterator.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/arrayiterator.c > src/pmc/arrayiterator.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/bytebuffer.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/bytebuffer.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/bytebuffer.c > src/pmc/bytebuffer.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/task.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/callback.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/callback.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/callback.c > src/pmc/callback.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/capture.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/capture.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/capture.c > src/pmc/capture.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/class.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/class.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/class.c > src/pmc/class.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/eventhandler.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/eventhandler.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/eventhandler.c > src/pmc/eventhandler.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/exceptionhandler.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/exceptionhandler.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/exceptionhandler.c > src/pmc/exceptionhandler.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/exporter.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/exporter.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/exporter.c > src/pmc/exporter.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/handle.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/filehandle.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/filehandle.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/filehandle.c > src/pmc/filehandle.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/fixedbooleanarray.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/fixedbooleanarray.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/fixedbooleanarray.c > src/pmc/fixedbooleanarray.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/fixedfloatarray.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/fixedfloatarray.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/fixedfloatarray.c > src/pmc/fixedfloatarray.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/fixedpmcarray.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/fixedpmcarray.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/fixedpmcarray.c > src/pmc/fixedpmcarray.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/handle.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/handle.c > src/pmc/handle.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/hashiterator.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/hashiterator.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/hashiterator.c > src/pmc/hashiterator.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/hashiteratorkey.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/hashiteratorkey.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/hashiteratorkey.c > src/pmc/hashiteratorkey.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/imageiofreeze.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/imageiofreeze.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/imageiofreeze.c > src/pmc/imageiofreeze.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/imageiosize.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/imageiosize.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/imageiosize.c > src/pmc/imageiosize.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/imageiostrings.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/imageiostrings.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/imageiostrings.c > src/pmc/imageiostrings.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/imageiothaw.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/imageiothaw.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/imageiothaw.c > src/pmc/imageiothaw.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/imccompiler.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/imccompiler.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/imccompiler.c > src/pmc/imccompiler.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/lexinfo.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/lexinfo.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/lexinfo.c > src/pmc/lexinfo.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/mappedbytearray.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/mappedbytearray.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/mappedbytearray.c > src/pmc/mappedbytearray.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/resizablepmcarray.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/multisub.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/multisub.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/multisub.c > src/pmc/multisub.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/namespace.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/namespace.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/namespace.c > src/pmc/namespace.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/nativepccmethod.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/nativepccmethod.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/nativepccmethod.c > src/pmc/nativepccmethod.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/object.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/object.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/object.c > src/pmc/object.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/orderedhashiterator.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/orderedhashiterator.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/orderedhashiterator.c > src/pmc/orderedhashiterator.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/os.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/os.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/os.c > src/pmc/os.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/packfile.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/packfile.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/packfile.c > src/pmc/packfile.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/packfileannotation.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/packfileannotation.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/packfileannotation.c > src/pmc/packfileannotation.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/packfilesegment.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/packfileannotations.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/packfileannotations.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/packfileannotations.c > src/pmc/packfileannotations.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/packfilerawsegment.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/packfilebytecodesegment.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/packfilebytecodesegment.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/packfilebytecodesegment.c > src/pmc/packfilebytecodesegment.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/packfileconstanttable.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/packfileconstanttable.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/packfileconstanttable.c > src/pmc/packfileconstanttable.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/packfiledebug.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/packfiledebug.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/packfiledebug.c > src/pmc/packfiledebug.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/packfiledirectory.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/packfiledirectory.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/packfiledirectory.c > src/pmc/packfiledirectory.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/packfileopmap.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/packfileopmap.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/packfileopmap.c > src/pmc/packfileopmap.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/packfilerawsegment.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/packfilerawsegment.c > src/pmc/packfilerawsegment.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/packfilesegment.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/packfilesegment.c > src/pmc/packfilesegment.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/packfileview.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/packfileview.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/packfileview.c > src/pmc/packfileview.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/pmclist.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/pmclist.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/pmclist.c > src/pmc/pmclist.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/pmcproxy.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/pmcproxy.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/pmcproxy.c > src/pmc/pmcproxy.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/proxy.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/proxy.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/proxy.c > src/pmc/proxy.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/ptr.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/ptr.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/ptr.c > src/pmc/ptr.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/ptrbuf.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/ptrbuf.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/ptrbuf.c > src/pmc/ptrbuf.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/ptrobj.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/ptrobj.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/ptrobj.c > src/pmc/ptrobj.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/resizablebooleanarray.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/resizablebooleanarray.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/resizablebooleanarray.c > src/pmc/resizablebooleanarray.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/resizablefloatarray.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/resizablefloatarray.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/resizablefloatarray.c > src/pmc/resizablefloatarray.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/resizableintegerarray.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/resizableintegerarray.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/resizableintegerarray.c > src/pmc/resizableintegerarray.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/resizablepmcarray.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/resizablepmcarray.c > src/pmc/resizablepmcarray.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/resizablestringarray.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/resizablestringarray.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/resizablestringarray.c > src/pmc/resizablestringarray.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/role.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/role.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/role.c > src/pmc/role.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/scalar.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/scalar.c > src/pmc/scalar.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/scheduler.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/scheduler.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/scheduler.c > src/pmc/scheduler.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/schedulermessage.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/schedulermessage.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/schedulermessage.c > src/pmc/schedulermessage.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/sockaddr.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/sockaddr.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/sockaddr.c > src/pmc/sockaddr.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/socket.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/socket.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/socket.c > src/pmc/socket.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/stringbuilder.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/stringbuilder.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/stringbuilder.c > src/pmc/stringbuilder.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/stringhandle.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/stringhandle.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/stringhandle.c > src/pmc/stringhandle.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/stringiterator.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/stringiterator.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/stringiterator.c > src/pmc/stringiterator.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/structview.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/structview.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/structview.c > src/pmc/structview.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/task.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/task.c > src/pmc/task.str
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/pmc/undef.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/pmc/undef.pmc
/usr/bin/perl5.34.0 tools/build/c2str.pl src/pmc/undef.c > src/pmc/undef.str
/usr/bin/perl5.34.0 tools/build/c2str.pl --all
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/. -Isrc -o src/string/api.o -c src/string/api.c
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
src/string/api.c: In function 'Parrot_str_finish':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:559:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  559 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_finish'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:209:5: note: in expansion of macro 'ASSERT_ARGS'
  209 |     ASSERT_ARGS(Parrot_str_finish)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'string_rep_compatible':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'a' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/api.c:80:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   80 |        PARROT_ASSERT_ARG(a) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_string_rep_compatible'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:271:5: note: in expansion of macro 'ASSERT_ARGS'
  271 |     ASSERT_ARGS(string_rep_compatible)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/api.c:81:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   81 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_string_rep_compatible'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:271:5: note: in expansion of macro 'ASSERT_ARGS'
  271 |     ASSERT_ARGS(string_rep_compatible)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_rep_compatible':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'a' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:608:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  608 |        PARROT_ASSERT_ARG(a) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_rep_compatible'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:342:5: note: in expansion of macro 'ASSERT_ARGS'
  342 |     ASSERT_ARGS(Parrot_str_rep_compatible)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:609:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  609 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_rep_compatible'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:342:5: note: in expansion of macro 'ASSERT_ARGS'
  342 |     ASSERT_ARGS(Parrot_str_rep_compatible)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_clone':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:656:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  656 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_clone'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:361:5: note: in expansion of macro 'ASSERT_ARGS'
  361 |     ASSERT_ARGS(Parrot_str_clone)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_copy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:535:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  535 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_copy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:404:5: note: in expansion of macro 'ASSERT_ARGS'
  404 |     ASSERT_ARGS(Parrot_str_copy)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_new_from_buffer':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:596:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  596 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_new_from_buffer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:602:5: note: in expansion of macro 'ASSERT_ARGS'
  602 |     ASSERT_ARGS(Parrot_str_new_from_buffer)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:597:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  597 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_new_from_buffer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:602:5: note: in expansion of macro 'ASSERT_ARGS'
  602 |     ASSERT_ARGS(Parrot_str_new_from_buffer)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_new_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:599:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  599 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_new_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:673:5: note: in expansion of macro 'ASSERT_ARGS'
  673 |     ASSERT_ARGS(Parrot_str_new_init)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encoding' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:600:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  600 |     , PARROT_ASSERT_ARG(encoding))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_new_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:673:5: note: in expansion of macro 'ASSERT_ARGS'
  673 |     ASSERT_ARGS(Parrot_str_new_init)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:581:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  581 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:140:5: note: in expansion of macro 'ASSERT_ARGS'
  140 |     ASSERT_ARGS(Parrot_str_init)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:591:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  591 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:572:5: note: in expansion of macro 'ASSERT_ARGS'
  572 |     ASSERT_ARGS(Parrot_str_new)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_new_constant':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:593:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  593 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_new_constant'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:635:5: note: in expansion of macro 'ASSERT_ARGS'
  635 |     ASSERT_ARGS(Parrot_str_new_constant)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:594:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  594 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_new_constant'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:635:5: note: in expansion of macro 'ASSERT_ARGS'
  635 |     ASSERT_ARGS(Parrot_str_new_constant)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_new_from_cstring':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:678:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  678 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_new_from_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:730:5: note: in expansion of macro 'ASSERT_ARGS'
  730 |     ASSERT_ARGS(Parrot_str_new_from_cstring)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_from_platform_cstring':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:570:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  570 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_from_platform_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:782:5: note: in expansion of macro 'ASSERT_ARGS'
  782 |     ASSERT_ARGS(Parrot_str_from_platform_cstring)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_indexed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:578:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  578 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_indexed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:931:5: note: in expansion of macro 'ASSERT_ARGS'
  931 |     ASSERT_ARGS(Parrot_str_indexed)
      |     ^~~~~~~~~~~
src/string/api.c:933:8: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  933 |     if (s == NULL)
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:579:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  579 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_indexed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:931:5: note: in expansion of macro 'ASSERT_ARGS'
  931 |     ASSERT_ARGS(Parrot_str_indexed)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_find_index':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:549:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  549 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_find_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:972:5: note: in expansion of macro 'ASSERT_ARGS'
  972 |     ASSERT_ARGS(Parrot_str_find_index)
      |     ^~~~~~~~~~~
src/string/api.c:974:8: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  974 |     if (src == NULL)
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:550:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  550 |     , PARROT_ASSERT_ARG(src) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_find_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:972:5: note: in expansion of macro 'ASSERT_ARGS'
  972 |     ASSERT_ARGS(Parrot_str_find_index)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'search' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:551:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  551 |     , PARROT_ASSERT_ARG(search))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_find_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:972:5: note: in expansion of macro 'ASSERT_ARGS'
  972 |     ASSERT_ARGS(Parrot_str_find_index)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_chr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:527:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  527 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_chr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1014:5: note: in expansion of macro 'ASSERT_ARGS'
 1014 |     ASSERT_ARGS(Parrot_str_chr)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_find_reverse_index':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:555:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  555 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_find_reverse_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:986:5: note: in expansion of macro 'ASSERT_ARGS'
  986 |     ASSERT_ARGS(Parrot_str_find_reverse_index)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:556:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  556 |     , PARROT_ASSERT_ARG(src) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_find_reverse_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:986:5: note: in expansion of macro 'ASSERT_ARGS'
  986 |     ASSERT_ARGS(Parrot_str_find_reverse_index)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'search' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:557:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  557 |     , PARROT_ASSERT_ARG(search))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_find_reverse_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:986:5: note: in expansion of macro 'ASSERT_ARGS'
  986 |     ASSERT_ARGS(Parrot_str_find_reverse_index)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'string_max_bytes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/api.c:78:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   78 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_string_max_bytes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1070:5: note: in expansion of macro 'ASSERT_ARGS'
 1070 |     ASSERT_ARGS(string_max_bytes)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_new_noinit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:602:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  602 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_new_noinit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:236:5: note: in expansion of macro 'ASSERT_ARGS'
  236 |     ASSERT_ARGS(Parrot_str_new_noinit)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_concat':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:533:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  533 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_concat'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:466:5: note: in expansion of macro 'ASSERT_ARGS'
  466 |     ASSERT_ARGS(Parrot_str_concat)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_extract_chars':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:658:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  658 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_extract_chars'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:858:5: note: in expansion of macro 'ASSERT_ARGS'
  858 |     ASSERT_ARGS(Parrot_str_extract_chars)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:659:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  659 |     , PARROT_ASSERT_ARG(buffer) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_extract_chars'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:858:5: note: in expansion of macro 'ASSERT_ARGS'
  858 |     ASSERT_ARGS(Parrot_str_extract_chars)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encoding' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:660:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  660 |     , PARROT_ASSERT_ARG(encoding))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_extract_chars'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:858:5: note: in expansion of macro 'ASSERT_ARGS'
  858 |     ASSERT_ARGS(Parrot_str_extract_chars)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_repeat':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:611:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  611 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_repeat'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1091:5: note: in expansion of macro 'ASSERT_ARGS'
 1091 |     ASSERT_ARGS(Parrot_str_repeat)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:612:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  612 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_repeat'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1091:5: note: in expansion of macro 'ASSERT_ARGS'
 1091 |     ASSERT_ARGS(Parrot_str_repeat)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_substr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:623:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  623 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_substr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1138:5: note: in expansion of macro 'ASSERT_ARGS'
 1138 |     ASSERT_ARGS(Parrot_str_substr)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_iter_substr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:674:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  674 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_iter_substr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1164:5: note: in expansion of macro 'ASSERT_ARGS'
 1164 |     ASSERT_ARGS(Parrot_str_iter_substr)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:675:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  675 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_iter_substr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1164:5: note: in expansion of macro 'ASSERT_ARGS'
 1164 |     ASSERT_ARGS(Parrot_str_iter_substr)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'l' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:676:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  676 |     , PARROT_ASSERT_ARG(l))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_iter_substr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1164:5: note: in expansion of macro 'ASSERT_ARGS'
 1164 |     ASSERT_ARGS(Parrot_str_iter_substr)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_iter_index':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:668:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  668 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_iter_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1204:5: note: in expansion of macro 'ASSERT_ARGS'
 1204 |     ASSERT_ARGS(Parrot_str_iter_index)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:669:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  669 |     , PARROT_ASSERT_ARG(src) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_iter_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1204:5: note: in expansion of macro 'ASSERT_ARGS'
 1204 |     ASSERT_ARGS(Parrot_str_iter_index)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'start' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:670:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  670 |     , PARROT_ASSERT_ARG(start) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_iter_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1204:5: note: in expansion of macro 'ASSERT_ARGS'
 1204 |     ASSERT_ARGS(Parrot_str_iter_index)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'end' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:671:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  671 |     , PARROT_ASSERT_ARG(end) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_iter_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1204:5: note: in expansion of macro 'ASSERT_ARGS'
 1204 |     ASSERT_ARGS(Parrot_str_iter_index)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'search' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:672:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  672 |     , PARROT_ASSERT_ARG(search))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_iter_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1204:5: note: in expansion of macro 'ASSERT_ARGS'
 1204 |     ASSERT_ARGS(Parrot_str_iter_index)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_replace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:614:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  614 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_replace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1275:5: note: in expansion of macro 'ASSERT_ARGS'
 1275 |     ASSERT_ARGS(Parrot_str_replace)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/api.c:28:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/string/api.c:1285:9: note: in expansion of macro 'STRING_IS_NULL'
 1285 |     if (STRING_IS_NULL(src)) {
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:615:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  615 |     , PARROT_ASSERT_ARG(src) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_replace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1275:5: note: in expansion of macro 'ASSERT_ARGS'
 1275 |     ASSERT_ARGS(Parrot_str_replace)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/api.c:28:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 'rep' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/string/api.c:1306:9: note: in expansion of macro 'STRING_IS_NULL'
 1306 |     if (STRING_IS_NULL(rep)) {
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rep' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:616:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  616 |     , PARROT_ASSERT_ARG(rep))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_replace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1275:5: note: in expansion of macro 'ASSERT_ARGS'
 1275 |     ASSERT_ARGS(Parrot_str_replace)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_chopn':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:524:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  524 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_chopn'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1392:5: note: in expansion of macro 'ASSERT_ARGS'
 1392 |     ASSERT_ARGS(Parrot_str_chopn)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/api.c:28:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/api.c:1396:16: note: in expansion of macro 'STRING_length'
 1396 |         end += STRING_length(s);
      |                ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:525:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  525 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_chopn'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1392:5: note: in expansion of macro 'ASSERT_ARGS'
 1392 |     ASSERT_ARGS(Parrot_str_chopn)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_compare':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:529:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  529 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_compare'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1423:5: note: in expansion of macro 'ASSERT_ARGS'
 1423 |     ASSERT_ARGS(Parrot_str_compare)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_not_equal':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:604:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  604 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_not_equal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1449:5: note: in expansion of macro 'ASSERT_ARGS'
 1449 |     ASSERT_ARGS(Parrot_str_not_equal)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_equal':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:541:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  541 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_equal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1479:5: note: in expansion of macro 'ASSERT_ARGS'
 1479 |     ASSERT_ARGS(Parrot_str_equal)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_bitwise_and':
src/string/api.c:1539:8: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
 1539 |     if (interp && GC_DEBUG(interp))
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:511:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  511 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_bitwise_and'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1506:5: note: in expansion of macro 'ASSERT_ARGS'
 1506 |     ASSERT_ARGS(Parrot_str_bitwise_and)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_bitwise_or':
src/string/api.c:1683:8: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
 1683 |     if (interp && GC_DEBUG(interp))
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:515:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  515 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_bitwise_or'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1647:5: note: in expansion of macro 'ASSERT_ARGS'
 1647 |     ASSERT_ARGS(Parrot_str_bitwise_or)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_bitwise_xor':
src/string/api.c:1749:8: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
 1749 |     if (interp && GC_DEBUG(interp))
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:517:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  517 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_bitwise_xor'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1713:5: note: in expansion of macro 'ASSERT_ARGS'
 1713 |     ASSERT_ARGS(Parrot_str_bitwise_xor)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_bitwise_not':
src/string/api.c:1817:8: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
 1817 |     if (interp && GC_DEBUG(interp))
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:513:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  513 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_bitwise_not'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1790:5: note: in expansion of macro 'ASSERT_ARGS'
 1790 |     ASSERT_ARGS(Parrot_str_bitwise_not)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_boolean':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:519:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  519 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_boolean'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1845:5: note: in expansion of macro 'ASSERT_ARGS'
 1845 |     ASSERT_ARGS(Parrot_str_boolean)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_format_data':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:561:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  561 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_format_data'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1886:5: note: in expansion of macro 'ASSERT_ARGS'
 1886 |     ASSERT_ARGS(Parrot_str_format_data)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'format' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:562:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  562 |     , PARROT_ASSERT_ARG(format))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_format_data'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1886:5: note: in expansion of macro 'ASSERT_ARGS'
 1886 |     ASSERT_ARGS(Parrot_str_format_data)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_to_int':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:636:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  636 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_to_int'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:1944:5: note: in expansion of macro 'ASSERT_ARGS'
 1944 |     ASSERT_ARGS(Parrot_str_to_int)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_from_num':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:567:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  567 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_from_num'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2214:5: note: in expansion of macro 'ASSERT_ARGS'
 2214 |     ASSERT_ARGS(Parrot_str_from_num)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_to_encoded_cstring':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:630:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  630 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_to_encoded_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2266:5: note: in expansion of macro 'ASSERT_ARGS'
 2266 |     ASSERT_ARGS(Parrot_str_to_encoded_cstring)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/api.c:28:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/string/api.c:2271:9: note: in expansion of macro 'STRING_IS_NULL'
 2271 |     if (STRING_IS_NULL(s))
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:631:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  631 |     , PARROT_ASSERT_ARG(s) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_to_encoded_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2266:5: note: in expansion of macro 'ASSERT_ARGS'
 2266 |     ASSERT_ARGS(Parrot_str_to_encoded_cstring)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'enc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:632:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  632 |     , PARROT_ASSERT_ARG(enc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_to_encoded_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2266:5: note: in expansion of macro 'ASSERT_ARGS'
 2266 |     ASSERT_ARGS(Parrot_str_to_encoded_cstring)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_to_platform_cstring':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:641:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  641 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_to_platform_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:831:5: note: in expansion of macro 'ASSERT_ARGS'
  831 |     ASSERT_ARGS(Parrot_str_to_platform_cstring)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/api.c:28:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/string/api.c:832:9: note: in expansion of macro 'STRING_IS_NULL'
  832 |     if (STRING_IS_NULL(s)) {
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:642:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  642 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_to_platform_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:831:5: note: in expansion of macro 'ASSERT_ARGS'
  831 |     ASSERT_ARGS(Parrot_str_to_platform_cstring)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_to_cstring':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:627:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  627 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_to_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2241:5: note: in expansion of macro 'ASSERT_ARGS'
 2241 |     ASSERT_ARGS(Parrot_str_to_cstring)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:628:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  628 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_to_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2241:5: note: in expansion of macro 'ASSERT_ARGS'
 2241 |     ASSERT_ARGS(Parrot_str_to_cstring)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_pin':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:606:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  606 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_pin'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2340:5: note: in expansion of macro 'ASSERT_ARGS'
 2340 |     ASSERT_ARGS(Parrot_str_pin)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_unpin':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:651:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  651 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_unpin'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2367:5: note: in expansion of macro 'ASSERT_ARGS'
 2367 |     ASSERT_ARGS(Parrot_str_unpin)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:652:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  652 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_unpin'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2367:5: note: in expansion of macro 'ASSERT_ARGS'
 2367 |     ASSERT_ARGS(Parrot_str_unpin)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_to_hashval':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:634:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  634 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_to_hashval'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2418:5: note: in expansion of macro 'ASSERT_ARGS'
 2418 |     ASSERT_ARGS(Parrot_str_to_hashval)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_reverse':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:618:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  618 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_reverse'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2441:5: note: in expansion of macro 'ASSERT_ARGS'
 2441 |     ASSERT_ARGS(Parrot_str_reverse)
      |     ^~~~~~~~~~~
src/string/api.c:2449:35: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
 2449 |     for (pos = STRING_length(src) - 1; pos >= 0; pos--) {
In file included from ./include/parrot/parrot.h:261,
                 from src/string/api.c:28:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:619:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  619 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_reverse'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2441:5: note: in expansion of macro 'ASSERT_ARGS'
 2441 |     ASSERT_ARGS(Parrot_str_reverse)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_escape_truncate':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:545:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  545 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_escape_truncate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2499:5: note: in expansion of macro 'ASSERT_ARGS'
 2499 |     ASSERT_ARGS(Parrot_str_escape_truncate)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_escape':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:543:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  543 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_escape'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2476:5: note: in expansion of macro 'ASSERT_ARGS'
 2476 |     ASSERT_ARGS(Parrot_str_escape)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'throw_illegal_escape':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/api.c:83:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   83 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_throw_illegal_escape'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2636:5: note: in expansion of macro 'ASSERT_ARGS'
 2636 |     ASSERT_ARGS(throw_illegal_escape)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/api.c:84:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_throw_illegal_escape'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2636:5: note: in expansion of macro 'ASSERT_ARGS'
 2636 |     ASSERT_ARGS(throw_illegal_escape)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'throw_illegal_escape_char':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/api.c:86:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   86 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_throw_illegal_escape_char'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2646:5: note: in expansion of macro 'ASSERT_ARGS'
 2646 |     ASSERT_ARGS(throw_illegal_escape_char)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/api.c:87:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   87 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_throw_illegal_escape_char'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2646:5: note: in expansion of macro 'ASSERT_ARGS'
 2646 |     ASSERT_ARGS(throw_illegal_escape_char)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_unescape_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:647:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  647 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_unescape_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2672:5: note: in expansion of macro 'ASSERT_ARGS'
 2672 |     ASSERT_ARGS(Parrot_str_unescape_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:648:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  648 |     , PARROT_ASSERT_ARG(src) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_unescape_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2672:5: note: in expansion of macro 'ASSERT_ARGS'
 2672 |     ASSERT_ARGS(Parrot_str_unescape_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encoding' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:649:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  649 |     , PARROT_ASSERT_ARG(encoding))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_unescape_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2672:5: note: in expansion of macro 'ASSERT_ARGS'
 2672 |     ASSERT_ARGS(Parrot_str_unescape_string)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_unescape':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:644:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  644 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_unescape'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2856:5: note: in expansion of macro 'ASSERT_ARGS'
 2856 |     ASSERT_ARGS(Parrot_str_unescape)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cstring' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:645:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  645 |     , PARROT_ASSERT_ARG(cstring))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_unescape'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2856:5: note: in expansion of macro 'ASSERT_ARGS'
 2856 |     ASSERT_ARGS(Parrot_str_unescape)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_upcase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:654:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  654 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_upcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2906:5: note: in expansion of macro 'ASSERT_ARGS'
 2906 |     ASSERT_ARGS(Parrot_str_upcase)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_to_num':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:638:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  638 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_to_num'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2008:5: note: in expansion of macro 'ASSERT_ARGS'
 2008 |     ASSERT_ARGS(Parrot_str_to_num)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_downcase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:539:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  539 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_downcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2935:5: note: in expansion of macro 'ASSERT_ARGS'
 2935 |     ASSERT_ARGS(Parrot_str_downcase)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_titlecase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:625:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  625 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_titlecase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2965:5: note: in expansion of macro 'ASSERT_ARGS'
 2965 |     ASSERT_ARGS(Parrot_str_titlecase)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_cstring':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:537:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  537 |        PARROT_ASSERT_ARG(str))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2995:5: note: in expansion of macro 'ASSERT_ARGS'
 2995 |     ASSERT_ARGS(Parrot_str_cstring)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_is_cclass':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:583:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  583 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_is_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3020:5: note: in expansion of macro 'ASSERT_ARGS'
 3020 |     ASSERT_ARGS(Parrot_str_is_cclass)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:584:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  584 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_is_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3020:5: note: in expansion of macro 'ASSERT_ARGS'
 3020 |     ASSERT_ARGS(Parrot_str_is_cclass)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_find_cclass':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:547:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  547 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_find_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3047:5: note: in expansion of macro 'ASSERT_ARGS'
 3047 |     ASSERT_ARGS(Parrot_str_find_cclass)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_find_not_cclass':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:553:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  553 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_find_not_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3076:5: note: in expansion of macro 'ASSERT_ARGS'
 3076 |     ASSERT_ARGS(Parrot_str_find_not_cclass)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_change_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:522:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  522 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_change_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3103:5: note: in expansion of macro 'ASSERT_ARGS'
 3103 |     ASSERT_ARGS(Parrot_str_change_encoding)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_compose':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:531:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  531 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_compose'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3138:5: note: in expansion of macro 'ASSERT_ARGS'
 3138 |     ASSERT_ARGS(Parrot_str_compose)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_join':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:587:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  587 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_join'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3167:5: note: in expansion of macro 'ASSERT_ARGS'
 3167 |     ASSERT_ARGS(Parrot_str_join)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ar' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:588:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  588 |     , PARROT_ASSERT_ARG(ar))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_join'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3167:5: note: in expansion of macro 'ASSERT_ARGS'
 3167 |     ASSERT_ARGS(Parrot_str_join)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_split':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:621:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  621 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_split'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3227:5: note: in expansion of macro 'ASSERT_ARGS'
 3227 |     ASSERT_ARGS(Parrot_str_split)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_from_uint':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:665:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  665 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_from_uint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3302:5: note: in expansion of macro 'ASSERT_ARGS'
 3302 |     ASSERT_ARGS(Parrot_str_from_uint)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'tc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:666:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  666 |     , PARROT_ASSERT_ARG(tc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_from_uint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3302:5: note: in expansion of macro 'ASSERT_ARGS'
 3302 |     ASSERT_ARGS(Parrot_str_from_uint)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_from_int_base':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:662:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  662 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_from_int_base'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3348:5: note: in expansion of macro 'ASSERT_ARGS'
 3348 |     ASSERT_ARGS(Parrot_str_from_int_base)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'tc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:663:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  663 |     , PARROT_ASSERT_ARG(tc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_from_int_base'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3348:5: note: in expansion of macro 'ASSERT_ARGS'
 3348 |     ASSERT_ARGS(Parrot_str_from_int_base)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_from_int':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:565:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  565 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_from_int'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:2192:5: note: in expansion of macro 'ASSERT_ARGS'
 2192 |     ASSERT_ARGS(Parrot_str_from_int)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_gc_register':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:572:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  572 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_gc_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3379:5: note: in expansion of macro 'ASSERT_ARGS'
 3379 |     ASSERT_ARGS(Parrot_str_gc_register)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:573:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  573 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_gc_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3379:5: note: in expansion of macro 'ASSERT_ARGS'
 3379 |     ASSERT_ARGS(Parrot_str_gc_register)
      |     ^~~~~~~~~~~
src/string/api.c: In function 'Parrot_str_gc_unregister':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:575:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  575 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_gc_unregister'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3403:5: note: in expansion of macro 'ASSERT_ARGS'
 3403 |     ASSERT_ARGS(Parrot_str_gc_unregister)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:576:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  576 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_gc_unregister'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/api.c:3403:5: note: in expansion of macro 'ASSERT_ARGS'
 3403 |     ASSERT_ARGS(Parrot_str_gc_unregister)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  \
  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden \
  -Isrc/ops/. -o src/ops/core_ops.o -c src/ops/core_ops.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/core_pmcs.o -c src/core_pmcs.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/datatypes.o -c src/datatypes.c
In file included from ./include/parrot/parrot.h:261,
                 from src/datatypes.c:23:
src/datatypes.c: In function 'Parrot_dt_get_datatype_enum':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/datatypes.h:219:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  219 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dt_get_datatype_enum'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/datatypes.c:42:5: note: in expansion of macro 'ASSERT_ARGS'
   42 |     ASSERT_ARGS(Parrot_dt_get_datatype_enum)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/datatypes.c:23:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 'type_name' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/datatypes.c:47:9: note: in expansion of macro 'STRING_IS_NULL'
   47 |     if (STRING_IS_NULL(type_name) || STRING_IS_EMPTY(type_name))
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/datatypes.c:23:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'type_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/datatypes.h:220:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  220 |     , PARROT_ASSERT_ARG(type_name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dt_get_datatype_enum'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/datatypes.c:42:5: note: in expansion of macro 'ASSERT_ARGS'
   42 |     ASSERT_ARGS(Parrot_dt_get_datatype_enum)
      |     ^~~~~~~~~~~
src/datatypes.c: In function 'Parrot_dt_get_datatype_name':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/datatypes.h:222:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  222 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dt_get_datatype_name'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/datatypes.c:86:5: note: in expansion of macro 'ASSERT_ARGS'
   86 |     ASSERT_ARGS(Parrot_dt_get_datatype_name)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/debug.o -c src/debug.c
In file included from ./include/parrot/parrot.h:261,
                 from src/debug.c:23:
src/debug.c: In function 'skip_whitespace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/debug.c:346:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  346 |        PARROT_ASSERT_ARG(cmd))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_skip_whitespace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:954:5: note: in expansion of macro 'ASSERT_ARGS'
  954 |     ASSERT_ARGS(skip_whitespace)
      |     ^~~~~~~~~~~
src/debug.c: In function 'nomoreargs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:339:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  339 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_nomoreargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:416:5: note: in expansion of macro 'ASSERT_ARGS'
  416 |     ASSERT_ARGS(nomoreargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:340:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  340 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_nomoreargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:416:5: note: in expansion of macro 'ASSERT_ARGS'
  416 |     ASSERT_ARGS(nomoreargs)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_echo':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:267:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  267 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_echo'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:489:5: note: in expansion of macro 'ASSERT_ARGS'
  489 |     ASSERT_ARGS(dbg_echo)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:268:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  268 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_echo'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:489:5: note: in expansion of macro 'ASSERT_ARGS'
  489 |     ASSERT_ARGS(dbg_echo)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_gcdebug':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:276:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  276 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_gcdebug'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:525:5: note: in expansion of macro 'ASSERT_ARGS'
  525 |     ASSERT_ARGS(dbg_gcdebug)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:277:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  277 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_gcdebug'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:525:5: note: in expansion of macro 'ASSERT_ARGS'
  525 |     ASSERT_ARGS(dbg_gcdebug)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_quit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:299:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  299 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_quit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:618:5: note: in expansion of macro 'ASSERT_ARGS'
  618 |     ASSERT_ARGS(dbg_quit)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:300:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  300 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_quit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:618:5: note: in expansion of macro 'ASSERT_ARGS'
  618 |     ASSERT_ARGS(dbg_quit)
      |     ^~~~~~~~~~~
src/debug.c: In function 'get_uint':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/debug.c:331:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  331 |        PARROT_ASSERT_ARG(cmd))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_uint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:975:5: note: in expansion of macro 'ASSERT_ARGS'
  975 |     ASSERT_ARGS(get_uint)
      |     ^~~~~~~~~~~
src/debug.c: In function 'get_ulong':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/debug.c:333:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  333 |        PARROT_ASSERT_ARG(cmd))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_ulong'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1000:5: note: in expansion of macro 'ASSERT_ARGS'
 1000 |     ASSERT_ARGS(get_ulong)
      |     ^~~~~~~~~~~
src/debug.c: In function 'chop_newline':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/debug.c:241:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  241 |        PARROT_ASSERT_ARG(buf))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_chop_newline'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1023:5: note: in expansion of macro 'ASSERT_ARGS'
 1023 |     ASSERT_ARGS(chop_newline)
      |     ^~~~~~~~~~~
src/debug.c: In function 'close_script_file':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/debug.c:243:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  243 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_close_script_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1076:5: note: in expansion of macro 'ASSERT_ARGS'
 1076 |     ASSERT_ARGS(close_script_file)
      |     ^~~~~~~~~~~
src/debug.c: In function 'Parrot_debugger_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:380:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  380 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_debugger_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1101:5: note: in expansion of macro 'ASSERT_ARGS'
 1101 |     ASSERT_ARGS(Parrot_debugger_init)
      |     ^~~~~~~~~~~
src/debug.c: In function 'Parrot_debugger_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:378:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  378 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_debugger_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1137:5: note: in expansion of macro 'ASSERT_ARGS'
 1137 |     ASSERT_ARGS(Parrot_debugger_destroy)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_get_command':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:447:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  447 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_get_command'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1300:5: note: in expansion of macro 'ASSERT_ARGS'
 1300 |     ASSERT_ARGS(PDB_get_command)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_script_file':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:394:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  394 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_script_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1392:5: note: in expansion of macro 'ASSERT_ARGS'
 1392 |     ASSERT_ARGS(PDB_script_file)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'command' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:395:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  395 |     , PARROT_ASSERT_ARG(command))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_script_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1392:5: note: in expansion of macro 'ASSERT_ARGS'
 1392 |     ASSERT_ARGS(PDB_script_file)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_script':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:305:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  305 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_script'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:643:5: note: in expansion of macro 'ASSERT_ARGS'
  643 |     ASSERT_ARGS(dbg_script)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:306:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  306 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_script'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:643:5: note: in expansion of macro 'ASSERT_ARGS'
  643 |     ASSERT_ARGS(dbg_script)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_run_command':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:465:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  465 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_run_command'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1430:5: note: in expansion of macro 'ASSERT_ARGS'
 1430 |     ASSERT_ARGS(PDB_run_command)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'command' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:466:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  466 |     , PARROT_ASSERT_ARG(command))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_run_command'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1430:5: note: in expansion of macro 'ASSERT_ARGS'
 1430 |     ASSERT_ARGS(PDB_run_command)
      |     ^~~~~~~~~~~
src/debug.c: In function 'debugger_cmdline':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/debug.c:317:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  317 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_debugger_cmdline'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1046:5: note: in expansion of macro 'ASSERT_ARGS'
 1046 |     ASSERT_ARGS(debugger_cmdline)
      |     ^~~~~~~~~~~
src/debug.c: In function 'Parrot_debugger_start':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:384:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  384 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_debugger_start'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1197:5: note: in expansion of macro 'ASSERT_ARGS'
 1197 |     ASSERT_ARGS(Parrot_debugger_start)
      |     ^~~~~~~~~~~
src/debug.c: In function 'Parrot_debugger_break':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:375:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  375 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_debugger_break'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1244:5: note: in expansion of macro 'ASSERT_ARGS'
 1244 |     ASSERT_ARGS(Parrot_debugger_break)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cur_opcode' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:376:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  376 |     , PARROT_ASSERT_ARG(cur_opcode))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_debugger_break'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1244:5: note: in expansion of macro 'ASSERT_ARGS'
 1244 |     ASSERT_ARGS(Parrot_debugger_break)
      |     ^~~~~~~~~~~
src/debug.c: In function 'condition_regtype':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/debug.c:245:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  245 |        PARROT_ASSERT_ARG(cmd))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_condition_regtype'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1576:5: note: in expansion of macro 'ASSERT_ARGS'
 1576 |     ASSERT_ARGS(condition_regtype)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_cond':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:413:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  413 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_cond'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1609:5: note: in expansion of macro 'ASSERT_ARGS'
 1609 |     ASSERT_ARGS(PDB_cond)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_watchpoint':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:476:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  476 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_watchpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1781:5: note: in expansion of macro 'ASSERT_ARGS'
 1781 |     ASSERT_ARGS(PDB_watchpoint)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'command' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:477:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  477 |     , PARROT_ASSERT_ARG(command))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_watchpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1781:5: note: in expansion of macro 'ASSERT_ARGS'
 1781 |     ASSERT_ARGS(PDB_watchpoint)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_watch':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:314:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  314 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_watch'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:676:5: note: in expansion of macro 'ASSERT_ARGS'
  676 |     ASSERT_ARGS(dbg_watch)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:315:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  315 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_watch'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:676:5: note: in expansion of macro 'ASSERT_ARGS'
  676 |     ASSERT_ARGS(dbg_watch)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:456:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  456 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1959:5: note: in expansion of macro 'ASSERT_ARGS'
 1959 |     ASSERT_ARGS(PDB_init)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_next':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:461:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  461 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_next'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1476:5: note: in expansion of macro 'ASSERT_ARGS'
 1476 |     ASSERT_ARGS(PDB_next)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_next':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:293:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  293 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_next'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:598:5: note: in expansion of macro 'ASSERT_ARGS'
  598 |     ASSERT_ARGS(dbg_next)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:294:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  294 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_next'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:598:5: note: in expansion of macro 'ASSERT_ARGS'
  598 |     ASSERT_ARGS(dbg_next)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_find_breakpoint':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:442:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  442 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_find_breakpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2025:5: note: in expansion of macro 'ASSERT_ARGS'
 2025 |     ASSERT_ARGS(PDB_find_breakpoint)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_delete_condition':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:421:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  421 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_delete_condition'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2169:5: note: in expansion of macro 'ASSERT_ARGS'
 2169 |     ASSERT_ARGS(PDB_delete_condition)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'breakpoint' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:422:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  422 |     , PARROT_ASSERT_ARG(breakpoint))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_delete_condition'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2169:5: note: in expansion of macro 'ASSERT_ARGS'
 2169 |     ASSERT_ARGS(PDB_delete_condition)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_skip_breakpoint':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:470:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  470 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_skip_breakpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2202:5: note: in expansion of macro 'ASSERT_ARGS'
 2202 |     ASSERT_ARGS(PDB_skip_breakpoint)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_continue':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:416:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  416 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_continue'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1984:5: note: in expansion of macro 'ASSERT_ARGS'
 1984 |     ASSERT_ARGS(PDB_continue)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_continue':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:255:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  255 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_continue'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:449:5: note: in expansion of macro 'ASSERT_ARGS'
  449 |     ASSERT_ARGS(dbg_continue)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:256:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  256 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_continue'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:449:5: note: in expansion of macro 'ASSERT_ARGS'
  449 |     ASSERT_ARGS(dbg_continue)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_run':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:302:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  302 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_run'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:632:5: note: in expansion of macro 'ASSERT_ARGS'
  632 |     ASSERT_ARGS(dbg_run)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:303:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  303 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_run'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:632:5: note: in expansion of macro 'ASSERT_ARGS'
  632 |     ASSERT_ARGS(dbg_run)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_program_end':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:463:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  463 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_program_end'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2223:5: note: in expansion of macro 'ASSERT_ARGS'
 2223 |     ASSERT_ARGS(PDB_program_end)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_trace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:472:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  472 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_trace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1519:5: note: in expansion of macro 'ASSERT_ARGS'
 1519 |     ASSERT_ARGS(PDB_trace)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_trace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:311:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  311 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_trace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:666:5: note: in expansion of macro 'ASSERT_ARGS'
  666 |     ASSERT_ARGS(dbg_trace)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:312:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  312 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_trace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:666:5: note: in expansion of macro 'ASSERT_ARGS'
  666 |     ASSERT_ARGS(dbg_trace)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_check_condition':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:410:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  410 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_check_condition'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2250:5: note: in expansion of macro 'ASSERT_ARGS'
 2250 |     ASSERT_ARGS(PDB_check_condition)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'condition' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:411:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  411 |     , PARROT_ASSERT_ARG(condition))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_check_condition'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2250:5: note: in expansion of macro 'ASSERT_ARGS'
 2250 |     ASSERT_ARGS(PDB_check_condition)
      |     ^~~~~~~~~~~
src/debug.c: In function 'current_breakpoint':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/debug.c:247:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  247 |        PARROT_ASSERT_ARG(pdb))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_current_breakpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2362:5: note: in expansion of macro 'ASSERT_ARGS'
 2362 |     ASSERT_ARGS(current_breakpoint)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_escape':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:437:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  437 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_escape'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2462:5: note: in expansion of macro 'ASSERT_ARGS'
 2462 |     ASSERT_ARGS(PDB_escape)
      |     ^~~~~~~~~~~
src/debug.c:2470:8: warning: 'nonnull' argument 'string' compared to NULL [-Wnonnull-compare]
 2470 |     if (!string)
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/debug.c:23:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'string' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:438:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  438 |     , PARROT_ASSERT_ARG(string))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_escape'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2462:5: note: in expansion of macro 'ASSERT_ARGS'
 2462 |     ASSERT_ARGS(PDB_escape)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_unescape':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'string' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:474:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  474 |        PARROT_ASSERT_ARG(string))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_unescape'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2536:5: note: in expansion of macro 'ASSERT_ARGS'
 2536 |     ASSERT_ARGS(PDB_unescape)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_add_label':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:401:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  401 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_add_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3010:5: note: in expansion of macro 'ASSERT_ARGS'
 3010 |     ASSERT_ARGS(PDB_add_label)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'file' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:402:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  402 |     , PARROT_ASSERT_ARG(file) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_add_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3010:5: note: in expansion of macro 'ASSERT_ARGS'
 3010 |     ASSERT_ARGS(PDB_add_label)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cur_opcode' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:403:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  403 |     , PARROT_ASSERT_ARG(cur_opcode))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_add_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3010:5: note: in expansion of macro 'ASSERT_ARGS'
 3010 |     ASSERT_ARGS(PDB_add_label)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_disassemble_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:429:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  429 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_disassemble_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2596:5: note: in expansion of macro 'ASSERT_ARGS'
 2596 |     ASSERT_ARGS(PDB_disassemble_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:430:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  430 |     , PARROT_ASSERT_ARG(dest) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_disassemble_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2596:5: note: in expansion of macro 'ASSERT_ARGS'
 2596 |     ASSERT_ARGS(PDB_disassemble_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:431:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  431 |     , PARROT_ASSERT_ARG(info) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_disassemble_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2596:5: note: in expansion of macro 'ASSERT_ARGS'
 2596 |     ASSERT_ARGS(PDB_disassemble_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'op' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:432:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  432 |     , PARROT_ASSERT_ARG(op))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_disassemble_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2596:5: note: in expansion of macro 'ASSERT_ARGS'
 2596 |     ASSERT_ARGS(PDB_disassemble_op)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_free_file':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:445:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  445 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_free_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3055:5: note: in expansion of macro 'ASSERT_ARGS'
 3055 |     ASSERT_ARGS(PDB_free_file)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_disassemble':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:427:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  427 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_disassemble'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2899:5: note: in expansion of macro 'ASSERT_ARGS'
 2899 |     ASSERT_ARGS(PDB_disassemble)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_disassemble':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:264:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  264 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_disassemble'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:479:5: note: in expansion of macro 'ASSERT_ARGS'
  479 |     ASSERT_ARGS(dbg_disassemble)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:265:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  265 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_disassemble'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:479:5: note: in expansion of macro 'ASSERT_ARGS'
  479 |     ASSERT_ARGS(dbg_disassemble)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_hasinstruction':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'c' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:449:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  449 |        PARROT_ASSERT_ARG(c))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_hasinstruction'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3236:5: note: in expansion of macro 'ASSERT_ARGS'
 3236 |     ASSERT_ARGS(PDB_hasinstruction)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_load_source':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:388:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  388 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_load_source'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3107:5: note: in expansion of macro 'ASSERT_ARGS'
 3107 |     ASSERT_ARGS(PDB_load_source)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'command' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:389:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  389 |     , PARROT_ASSERT_ARG(command))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_load_source'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3107:5: note: in expansion of macro 'ASSERT_ARGS'
 3107 |     ASSERT_ARGS(PDB_load_source)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_load':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:290:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  290 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_load'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:588:5: note: in expansion of macro 'ASSERT_ARGS'
  588 |     ASSERT_ARGS(dbg_load)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:291:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  291 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_load'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:588:5: note: in expansion of macro 'ASSERT_ARGS'
  588 |     ASSERT_ARGS(dbg_load)
      |     ^~~~~~~~~~~
src/debug.c: In function 'Parrot_debugger_load':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:382:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  382 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_debugger_load'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1169:5: note: in expansion of macro 'ASSERT_ARGS'
 1169 |     ASSERT_ARGS(Parrot_debugger_load)
      |     ^~~~~~~~~~~
src/debug.c: In function 'no_such_register':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/debug.c:337:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  337 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_no_such_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3271:5: note: in expansion of macro 'ASSERT_ARGS'
 3271 |     ASSERT_ARGS(no_such_register)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_list':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:458:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  458 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3359:5: note: in expansion of macro 'ASSERT_ARGS'
 3359 |     ASSERT_ARGS(PDB_list)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_list':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:285:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  285 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:568:5: note: in expansion of macro 'ASSERT_ARGS'
  568 |     ASSERT_ARGS(dbg_list)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:286:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  286 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:568:5: note: in expansion of macro 'ASSERT_ARGS'
  568 |     ASSERT_ARGS(dbg_list)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_eval':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:440:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  440 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_eval'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3441:5: note: in expansion of macro 'ASSERT_ARGS'
 3441 |     ASSERT_ARGS(PDB_eval)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_eval':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:273:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  273 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_eval'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:517:5: note: in expansion of macro 'ASSERT_ARGS'
  517 |     ASSERT_ARGS(dbg_eval)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:274:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  274 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_eval'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:517:5: note: in expansion of macro 'ASSERT_ARGS'
  517 |     ASSERT_ARGS(dbg_eval)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_info':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:454:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  454 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3485:5: note: in expansion of macro 'ASSERT_ARGS'
 3485 |     ASSERT_ARGS(PDB_info)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_info':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:282:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  282 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:555:5: note: in expansion of macro 'ASSERT_ARGS'
  555 |     ASSERT_ARGS(dbg_info)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:283:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  283 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:555:5: note: in expansion of macro 'ASSERT_ARGS'
  555 |     ASSERT_ARGS(dbg_info)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_help':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:451:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  451 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_help'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3533:5: note: in expansion of macro 'ASSERT_ARGS'
 3533 |     ASSERT_ARGS(PDB_help)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'command' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:452:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  452 |     , PARROT_ASSERT_ARG(command))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_help'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3533:5: note: in expansion of macro 'ASSERT_ARGS'
 3533 |     ASSERT_ARGS(PDB_help)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_help':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:279:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  279 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_help'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:545:5: note: in expansion of macro 'ASSERT_ARGS'
  545 |     ASSERT_ARGS(dbg_help)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:280:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  280 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_help'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:545:5: note: in expansion of macro 'ASSERT_ARGS'
  545 |     ASSERT_ARGS(dbg_help)
      |     ^~~~~~~~~~~
src/debug.c: In function 'get_exception_context':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:328:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  328 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_exception_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3605:5: note: in expansion of macro 'ASSERT_ARGS'
 3605 |     ASSERT_ARGS(get_exception_context)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'exception' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:329:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  329 |     , PARROT_ASSERT_ARG(exception))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_exception_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3605:5: note: in expansion of macro 'ASSERT_ARGS'
 3605 |     ASSERT_ARGS(get_exception_context)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_get_continuation_backtrace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:343:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  343 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_get_continuation_backtrace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3655:5: note: in expansion of macro 'ASSERT_ARGS'
 3655 |     ASSERT_ARGS(PDB_get_continuation_backtrace)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:344:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  344 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_get_continuation_backtrace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3655:5: note: in expansion of macro 'ASSERT_ARGS'
 3655 |     ASSERT_ARGS(PDB_get_continuation_backtrace)
      |     ^~~~~~~~~~~
src/debug.c: In function 'Parrot_dbg_get_exception_backtrace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:398:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  398 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dbg_get_exception_backtrace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3578:5: note: in expansion of macro 'ASSERT_ARGS'
 3578 |     ASSERT_ARGS(Parrot_dbg_get_exception_backtrace)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'exception' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:399:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  399 |     , PARROT_ASSERT_ARG(exception))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dbg_get_exception_backtrace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3578:5: note: in expansion of macro 'ASSERT_ARGS'
 3578 |     ASSERT_ARGS(Parrot_dbg_get_exception_backtrace)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_backtrace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:386:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  386 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_backtrace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3634:5: note: in expansion of macro 'ASSERT_ARGS'
 3634 |     ASSERT_ARGS(PDB_backtrace)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_stack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:308:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  308 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_stack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:653:5: note: in expansion of macro 'ASSERT_ARGS'
  653 |     ASSERT_ARGS(dbg_stack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:309:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  309 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_stack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:653:5: note: in expansion of macro 'ASSERT_ARGS'
  653 |     ASSERT_ARGS(dbg_stack)
      |     ^~~~~~~~~~~
src/debug.c: In function 'GDB_print_reg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/debug.c:325:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  325 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_GDB_print_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3754:5: note: in expansion of macro 'ASSERT_ARGS'
 3754 |     ASSERT_ARGS(GDB_print_reg)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_assign':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:405:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  405 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_assign'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3290:5: note: in expansion of macro 'ASSERT_ARGS'
 3290 |     ASSERT_ARGS(PDB_assign)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_assign':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:249:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  249 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_assign'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:429:5: note: in expansion of macro 'ASSERT_ARGS'
  429 |     ASSERT_ARGS(dbg_assign)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:250:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  250 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_assign'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:429:5: note: in expansion of macro 'ASSERT_ARGS'
  429 |     ASSERT_ARGS(dbg_assign)
      |     ^~~~~~~~~~~
src/debug.c: In function 'GDB_P':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:322:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  322 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_GDB_P'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3802:5: note: in expansion of macro 'ASSERT_ARGS'
 3802 |     ASSERT_ARGS(GDB_P)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:323:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  323 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_GDB_P'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3802:5: note: in expansion of macro 'ASSERT_ARGS'
 3802 |     ASSERT_ARGS(GDB_P)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_print':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:391:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  391 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_print'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3464:5: note: in expansion of macro 'ASSERT_ARGS'
 3464 |     ASSERT_ARGS(PDB_print)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'command' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:392:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  392 |     , PARROT_ASSERT_ARG(command))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_print'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3464:5: note: in expansion of macro 'ASSERT_ARGS'
 3464 |     ASSERT_ARGS(PDB_print)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_print':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:296:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  296 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_print'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:608:5: note: in expansion of macro 'ASSERT_ARGS'
  608 |     ASSERT_ARGS(dbg_print)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:297:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  297 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_print'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:608:5: note: in expansion of macro 'ASSERT_ARGS'
  608 |     ASSERT_ARGS(dbg_print)
      |     ^~~~~~~~~~~
src/debug.c: In function 'display_breakpoint':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:319:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  319 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_display_breakpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3855:5: note: in expansion of macro 'ASSERT_ARGS'
 3855 |     ASSERT_ARGS(display_breakpoint)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'breakpoint' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:320:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  320 |     , PARROT_ASSERT_ARG(breakpoint))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_display_breakpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:3855:5: note: in expansion of macro 'ASSERT_ARGS'
 3855 |     ASSERT_ARGS(display_breakpoint)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_set_break':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:468:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  468 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_set_break'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1808:5: note: in expansion of macro 'ASSERT_ARGS'
 1808 |     ASSERT_ARGS(PDB_set_break)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_break':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:252:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  252 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_break'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:439:5: note: in expansion of macro 'ASSERT_ARGS'
  439 |     ASSERT_ARGS(dbg_break)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:253:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  253 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_break'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:439:5: note: in expansion of macro 'ASSERT_ARGS'
  439 |     ASSERT_ARGS(dbg_break)
      |     ^~~~~~~~~~~
src/debug.c: In function 'list_breakpoints':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/debug.c:335:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  335 |        PARROT_ASSERT_ARG(pdb))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_list_breakpoints'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:1932:5: note: in expansion of macro 'ASSERT_ARGS'
 1932 |     ASSERT_ARGS(list_breakpoints)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_listbreakpoints':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/debug.c:288:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  288 |        PARROT_ASSERT_ARG(pdb))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_listbreakpoints'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:578:5: note: in expansion of macro 'ASSERT_ARGS'
  578 |     ASSERT_ARGS(dbg_listbreakpoints)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_disable_breakpoint':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:424:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  424 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_disable_breakpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2066:5: note: in expansion of macro 'ASSERT_ARGS'
 2066 |     ASSERT_ARGS(PDB_disable_breakpoint)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'command' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:425:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  425 |     , PARROT_ASSERT_ARG(command))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_disable_breakpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2066:5: note: in expansion of macro 'ASSERT_ARGS'
 2066 |     ASSERT_ARGS(PDB_disable_breakpoint)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_disable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:261:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  261 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_disable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:469:5: note: in expansion of macro 'ASSERT_ARGS'
  469 |     ASSERT_ARGS(dbg_disable)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:262:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  262 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_disable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:469:5: note: in expansion of macro 'ASSERT_ARGS'
  469 |     ASSERT_ARGS(dbg_disable)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_enable_breakpoint':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:434:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  434 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_enable_breakpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2089:5: note: in expansion of macro 'ASSERT_ARGS'
 2089 |     ASSERT_ARGS(PDB_enable_breakpoint)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'command' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:435:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  435 |     , PARROT_ASSERT_ARG(command))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_enable_breakpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2089:5: note: in expansion of macro 'ASSERT_ARGS'
 2089 |     ASSERT_ARGS(PDB_enable_breakpoint)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_enable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:270:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  270 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_enable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:509:5: note: in expansion of macro 'ASSERT_ARGS'
  509 |     ASSERT_ARGS(dbg_enable)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:271:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  271 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_enable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:509:5: note: in expansion of macro 'ASSERT_ARGS'
  509 |     ASSERT_ARGS(dbg_enable)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_delete_breakpoint':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:418:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  418 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_delete_breakpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2120:5: note: in expansion of macro 'ASSERT_ARGS'
 2120 |     ASSERT_ARGS(PDB_delete_breakpoint)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'command' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/debugger.h:419:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  419 |     , PARROT_ASSERT_ARG(command))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_delete_breakpoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2120:5: note: in expansion of macro 'ASSERT_ARGS'
 2120 |     ASSERT_ARGS(PDB_delete_breakpoint)
      |     ^~~~~~~~~~~
src/debug.c: In function 'dbg_delete':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pdb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:258:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  258 |        PARROT_ASSERT_ARG(pdb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_delete'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:459:5: note: in expansion of macro 'ASSERT_ARGS'
  459 |     ASSERT_ARGS(dbg_delete)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/debug.c:259:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  259 |     , PARROT_ASSERT_ARG(cmd))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dbg_delete'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:459:5: note: in expansion of macro 'ASSERT_ARGS'
  459 |     ASSERT_ARGS(dbg_delete)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_break':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/debugger.h:408:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  408 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_break'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/debug.c:2386:5: note: in expansion of macro 'ASSERT_ARGS'
 2386 |     ASSERT_ARGS(PDB_break)
      |     ^~~~~~~~~~~
src/debug.c: In function 'PDB_disassemble_op':
src/debug.c:2591:1: warning: stack usage is 1328 bytes [-Wstack-usage=]
 2591 | PDB_disassemble_op(PARROT_INTERP, ARGOUT(char *dest), size_t space,
      | ^~~~~~~~~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/disassemble.o -c src/disassemble.c
In file included from ./include/parrot/parrot.h:261,
                 from src/disassemble.c:21:
src/disassemble.c: In function 'print_constant_table':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/disassemble.c:37:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   37 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_print_constant_table'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/disassemble.c:55:5: note: in expansion of macro 'ASSERT_ARGS'
   55 |     ASSERT_ARGS(print_constant_table)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'output' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/disassemble.c:38:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   38 |     , PARROT_ASSERT_ARG(output))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_print_constant_table'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/disassemble.c:55:5: note: in expansion of macro 'ASSERT_ARGS'
   55 |     ASSERT_ARGS(print_constant_table)
      |     ^~~~~~~~~~~
src/disassemble.c: In function 'Parrot_disassemble':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/disassemble.h:31:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   31 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_disassemble'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/disassemble.c:141:5: note: in expansion of macro 'ASSERT_ARGS'
  141 |     ASSERT_ARGS(Parrot_disassemble)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/dynext.o -c src/dynext.c
In file included from ./include/parrot/parrot.h:261,
                 from src/dynext.c:20:
src/dynext.c: In function 'set_cstring_prop':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:120:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  120 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_cstring_prop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:151:5: note: in expansion of macro 'ASSERT_ARGS'
  151 |     ASSERT_ARGS(set_cstring_prop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lib_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:121:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  121 |     , PARROT_ASSERT_ARG(lib_pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_cstring_prop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:151:5: note: in expansion of macro 'ASSERT_ARGS'
  151 |     ASSERT_ARGS(set_cstring_prop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'what' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:122:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  122 |     , PARROT_ASSERT_ARG(what) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_cstring_prop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:151:5: note: in expansion of macro 'ASSERT_ARGS'
  151 |     ASSERT_ARGS(set_cstring_prop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:123:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  123 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_cstring_prop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:151:5: note: in expansion of macro 'ASSERT_ARGS'
  151 |     ASSERT_ARGS(set_cstring_prop)
      |     ^~~~~~~~~~~
src/dynext.c: In function 'store_lib_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:125:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  125 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_lib_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:175:5: note: in expansion of macro 'ASSERT_ARGS'
  175 |     ASSERT_ARGS(store_lib_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lib_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:126:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  126 |     , PARROT_ASSERT_ARG(lib_pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_lib_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:175:5: note: in expansion of macro 'ASSERT_ARGS'
  175 |     ASSERT_ARGS(store_lib_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:127:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  127 |     , PARROT_ASSERT_ARG(path) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_lib_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:175:5: note: in expansion of macro 'ASSERT_ARGS'
  175 |     ASSERT_ARGS(store_lib_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'type' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:128:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  128 |     , PARROT_ASSERT_ARG(type) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_lib_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:175:5: note: in expansion of macro 'ASSERT_ARGS'
  175 |     ASSERT_ARGS(store_lib_pmc)
      |     ^~~~~~~~~~~
src/dynext.c:184:9: warning: 'nonnull' argument 'lib_name' compared to NULL [-Wnonnull-compare]
  184 |     if (!STRING_IS_NULL(lib_name))
In file included from ./include/parrot/parrot.h:261,
                 from src/dynext.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lib_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:129:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  129 |     , PARROT_ASSERT_ARG(lib_name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_lib_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:175:5: note: in expansion of macro 'ASSERT_ARGS'
  175 |     ASSERT_ARGS(store_lib_pmc)
      |     ^~~~~~~~~~~
src/dynext.c: In function 'is_loaded':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:112:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  112 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_is_loaded'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:207:5: note: in expansion of macro 'ASSERT_ARGS'
  207 |     ASSERT_ARGS(is_loaded)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:113:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  113 |     , PARROT_ASSERT_ARG(path))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_is_loaded'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:207:5: note: in expansion of macro 'ASSERT_ARGS'
  207 |     ASSERT_ARGS(is_loaded)
      |     ^~~~~~~~~~~
src/dynext.c: In function 'dlopen_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:105:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  105 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dlopen_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:232:5: note: in expansion of macro 'ASSERT_ARGS'
  232 |     ASSERT_ARGS(dlopen_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:106:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |     , PARROT_ASSERT_ARG(path))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dlopen_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:232:5: note: in expansion of macro 'ASSERT_ARGS'
  232 |     ASSERT_ARGS(dlopen_string)
      |     ^~~~~~~~~~~
src/dynext.c: In function 'get_path':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:108:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  108 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_path'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:259:5: note: in expansion of macro 'ASSERT_ARGS'
  259 |     ASSERT_ARGS(get_path)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:109:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  109 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_path'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:259:5: note: in expansion of macro 'ASSERT_ARGS'
  259 |     ASSERT_ARGS(get_path)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'wo_ext' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:110:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  110 |     , PARROT_ASSERT_ARG(wo_ext))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_path'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:259:5: note: in expansion of macro 'ASSERT_ARGS'
  259 |     ASSERT_ARGS(get_path)
      |     ^~~~~~~~~~~
src/dynext.c: In function 'Parrot_dyn_init_lib':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/dynext.h:62:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   62 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dyn_init_lib'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:407:5: note: in expansion of macro 'ASSERT_ARGS'
  407 |     ASSERT_ARGS(Parrot_dyn_init_lib)
      |     ^~~~~~~~~~~
src/dynext.c: In function 'Parrot_dyn_dlsym_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/dynext.h:60:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   60 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dyn_dlsym_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:443:5: note: in expansion of macro 'ASSERT_ARGS'
  443 |     ASSERT_ARGS(Parrot_dyn_dlsym_str)
      |     ^~~~~~~~~~~
src/dynext.c: In function 'run_init_lib':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:115:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  115 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_run_init_lib'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:474:5: note: in expansion of macro 'ASSERT_ARGS'
  474 |     ASSERT_ARGS(run_init_lib)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:116:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  116 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_run_init_lib'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:474:5: note: in expansion of macro 'ASSERT_ARGS'
  474 |     ASSERT_ARGS(run_init_lib)
      |     ^~~~~~~~~~~
src/dynext.c:487:9: warning: 'nonnull' argument 'lib_name' compared to NULL [-Wnonnull-compare]
  487 |     if (!STRING_IS_NULL(lib_name)) {
In file included from ./include/parrot/parrot.h:261,
                 from src/dynext.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lib_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:117:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  117 |     , PARROT_ASSERT_ARG(lib_name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_run_init_lib'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:474:5: note: in expansion of macro 'ASSERT_ARGS'
  474 |     ASSERT_ARGS(run_init_lib)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'wo_ext' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:118:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  118 |     , PARROT_ASSERT_ARG(wo_ext))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_run_init_lib'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:474:5: note: in expansion of macro 'ASSERT_ARGS'
  474 |     ASSERT_ARGS(run_init_lib)
      |     ^~~~~~~~~~~
src/dynext.c: In function 'clone_string_into':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:101:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  101 |        PARROT_ASSERT_ARG(d) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_clone_string_into'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:543:5: note: in expansion of macro 'ASSERT_ARGS'
  543 |     ASSERT_ARGS(clone_string_into)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:102:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  102 |     , PARROT_ASSERT_ARG(s) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_clone_string_into'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:543:5: note: in expansion of macro 'ASSERT_ARGS'
  543 |     ASSERT_ARGS(clone_string_into)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/dynext.c:103:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  103 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_clone_string_into'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:543:5: note: in expansion of macro 'ASSERT_ARGS'
  543 |     ASSERT_ARGS(clone_string_into)
      |     ^~~~~~~~~~~
src/dynext.c: In function 'Parrot_dyn_clone_lib_into':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'd' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/dynext.h:56:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   56 |        PARROT_ASSERT_ARG(d) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dyn_clone_lib_into'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:567:5: note: in expansion of macro 'ASSERT_ARGS'
  567 |     ASSERT_ARGS(Parrot_dyn_clone_lib_into)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/dynext.h:57:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   57 |     , PARROT_ASSERT_ARG(s) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dyn_clone_lib_into'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:567:5: note: in expansion of macro 'ASSERT_ARGS'
  567 |     ASSERT_ARGS(Parrot_dyn_clone_lib_into)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lib_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/dynext.h:58:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   58 |     , PARROT_ASSERT_ARG(lib_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dyn_clone_lib_into'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:567:5: note: in expansion of macro 'ASSERT_ARGS'
  567 |     ASSERT_ARGS(Parrot_dyn_clone_lib_into)
      |     ^~~~~~~~~~~
src/dynext.c: In function 'Parrot_dyn_load_lib':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/dynext.h:64:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   64 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dyn_load_lib'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/dynext.c:653:5: note: in expansion of macro 'ASSERT_ARGS'
  653 |     ASSERT_ARGS(Parrot_dyn_load_lib)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/embed/. -Isrc -o src/embed/api.o -c src/embed/api.c
In file included from src/embed/api.c:22:
src/embed/api.c: In function 'Parrot_api_get_result':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'is_error' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:269:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  269 |        PARROT_ASSERT_ARG(is_error) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_get_result'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:59:5: note: in expansion of macro 'ASSERT_ARGS'
   59 |     ASSERT_ARGS(Parrot_api_get_result)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'exception' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:270:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  270 |     , PARROT_ASSERT_ARG(exception) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_get_result'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:59:5: note: in expansion of macro 'ASSERT_ARGS'
   59 |     ASSERT_ARGS(Parrot_api_get_result)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'exit_code' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:271:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  271 |     , PARROT_ASSERT_ARG(exit_code) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_get_result'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:59:5: note: in expansion of macro 'ASSERT_ARGS'
   59 |     ASSERT_ARGS(Parrot_api_get_result)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'errmsg' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:272:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  272 |     , PARROT_ASSERT_ARG(errmsg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_get_result'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:59:5: note: in expansion of macro 'ASSERT_ARGS'
   59 |     ASSERT_ARGS(Parrot_api_get_result)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_get_exception_backtrace':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'bt' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:267:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  267 |        PARROT_ASSERT_ARG(bt))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_get_exception_backtrace'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:96:5: note: in expansion of macro 'ASSERT_ARGS'
   96 |     ASSERT_ARGS(Parrot_api_get_exception_backtrace)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_make_interpreter':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:278:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  278 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_make_interpreter'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:125:5: note: in expansion of macro 'ASSERT_ARGS'
  125 |     ASSERT_ARGS(Parrot_api_make_interpreter)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_set_runcore':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'corename' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:291:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  291 |        PARROT_ASSERT_ARG(corename))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_set_runcore'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:182:5: note: in expansion of macro 'ASSERT_ARGS'
  182 |     ASSERT_ARGS(Parrot_api_set_runcore)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_set_executable_name':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:289:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  289 |        PARROT_ASSERT_ARG(name))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_set_executable_name'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:294:5: note: in expansion of macro 'ASSERT_ARGS'
  294 |     ASSERT_ARGS(Parrot_api_set_executable_name)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_add_library_search_path':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:257:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  257 |        PARROT_ASSERT_ARG(path))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_add_library_search_path'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:380:5: note: in expansion of macro 'ASSERT_ARGS'
  380 |     ASSERT_ARGS(Parrot_api_add_library_search_path)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_add_include_search_path':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:254:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  254 |        PARROT_ASSERT_ARG(path))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_add_include_search_path'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:407:5: note: in expansion of macro 'ASSERT_ARGS'
  407 |     ASSERT_ARGS(Parrot_api_add_include_search_path)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_add_dynext_search_path':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:251:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  251 |        PARROT_ASSERT_ARG(path))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_add_dynext_search_path'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:430:5: note: in expansion of macro 'ASSERT_ARGS'
  430 |     ASSERT_ARGS(Parrot_api_add_dynext_search_path)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_set_stdhandle':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'old_handle' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:293:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  293 |        PARROT_ASSERT_ARG(old_handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_set_stdhandle'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:458:5: note: in expansion of macro 'ASSERT_ARGS'
  458 |     ASSERT_ARGS(Parrot_api_set_stdhandle)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_get_runtime_path':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'runtime' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:274:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  274 |        PARROT_ASSERT_ARG(runtime))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_get_runtime_path'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:492:5: note: in expansion of macro 'ASSERT_ARGS'
  492 |     ASSERT_ARGS(Parrot_api_get_runtime_path)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_load_language':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'lang' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:276:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  276 |        PARROT_ASSERT_ARG(lang))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_load_language'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:538:5: note: in expansion of macro 'ASSERT_ARGS'
  538 |     ASSERT_ARGS(Parrot_api_load_language)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_get_compiler':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'type' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:263:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  263 |        PARROT_ASSERT_ARG(type) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_get_compiler'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:561:5: note: in expansion of macro 'ASSERT_ARGS'
  561 |     ASSERT_ARGS(Parrot_api_get_compiler)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'compiler' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:264:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  264 |     , PARROT_ASSERT_ARG(compiler))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_get_compiler'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:561:5: note: in expansion of macro 'ASSERT_ARGS'
  561 |     ASSERT_ARGS(Parrot_api_get_compiler)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_set_compiler':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'type' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:283:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  283 |        PARROT_ASSERT_ARG(type) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_set_compiler'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:587:5: note: in expansion of macro 'ASSERT_ARGS'
  587 |     ASSERT_ARGS(Parrot_api_set_compiler)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'compiler' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:284:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  284 |     , PARROT_ASSERT_ARG(compiler))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_set_compiler'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:587:5: note: in expansion of macro 'ASSERT_ARGS'
  587 |     ASSERT_ARGS(Parrot_api_set_compiler)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_reset_call_signature':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:281:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  281 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_reset_call_signature'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:635:5: note: in expansion of macro 'ASSERT_ARGS'
  635 |     ASSERT_ARGS(Parrot_api_reset_call_signature)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_wrap_pointer':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:300:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  300 |        PARROT_ASSERT_ARG(pmc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_wrap_pointer'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:681:5: note: in expansion of macro 'ASSERT_ARGS'
  681 |     ASSERT_ARGS(Parrot_api_wrap_pointer)
      |     ^~~~~~~~~~~
src/embed/api.c: In function 'Parrot_api_unwrap_pointer':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'ptr' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:297:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  297 |        PARROT_ASSERT_ARG(ptr) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_unwrap_pointer'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:700:5: note: in expansion of macro 'ASSERT_ARGS'
  700 |     ASSERT_ARGS(Parrot_api_unwrap_pointer)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'size' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:298:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  298 |     , PARROT_ASSERT_ARG(size))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_unwrap_pointer'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/api.c:700:5: note: in expansion of macro 'ASSERT_ARGS'
  700 |     ASSERT_ARGS(Parrot_api_unwrap_pointer)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/embed/. -Isrc -o src/embed/bytecode.o -c src/embed/bytecode.c
In file included from src/embed/bytecode.c:23:
src/embed/bytecode.c: In function 'Parrot_api_load_bytecode_file':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'filename' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:368:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  368 |        PARROT_ASSERT_ARG(filename) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_load_bytecode_file'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/bytecode.c:48:5: note: in expansion of macro 'ASSERT_ARGS'
   48 |     ASSERT_ARGS(Parrot_api_load_bytecode_file)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pbc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:369:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  369 |     , PARROT_ASSERT_ARG(pbc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_load_bytecode_file'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/bytecode.c:48:5: note: in expansion of macro 'ASSERT_ARGS'
   48 |     ASSERT_ARGS(Parrot_api_load_bytecode_file)
      |     ^~~~~~~~~~~
src/embed/bytecode.c: In function 'Parrot_api_load_bytecode_bytes':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pbc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:365:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  365 |        PARROT_ASSERT_ARG(pbc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_load_bytecode_bytes'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/bytecode.c:74:5: note: in expansion of macro 'ASSERT_ARGS'
   74 |     ASSERT_ARGS(Parrot_api_load_bytecode_bytes)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pbcpmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:366:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  366 |     , PARROT_ASSERT_ARG(pbcpmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_load_bytecode_bytes'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/bytecode.c:74:5: note: in expansion of macro 'ASSERT_ARGS'
   74 |     ASSERT_ARGS(Parrot_api_load_bytecode_bytes)
      |     ^~~~~~~~~~~
src/embed/bytecode.c: In function 'Parrot_api_ready_bytecode':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'main_sub' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:371:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  371 |        PARROT_ASSERT_ARG(main_sub))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_ready_bytecode'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/bytecode.c:113:5: note: in expansion of macro 'ASSERT_ARGS'
  113 |     ASSERT_ARGS(Parrot_api_ready_bytecode)
      |     ^~~~~~~~~~~
src/embed/bytecode.c: In function 'Parrot_api_serialize_bytecode_pmc':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:375:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  375 |        PARROT_ASSERT_ARG(bc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_serialize_bytecode_pmc'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/bytecode.c:212:5: note: in expansion of macro 'ASSERT_ARGS'
  212 |     ASSERT_ARGS(Parrot_api_serialize_bytecode_pmc)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/embed/. -Isrc -o src/embed/strings.o -c src/embed/strings.c
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/strings.c:20:
src/embed/strings.c: In function 'Parrot_api_string_export_ascii':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/strings.c:45:5: note: in expansion of macro 'EMBED_API_CALLIN'
   45 |     EMBED_API_CALLIN(interp_pmc, interp);
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/strings.c:45:5: note: in expansion of macro 'EMBED_API_CALLIN'
   45 |     EMBED_API_CALLIN(interp_pmc, interp);
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/strings.c:22:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:473:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  473 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_export_ascii'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:44:5: note: in expansion of macro 'ASSERT_ARGS'
   44 |     ASSERT_ARGS(Parrot_api_string_export_ascii)
      |     ^~~~~~~~~~~
src/embed/strings.c:46:9: warning: 'nonnull' argument 'string' compared to NULL [-Wnonnull-compare]
   46 |     if (!STRING_IS_NULL(string))
In file included from src/embed/strings.c:22:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'string' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:474:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  474 |     , PARROT_ASSERT_ARG(string) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_export_ascii'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:44:5: note: in expansion of macro 'ASSERT_ARGS'
   44 |     ASSERT_ARGS(Parrot_api_string_export_ascii)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'strout' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:475:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  475 |     , PARROT_ASSERT_ARG(strout))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_export_ascii'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:44:5: note: in expansion of macro 'ASSERT_ARGS'
   44 |     ASSERT_ARGS(Parrot_api_string_export_ascii)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/strings.c:20:
src/embed/strings.c: In function 'Parrot_api_string_free_exported_ascii':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/strings.c:70:5: note: in expansion of macro 'EMBED_API_CALLIN'
   70 |     EMBED_API_CALLIN(interp_pmc, interp);
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/strings.c:70:5: note: in expansion of macro 'EMBED_API_CALLIN'
   70 |     EMBED_API_CALLIN(interp_pmc, interp);
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/strings.c:22:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:483:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  483 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_free_exported_ascii'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:69:5: note: in expansion of macro 'ASSERT_ARGS'
   69 |     ASSERT_ARGS(Parrot_api_string_free_exported_ascii)
      |     ^~~~~~~~~~~
src/embed/strings.c:71:8: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
   71 |     if (str != NULL)
      |        ^
In file included from src/embed/strings.c:22:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:484:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  484 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_free_exported_ascii'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:69:5: note: in expansion of macro 'ASSERT_ARGS'
   69 |     ASSERT_ARGS(Parrot_api_string_free_exported_ascii)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/strings.c:20:
src/embed/strings.c: In function 'Parrot_api_string_export_wchar':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/strings.c:95:5: note: in expansion of macro 'EMBED_API_CALLIN'
   95 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/strings.c:95:5: note: in expansion of macro 'EMBED_API_CALLIN'
   95 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/strings.c:22:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:478:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  478 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_export_wchar'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:94:5: note: in expansion of macro 'ASSERT_ARGS'
   94 |     ASSERT_ARGS(Parrot_api_string_export_wchar)
      |     ^~~~~~~~~~~
src/embed/strings.c:97:9: warning: 'nonnull' argument 'string' compared to NULL [-Wnonnull-compare]
   97 |     if (!STRING_IS_NULL(string)) {
In file included from src/embed/strings.c:22:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'string' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:479:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  479 |     , PARROT_ASSERT_ARG(string) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_export_wchar'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:94:5: note: in expansion of macro 'ASSERT_ARGS'
   94 |     ASSERT_ARGS(Parrot_api_string_export_wchar)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'strout' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:480:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  480 |     , PARROT_ASSERT_ARG(strout))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_export_wchar'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:94:5: note: in expansion of macro 'ASSERT_ARGS'
   94 |     ASSERT_ARGS(Parrot_api_string_export_wchar)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/strings.c:20:
src/embed/strings.c: In function 'Parrot_api_string_free_exported_wchar':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/strings.c:129:5: note: in expansion of macro 'EMBED_API_CALLIN'
  129 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/strings.c:129:5: note: in expansion of macro 'EMBED_API_CALLIN'
  129 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/strings.c:22:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:487:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  487 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_free_exported_wchar'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:128:5: note: in expansion of macro 'ASSERT_ARGS'
  128 |     ASSERT_ARGS(Parrot_api_string_free_exported_wchar)
      |     ^~~~~~~~~~~
src/embed/strings.c:130:8: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  130 |     if (str != NULL)
      |        ^
In file included from src/embed/strings.c:22:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:488:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  488 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_free_exported_wchar'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:128:5: note: in expansion of macro 'ASSERT_ARGS'
  128 |     ASSERT_ARGS(Parrot_api_string_free_exported_wchar)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/strings.c:20:
src/embed/strings.c: In function 'Parrot_api_string_import':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/strings.c:154:5: note: in expansion of macro 'EMBED_API_CALLIN'
  154 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/strings.c:154:5: note: in expansion of macro 'EMBED_API_CALLIN'
  154 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/strings.c:22:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:490:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  490 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:153:5: note: in expansion of macro 'ASSERT_ARGS'
  153 |     ASSERT_ARGS(Parrot_api_string_import)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:491:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  491 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:153:5: note: in expansion of macro 'ASSERT_ARGS'
  153 |     ASSERT_ARGS(Parrot_api_string_import)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'out' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:492:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  492 |     , PARROT_ASSERT_ARG(out))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:153:5: note: in expansion of macro 'ASSERT_ARGS'
  153 |     ASSERT_ARGS(Parrot_api_string_import)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/strings.c:20:
src/embed/strings.c: In function 'Parrot_api_string_import_ascii':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/strings.c:178:5: note: in expansion of macro 'EMBED_API_CALLIN'
  178 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/strings.c:178:5: note: in expansion of macro 'EMBED_API_CALLIN'
  178 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/strings.c:22:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:495:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  495 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import_ascii'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:177:5: note: in expansion of macro 'ASSERT_ARGS'
  177 |     ASSERT_ARGS(Parrot_api_string_import_ascii)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:496:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  496 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import_ascii'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:177:5: note: in expansion of macro 'ASSERT_ARGS'
  177 |     ASSERT_ARGS(Parrot_api_string_import_ascii)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'out' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:497:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  497 |     , PARROT_ASSERT_ARG(out))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import_ascii'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:177:5: note: in expansion of macro 'ASSERT_ARGS'
  177 |     ASSERT_ARGS(Parrot_api_string_import_ascii)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/strings.c:20:
src/embed/strings.c: In function 'Parrot_api_string_import_wchar':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/strings.c:202:5: note: in expansion of macro 'EMBED_API_CALLIN'
  202 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/strings.c:202:5: note: in expansion of macro 'EMBED_API_CALLIN'
  202 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/strings.c:22:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:506:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  506 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import_wchar'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:201:5: note: in expansion of macro 'ASSERT_ARGS'
  201 |     ASSERT_ARGS(Parrot_api_string_import_wchar)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:507:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  507 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import_wchar'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:201:5: note: in expansion of macro 'ASSERT_ARGS'
  201 |     ASSERT_ARGS(Parrot_api_string_import_wchar)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'out' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:508:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  508 |     , PARROT_ASSERT_ARG(out))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import_wchar'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:201:5: note: in expansion of macro 'ASSERT_ARGS'
  201 |     ASSERT_ARGS(Parrot_api_string_import_wchar)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/strings.c:20:
src/embed/strings.c: In function 'Parrot_api_string_import_binary':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/strings.c:241:5: note: in expansion of macro 'EMBED_API_CALLIN'
  241 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/strings.c:241:5: note: in expansion of macro 'EMBED_API_CALLIN'
  241 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/strings.c:22:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:500:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  500 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import_binary'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:240:5: note: in expansion of macro 'ASSERT_ARGS'
  240 |     ASSERT_ARGS(Parrot_api_string_import_binary)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'bytes' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:501:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  501 |     , PARROT_ASSERT_ARG(bytes) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import_binary'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:240:5: note: in expansion of macro 'ASSERT_ARGS'
  240 |     ASSERT_ARGS(Parrot_api_string_import_binary)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'encoding_name' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:502:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  502 |     , PARROT_ASSERT_ARG(encoding_name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import_binary'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:240:5: note: in expansion of macro 'ASSERT_ARGS'
  240 |     ASSERT_ARGS(Parrot_api_string_import_binary)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'out' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:503:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  503 |     , PARROT_ASSERT_ARG(out))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_import_binary'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:240:5: note: in expansion of macro 'ASSERT_ARGS'
  240 |     ASSERT_ARGS(Parrot_api_string_import_binary)
      |     ^~~~~~~~~~~
src/embed/strings.c: In function 'Parrot_api_string_byte_length':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'len' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:470:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  470 |        PARROT_ASSERT_ARG(len))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_string_byte_length'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/strings.c:264:5: note: in expansion of macro 'ASSERT_ARGS'
  264 |     ASSERT_ARGS(Parrot_api_string_byte_length)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/embed/. -Isrc -o src/embed/pmc.o -c src/embed/pmc.c
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_new_from_class':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:45:5: note: in expansion of macro 'EMBED_API_CALLIN'
   45 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:45:5: note: in expansion of macro 'EMBED_API_CALLIN'
   45 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:826:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  826 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_new_from_class'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:44:5: note: in expansion of macro 'ASSERT_ARGS'
   44 |     ASSERT_ARGS(Parrot_api_pmc_new_from_class)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'class_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:827:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  827 |     , PARROT_ASSERT_ARG(class_pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_new_from_class'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:44:5: note: in expansion of macro 'ASSERT_ARGS'
   44 |     ASSERT_ARGS(Parrot_api_pmc_new_from_class)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:828:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  828 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_new_from_class'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:44:5: note: in expansion of macro 'ASSERT_ARGS'
   44 |     ASSERT_ARGS(Parrot_api_pmc_new_from_class)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_deserialize':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:70:5: note: in expansion of macro 'EMBED_API_CALLIN'
   70 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:70:5: note: in expansion of macro 'EMBED_API_CALLIN'
   70 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:779:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  779 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_deserialize'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:69:5: note: in expansion of macro 'ASSERT_ARGS'
   69 |     ASSERT_ARGS(Parrot_api_pmc_deserialize)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'fpmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:780:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  780 |     , PARROT_ASSERT_ARG(fpmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_deserialize'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:69:5: note: in expansion of macro 'ASSERT_ARGS'
   69 |     ASSERT_ARGS(Parrot_api_pmc_deserialize)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:781:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  781 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_deserialize'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:69:5: note: in expansion of macro 'ASSERT_ARGS'
   69 |     ASSERT_ARGS(Parrot_api_pmc_deserialize)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_deserialize_bytes':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:95:5: note: in expansion of macro 'EMBED_API_CALLIN'
   95 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:95:5: note: in expansion of macro 'EMBED_API_CALLIN'
   95 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:784:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  784 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_deserialize_bytes'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:94:5: note: in expansion of macro 'ASSERT_ARGS'
   94 |     ASSERT_ARGS(Parrot_api_pmc_deserialize_bytes)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'fpmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:785:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  785 |     , PARROT_ASSERT_ARG(fpmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_deserialize_bytes'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:94:5: note: in expansion of macro 'ASSERT_ARGS'
   94 |     ASSERT_ARGS(Parrot_api_pmc_deserialize_bytes)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:786:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  786 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_deserialize_bytes'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:94:5: note: in expansion of macro 'ASSERT_ARGS'
   94 |     ASSERT_ARGS(Parrot_api_pmc_deserialize_bytes)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_null':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:119:5: note: in expansion of macro 'EMBED_API_CALLIN'
  119 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:119:5: note: in expansion of macro 'EMBED_API_CALLIN'
  119 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:830:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  830 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_null'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:118:5: note: in expansion of macro 'ASSERT_ARGS'
  118 |     ASSERT_ARGS(Parrot_api_pmc_null)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmctonull' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:831:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  831 |     , PARROT_ASSERT_ARG(pmctonull))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_null'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:118:5: note: in expansion of macro 'ASSERT_ARGS'
  118 |     ASSERT_ARGS(Parrot_api_pmc_null)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_get_string':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:143:5: note: in expansion of macro 'EMBED_API_CALLIN'
  143 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:143:5: note: in expansion of macro 'EMBED_API_CALLIN'
  143 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:814:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  814 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:142:5: note: in expansion of macro 'ASSERT_ARGS'
  142 |     ASSERT_ARGS(Parrot_api_pmc_get_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:815:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  815 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:142:5: note: in expansion of macro 'ASSERT_ARGS'
  142 |     ASSERT_ARGS(Parrot_api_pmc_get_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:816:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  816 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:142:5: note: in expansion of macro 'ASSERT_ARGS'
  142 |     ASSERT_ARGS(Parrot_api_pmc_get_string)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_get_integer':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:167:5: note: in expansion of macro 'EMBED_API_CALLIN'
  167 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:167:5: note: in expansion of macro 'EMBED_API_CALLIN'
  167 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:798:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  798 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_integer'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:166:5: note: in expansion of macro 'ASSERT_ARGS'
  166 |     ASSERT_ARGS(Parrot_api_pmc_get_integer)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:799:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  799 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_integer'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:166:5: note: in expansion of macro 'ASSERT_ARGS'
  166 |     ASSERT_ARGS(Parrot_api_pmc_get_integer)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:800:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  800 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_integer'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:166:5: note: in expansion of macro 'ASSERT_ARGS'
  166 |     ASSERT_ARGS(Parrot_api_pmc_get_integer)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_get_float':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:191:5: note: in expansion of macro 'EMBED_API_CALLIN'
  191 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:191:5: note: in expansion of macro 'EMBED_API_CALLIN'
  191 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:794:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  794 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_float'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:190:5: note: in expansion of macro 'ASSERT_ARGS'
  190 |     ASSERT_ARGS(Parrot_api_pmc_get_float)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:795:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  795 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_float'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:190:5: note: in expansion of macro 'ASSERT_ARGS'
  190 |     ASSERT_ARGS(Parrot_api_pmc_get_float)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:796:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  796 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_float'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:190:5: note: in expansion of macro 'ASSERT_ARGS'
  190 |     ASSERT_ARGS(Parrot_api_pmc_get_float)
      |     ^~~~~~~~~~~
src/embed/pmc.c: In function 'Parrot_api_pmc_get_keyed':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:802:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  802 |        PARROT_ASSERT_ARG(value))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_keyed'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:213:5: note: in expansion of macro 'ASSERT_ARGS'
  213 |     ASSERT_ARGS(Parrot_api_pmc_get_keyed)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_get_keyed_int':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:238:5: note: in expansion of macro 'EMBED_API_CALLIN'
  238 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:238:5: note: in expansion of macro 'EMBED_API_CALLIN'
  238 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:804:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  804 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_keyed_int'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:237:5: note: in expansion of macro 'ASSERT_ARGS'
  237 |     ASSERT_ARGS(Parrot_api_pmc_get_keyed_int)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:805:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  805 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_keyed_int'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:237:5: note: in expansion of macro 'ASSERT_ARGS'
  237 |     ASSERT_ARGS(Parrot_api_pmc_get_keyed_int)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:806:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  806 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_keyed_int'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:237:5: note: in expansion of macro 'ASSERT_ARGS'
  237 |     ASSERT_ARGS(Parrot_api_pmc_get_keyed_int)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_get_keyed_string':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:262:5: note: in expansion of macro 'EMBED_API_CALLIN'
  262 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:262:5: note: in expansion of macro 'EMBED_API_CALLIN'
  262 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:809:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  809 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_keyed_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:261:5: note: in expansion of macro 'ASSERT_ARGS'
  261 |     ASSERT_ARGS(Parrot_api_pmc_get_keyed_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:810:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  810 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_keyed_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:261:5: note: in expansion of macro 'ASSERT_ARGS'
  261 |     ASSERT_ARGS(Parrot_api_pmc_get_keyed_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:811:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  811 |     , PARROT_ASSERT_ARG(key) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_keyed_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:261:5: note: in expansion of macro 'ASSERT_ARGS'
  261 |     ASSERT_ARGS(Parrot_api_pmc_get_keyed_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:812:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  812 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_keyed_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:261:5: note: in expansion of macro 'ASSERT_ARGS'
  261 |     ASSERT_ARGS(Parrot_api_pmc_get_keyed_string)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_set_string':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:285:5: note: in expansion of macro 'EMBED_API_CALLIN'
  285 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:285:5: note: in expansion of macro 'EMBED_API_CALLIN'
  285 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:853:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  853 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:284:5: note: in expansion of macro 'ASSERT_ARGS'
  284 |     ASSERT_ARGS(Parrot_api_pmc_set_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:854:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  854 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:284:5: note: in expansion of macro 'ASSERT_ARGS'
  284 |     ASSERT_ARGS(Parrot_api_pmc_set_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:855:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  855 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:284:5: note: in expansion of macro 'ASSERT_ARGS'
  284 |     ASSERT_ARGS(Parrot_api_pmc_set_string)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_set_integer':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:308:5: note: in expansion of macro 'EMBED_API_CALLIN'
  308 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:308:5: note: in expansion of macro 'EMBED_API_CALLIN'
  308 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:839:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  839 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_integer'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:307:5: note: in expansion of macro 'ASSERT_ARGS'
  307 |     ASSERT_ARGS(Parrot_api_pmc_set_integer)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:840:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  840 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_integer'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:307:5: note: in expansion of macro 'ASSERT_ARGS'
  307 |     ASSERT_ARGS(Parrot_api_pmc_set_integer)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_set_float':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:331:5: note: in expansion of macro 'EMBED_API_CALLIN'
  331 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:331:5: note: in expansion of macro 'EMBED_API_CALLIN'
  331 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:836:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  836 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_float'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:330:5: note: in expansion of macro 'ASSERT_ARGS'
  330 |     ASSERT_ARGS(Parrot_api_pmc_set_float)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:837:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  837 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_float'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:330:5: note: in expansion of macro 'ASSERT_ARGS'
  330 |     ASSERT_ARGS(Parrot_api_pmc_set_float)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_set_keyed_int':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:378:5: note: in expansion of macro 'EMBED_API_CALLIN'
  378 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:378:5: note: in expansion of macro 'EMBED_API_CALLIN'
  378 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:843:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  843 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_keyed_int'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:377:5: note: in expansion of macro 'ASSERT_ARGS'
  377 |     ASSERT_ARGS(Parrot_api_pmc_set_keyed_int)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:844:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  844 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_keyed_int'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:377:5: note: in expansion of macro 'ASSERT_ARGS'
  377 |     ASSERT_ARGS(Parrot_api_pmc_set_keyed_int)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:845:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  845 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_keyed_int'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:377:5: note: in expansion of macro 'ASSERT_ARGS'
  377 |     ASSERT_ARGS(Parrot_api_pmc_set_keyed_int)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_set_keyed_string':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:402:5: note: in expansion of macro 'EMBED_API_CALLIN'
  402 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:402:5: note: in expansion of macro 'EMBED_API_CALLIN'
  402 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:848:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  848 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_keyed_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:401:5: note: in expansion of macro 'ASSERT_ARGS'
  401 |     ASSERT_ARGS(Parrot_api_pmc_set_keyed_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:849:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  849 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_keyed_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:401:5: note: in expansion of macro 'ASSERT_ARGS'
  401 |     ASSERT_ARGS(Parrot_api_pmc_set_keyed_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:850:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  850 |     , PARROT_ASSERT_ARG(key) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_keyed_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:401:5: note: in expansion of macro 'ASSERT_ARGS'
  401 |     ASSERT_ARGS(Parrot_api_pmc_set_keyed_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:851:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  851 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_set_keyed_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:401:5: note: in expansion of macro 'ASSERT_ARGS'
  401 |     ASSERT_ARGS(Parrot_api_pmc_set_keyed_string)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_box_string':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:426:5: note: in expansion of macro 'EMBED_API_CALLIN'
  426 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:426:5: note: in expansion of macro 'EMBED_API_CALLIN'
  426 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:775:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  775 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_box_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:425:5: note: in expansion of macro 'ASSERT_ARGS'
  425 |     ASSERT_ARGS(Parrot_api_pmc_box_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:776:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  776 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_box_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:425:5: note: in expansion of macro 'ASSERT_ARGS'
  425 |     ASSERT_ARGS(Parrot_api_pmc_box_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'str_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:777:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  777 |     , PARROT_ASSERT_ARG(str_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_box_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:425:5: note: in expansion of macro 'ASSERT_ARGS'
  425 |     ASSERT_ARGS(Parrot_api_pmc_box_string)
      |     ^~~~~~~~~~~
src/embed/pmc.c: In function 'Parrot_api_pmc_box_integer':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'int_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:773:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  773 |        PARROT_ASSERT_ARG(int_pmc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_box_integer'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:449:5: note: in expansion of macro 'ASSERT_ARGS'
  449 |     ASSERT_ARGS(Parrot_api_pmc_box_integer)
      |     ^~~~~~~~~~~
src/embed/pmc.c: In function 'Parrot_api_pmc_box_float':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'float_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:771:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  771 |        PARROT_ASSERT_ARG(float_pmc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_box_float'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:473:5: note: in expansion of macro 'ASSERT_ARGS'
  473 |     ASSERT_ARGS(Parrot_api_pmc_box_float)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_invoke':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:541:5: note: in expansion of macro 'EMBED_API_CALLIN'
  541 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:541:5: note: in expansion of macro 'EMBED_API_CALLIN'
  541 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:818:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  818 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_invoke'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:540:5: note: in expansion of macro 'ASSERT_ARGS'
  540 |     ASSERT_ARGS(Parrot_api_pmc_invoke)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'sub' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:819:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  819 |     , PARROT_ASSERT_ARG(sub) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_invoke'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:540:5: note: in expansion of macro 'ASSERT_ARGS'
  540 |     ASSERT_ARGS(Parrot_api_pmc_invoke)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:820:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  820 |     , PARROT_ASSERT_ARG(signature))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_invoke'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:540:5: note: in expansion of macro 'ASSERT_ARGS'
  540 |     ASSERT_ARGS(Parrot_api_pmc_invoke)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_wrap_string_array':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:568:5: note: in expansion of macro 'EMBED_API_CALLIN'
  568 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:568:5: note: in expansion of macro 'EMBED_API_CALLIN'
  568 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:861:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  861 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_wrap_string_array'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:567:5: note: in expansion of macro 'ASSERT_ARGS'
  567 |     ASSERT_ARGS(Parrot_api_pmc_wrap_string_array)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'argv' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:862:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  862 |     , PARROT_ASSERT_ARG(argv) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_wrap_string_array'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:567:5: note: in expansion of macro 'ASSERT_ARGS'
  567 |     ASSERT_ARGS(Parrot_api_pmc_wrap_string_array)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:863:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  863 |     , PARROT_ASSERT_ARG(args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_wrap_string_array'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:567:5: note: in expansion of macro 'ASSERT_ARGS'
  567 |     ASSERT_ARGS(Parrot_api_pmc_wrap_string_array)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/embed/pmc.c:20:
src/embed/pmc.c: In function 'Parrot_api_pmc_get_class':
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:20:35: note: in expansion of macro 'GET_INTERP'
   20 |         Interp * const __interp = GET_INTERP(p); \
      |                                   ^~~~~~~~~~
src/embed/pmc.c:592:5: note: in expansion of macro 'EMBED_API_CALLIN'
  592 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/embed/embed_private.h:15:24: note: in expansion of macro 'PMC_IS_NULL'
   15 | #define GET_INTERP(p) (PMC_IS_NULL(p) ? NULL : GET_RAW_INTERP(p))
      |                        ^~~~~~~~~~~
src/embed/embed_private.h:25:30: note: in expansion of macro 'GET_INTERP'
   25 |         Interp * const (i) = GET_INTERP(p);      \
      |                              ^~~~~~~~~~
src/embed/pmc.c:592:5: note: in expansion of macro 'EMBED_API_CALLIN'
  592 |     EMBED_API_CALLIN(interp_pmc, interp)
      |     ^~~~~~~~~~~~~~~~
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:790:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  790 |        PARROT_ASSERT_ARG(interp_pmc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_class'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:591:5: note: in expansion of macro 'ASSERT_ARGS'
  591 |     ASSERT_ARGS(Parrot_api_pmc_get_class)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:791:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  791 |     , PARROT_ASSERT_ARG(key) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_class'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:591:5: note: in expansion of macro 'ASSERT_ARGS'
  591 |     ASSERT_ARGS(Parrot_api_pmc_get_class)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'class_pmc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/api.h:792:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  792 |     , PARROT_ASSERT_ARG(class_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_get_class'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:591:5: note: in expansion of macro 'ASSERT_ARGS'
  591 |     ASSERT_ARGS(Parrot_api_pmc_get_class)
      |     ^~~~~~~~~~~
src/embed/pmc.c: In function 'Parrot_api_pmc_find_method':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'method' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:788:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  788 |        PARROT_ASSERT_ARG(method))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_find_method'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:613:5: note: in expansion of macro 'ASSERT_ARGS'
  613 |     ASSERT_ARGS(Parrot_api_pmc_find_method)
      |     ^~~~~~~~~~~
src/embed/pmc.c: In function 'Parrot_api_pmc_serialize':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'frozen' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:834:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  834 |        PARROT_ASSERT_ARG(frozen))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_serialize'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:635:5: note: in expansion of macro 'ASSERT_ARGS'
  635 |     ASSERT_ARGS(Parrot_api_pmc_serialize)
      |     ^~~~~~~~~~~
src/embed/pmc.c: In function 'Parrot_api_pmc_new_call_object':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'cc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:824:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  824 |        PARROT_ASSERT_ARG(cc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_new_call_object'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:684:5: note: in expansion of macro 'ASSERT_ARGS'
  684 |     ASSERT_ARGS(Parrot_api_pmc_new_call_object)
      |     ^~~~~~~~~~~
src/embed/pmc.c: In function 'Parrot_api_pmc_setup_signature':
src/embed/pmc.c:715:8: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
  715 |     if (!signature)
      |        ^
In file included from src/embed/pmc.c:21:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/api.h:858:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  858 |        PARROT_ASSERT_ARG(signature))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_api_pmc_setup_signature'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/embed/pmc.c:707:5: note: in expansion of macro 'ASSERT_ARGS'
  707 |     ASSERT_ARGS(Parrot_api_pmc_setup_signature)
      |     ^~~~~~~~~~~
src/embed/pmc.c:704:1: warning: stack usage is 608 bytes [-Wstack-usage=]
  704 | Parrot_api_pmc_setup_signature(Parrot_PMC interp_pmc, Parrot_PMC callcontext,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/. -Isrc -o src/string/encoding.o -c src/string/encoding.c
In file included from ./include/parrot/parrot.h:261,
                 from ./include/parrot/encoding.h:14,
                 from src/string/encoding.c:18:
src/string/encoding.c: In function 'Parrot_deinit_encodings':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/encoding.h:162:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  162 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_deinit_encodings'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:72:5: note: in expansion of macro 'ASSERT_ARGS'
   72 |     ASSERT_ARGS(Parrot_deinit_encodings)
      |     ^~~~~~~~~~~
src/string/encoding.c: In function 'Parrot_new_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/encoding.h:157:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  157 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_new_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:95:5: note: in expansion of macro 'ASSERT_ARGS'
   95 |     ASSERT_ARGS(Parrot_new_encoding)
      |     ^~~~~~~~~~~
src/string/encoding.c: In function 'find_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding.c:53:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   53 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:116:5: note: in expansion of macro 'ASSERT_ARGS'
  116 |     ASSERT_ARGS(find_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encodingname' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding.c:54:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   54 |     , PARROT_ASSERT_ARG(encodingname))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:116:5: note: in expansion of macro 'ASSERT_ARGS'
  116 |     ASSERT_ARGS(find_encoding)
      |     ^~~~~~~~~~~
src/string/encoding.c: In function 'Parrot_find_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encodingname' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/encoding.h:145:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |        PARROT_ASSERT_ARG(encodingname))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_find_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:156:5: note: in expansion of macro 'ASSERT_ARGS'
  156 |     ASSERT_ARGS(Parrot_find_encoding)
      |     ^~~~~~~~~~~
src/string/encoding.c: In function 'Parrot_find_encoding_by_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/encoding.h:148:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  148 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_find_encoding_by_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:198:5: note: in expansion of macro 'ASSERT_ARGS'
  198 |     ASSERT_ARGS(Parrot_find_encoding_by_string)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from ./include/parrot/encoding.h:14,
                 from src/string/encoding.c:18:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 'encodingname' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/string/encoding.c:200:9: note: in expansion of macro 'STRING_IS_NULL'
  200 |     if (STRING_IS_NULL(encodingname))
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from ./include/parrot/encoding.h:14,
                 from src/string/encoding.c:18:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encodingname' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/encoding.h:149:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  149 |     , PARROT_ASSERT_ARG(encodingname))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_find_encoding_by_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:198:5: note: in expansion of macro 'ASSERT_ARGS'
  198 |     ASSERT_ARGS(Parrot_find_encoding_by_string)
      |     ^~~~~~~~~~~
src/string/encoding.c: In function 'Parrot_load_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/encoding.h:152:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_load_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:238:5: note: in expansion of macro 'ASSERT_ARGS'
  238 |     ASSERT_ARGS(Parrot_load_encoding)
      |     ^~~~~~~~~~~
src/string/encoding.c: In function 'Parrot_encoding_number':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/encoding.h:138:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  138 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_encoding_number'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:260:5: note: in expansion of macro 'ASSERT_ARGS'
  260 |     ASSERT_ARGS(Parrot_encoding_number)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encodingname' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/encoding.h:139:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  139 |     , PARROT_ASSERT_ARG(encodingname))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_encoding_number'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:260:5: note: in expansion of macro 'ASSERT_ARGS'
  260 |     ASSERT_ARGS(Parrot_encoding_number)
      |     ^~~~~~~~~~~
src/string/encoding.c: In function 'Parrot_encoding_number_of_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/encoding.h:141:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  141 |        PARROT_ASSERT_ARG(src))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_encoding_number_of_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:283:5: note: in expansion of macro 'ASSERT_ARGS'
  283 |     ASSERT_ARGS(Parrot_encoding_number_of_str)
      |     ^~~~~~~~~~~
src/string/encoding.c: In function 'Parrot_str_internal_register_encoding_names':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/encoding.h:169:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  169 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_internal_register_encoding_names'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:382:5: note: in expansion of macro 'ASSERT_ARGS'
  382 |     ASSERT_ARGS(Parrot_str_internal_register_encoding_names)
      |     ^~~~~~~~~~~
src/string/encoding.c: In function 'Parrot_register_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/encoding.h:159:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  159 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_register_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:408:5: note: in expansion of macro 'ASSERT_ARGS'
  408 |     ASSERT_ARGS(Parrot_register_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encoding' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/encoding.h:160:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  160 |     , PARROT_ASSERT_ARG(encoding))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_register_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:408:5: note: in expansion of macro 'ASSERT_ARGS'
  408 |     ASSERT_ARGS(Parrot_register_encoding)
      |     ^~~~~~~~~~~
src/string/encoding.c: In function 'Parrot_encodings_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/encoding.h:143:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  143 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_encodings_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:444:5: note: in expansion of macro 'ASSERT_ARGS'
  444 |     ASSERT_ARGS(Parrot_encodings_init)
      |     ^~~~~~~~~~~
src/string/encoding.c: In function 'Parrot_make_default_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encodingname_unused' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/encoding.h:154:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  154 |        PARROT_ASSERT_ARG(encodingname_unused) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_make_default_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:478:5: note: in expansion of macro 'ASSERT_ARGS'
  478 |     ASSERT_ARGS(Parrot_make_default_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encoding' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/encoding.h:155:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  155 |     , PARROT_ASSERT_ARG(encoding))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_make_default_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:478:5: note: in expansion of macro 'ASSERT_ARGS'
  478 |     ASSERT_ARGS(Parrot_make_default_encoding)
      |     ^~~~~~~~~~~
src/string/encoding.c: In function 'Parrot_str_internal_find_codepoint':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/encoding.h:165:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_internal_find_codepoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:526:5: note: in expansion of macro 'ASSERT_ARGS'
  526 |     ASSERT_ARGS(Parrot_str_internal_find_codepoint)
      |     ^~~~~~~~~~~
src/string/encoding.c:542:15: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  542 |             = Parrot_namealias_lookup(cstr, STRING_byte_length(name));
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from ./include/parrot/encoding.h:14,
                 from src/string/encoding.c:18:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/encoding.h:166:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  166 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_str_internal_find_codepoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding.c:526:5: note: in expansion of macro 'ASSERT_ARGS'
  526 |     ASSERT_ARGS(Parrot_str_internal_find_codepoint)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/exceptions.o -c src/exceptions.c
In file included from ./include/parrot/parrot.h:261,
                 from src/exceptions.c:20:
src/exceptions.c: In function 'Parrot_confess':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cond' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:241:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  241 |        PARROT_ASSERT_ARG(cond) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_confess'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:645:5: note: in expansion of macro 'ASSERT_ARGS'
  645 |     ASSERT_ARGS(Parrot_confess)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'file' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:242:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  242 |     , PARROT_ASSERT_ARG(file))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_confess'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:645:5: note: in expansion of macro 'ASSERT_ARGS'
  645 |     ASSERT_ARGS(Parrot_confess)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_build_exception':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/exceptions.h:247:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  247 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_build_exception'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:92:5: note: in expansion of macro 'ASSERT_ARGS'
   92 |     ASSERT_ARGS(Parrot_ex_build_exception)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'die_from_exception':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:275:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  275 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_die_from_exception'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:119:5: note: in expansion of macro 'ASSERT_ARGS'
  119 |     ASSERT_ARGS(die_from_exception)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'exception' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:276:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  276 |     , PARROT_ASSERT_ARG(exception))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_die_from_exception'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:119:5: note: in expansion of macro 'ASSERT_ARGS'
  119 |     ASSERT_ARGS(die_from_exception)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_add_c_handler':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:244:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  244 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_add_c_handler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:184:5: note: in expansion of macro 'ASSERT_ARGS'
  184 |     ASSERT_ARGS(Parrot_ex_add_c_handler)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'jp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:245:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  245 |     , PARROT_ASSERT_ARG(jp))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_add_c_handler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:184:5: note: in expansion of macro 'ASSERT_ARGS'
  184 |     ASSERT_ARGS(Parrot_ex_add_c_handler)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'setup_exception_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/exceptions.c:69:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   69 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_setup_exception_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:272:5: note: in expansion of macro 'ASSERT_ARGS'
  272 |     ASSERT_ARGS(setup_exception_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/exceptions.c:70:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   70 |     , PARROT_ASSERT_ARG(sig))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_setup_exception_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:272:5: note: in expansion of macro 'ASSERT_ARGS'
  272 |     ASSERT_ARGS(setup_exception_args)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_throw_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:269:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  269 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_throw_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:212:5: note: in expansion of macro 'ASSERT_ARGS'
  212 |     ASSERT_ARGS(Parrot_ex_throw_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'exception' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:270:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  270 |     , PARROT_ASSERT_ARG(exception))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_throw_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:212:5: note: in expansion of macro 'ASSERT_ARGS'
  212 |     ASSERT_ARGS(Parrot_ex_throw_from_op)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'build_exception_from_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/exceptions.c:63:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   63 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_exception_from_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:304:5: note: in expansion of macro 'ASSERT_ARGS'
  304 |     ASSERT_ARGS(build_exception_from_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'format' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/exceptions.c:64:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   64 |     , PARROT_ASSERT_ARG(format))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_exception_from_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:304:5: note: in expansion of macro 'ASSERT_ARGS'
  304 |     ASSERT_ARGS(build_exception_from_args)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'build_exception':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/exceptions.c:60:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   60 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_exception'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:333:5: note: in expansion of macro 'ASSERT_ARGS'
  333 |     ASSERT_ARGS(build_exception)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'msg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/exceptions.c:61:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   61 |     , PARROT_ASSERT_ARG(msg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_exception'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:333:5: note: in expansion of macro 'ASSERT_ARGS'
  333 |     ASSERT_ARGS(build_exception)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_throw_from_c':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:260:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  260 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_throw_from_c'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:372:5: note: in expansion of macro 'ASSERT_ARGS'
  372 |     ASSERT_ARGS(Parrot_ex_throw_from_c)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'exception' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:261:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  261 |     , PARROT_ASSERT_ARG(exception))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_throw_from_c'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:372:5: note: in expansion of macro 'ASSERT_ARGS'
  372 |     ASSERT_ARGS(Parrot_ex_throw_from_c)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_throw_from_op_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:272:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  272 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_throw_from_op_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:433:5: note: in expansion of macro 'ASSERT_ARGS'
  433 |     ASSERT_ARGS(Parrot_ex_throw_from_op_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'format' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:273:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  273 |     , PARROT_ASSERT_ARG(format))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_throw_from_op_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:433:5: note: in expansion of macro 'ASSERT_ARGS'
  433 |     ASSERT_ARGS(Parrot_ex_throw_from_op_args)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_throw_from_c_noargs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:266:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  266 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_throw_from_c_noargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:465:5: note: in expansion of macro 'ASSERT_ARGS'
  465 |     ASSERT_ARGS(Parrot_ex_throw_from_c_noargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'msg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:267:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  267 |     , PARROT_ASSERT_ARG(msg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_throw_from_c_noargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:465:5: note: in expansion of macro 'ASSERT_ARGS'
  465 |     ASSERT_ARGS(Parrot_ex_throw_from_c_noargs)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_throw_from_c_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:263:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  263 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_throw_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:494:5: note: in expansion of macro 'ASSERT_ARGS'
  494 |     ASSERT_ARGS(Parrot_ex_throw_from_c_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'format' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:264:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  264 |     , PARROT_ASSERT_ARG(format))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_throw_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:494:5: note: in expansion of macro 'ASSERT_ARGS'
  494 |     ASSERT_ARGS(Parrot_ex_throw_from_c_args)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_mark_unhandled':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:251:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  251 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_mark_unhandled'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:564:5: note: in expansion of macro 'ASSERT_ARGS'
  564 |     ASSERT_ARGS(Parrot_ex_mark_unhandled)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'exception' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:252:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  252 |     , PARROT_ASSERT_ARG(exception))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_mark_unhandled'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:564:5: note: in expansion of macro 'ASSERT_ARGS'
  564 |     ASSERT_ARGS(Parrot_ex_mark_unhandled)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_get_current_handler':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                           ^
./include/parrot/exceptions.h:249:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  249 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_get_current_handler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:588:5: note: in expansion of macro 'ASSERT_ARGS'
  588 |     ASSERT_ARGS(Parrot_ex_get_current_handler)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_assert':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'condition_string' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:238:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  238 |        PARROT_ASSERT_ARG(condition_string) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_assert'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:623:5: note: in expansion of macro 'ASSERT_ARGS'
  623 |     ASSERT_ARGS(Parrot_assert)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'file' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:239:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  239 |     , PARROT_ASSERT_ARG(file))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_assert'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:623:5: note: in expansion of macro 'ASSERT_ARGS'
  623 |     ASSERT_ARGS(Parrot_assert)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_update_for_rethrow':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/exceptions.c:66:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   66 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_update_for_rethrow'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:733:5: note: in expansion of macro 'ASSERT_ARGS'
  733 |     ASSERT_ARGS(Parrot_ex_update_for_rethrow)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ex' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/exceptions.c:67:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   67 |     , PARROT_ASSERT_ARG(ex))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_update_for_rethrow'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:733:5: note: in expansion of macro 'ASSERT_ARGS'
  733 |     ASSERT_ARGS(Parrot_ex_update_for_rethrow)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_rethrow_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:257:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  257 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_rethrow_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:523:5: note: in expansion of macro 'ASSERT_ARGS'
  523 |     ASSERT_ARGS(Parrot_ex_rethrow_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'exception' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:258:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  258 |     , PARROT_ASSERT_ARG(exception))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_rethrow_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:523:5: note: in expansion of macro 'ASSERT_ARGS'
  523 |     ASSERT_ARGS(Parrot_ex_rethrow_from_op)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_rethrow_from_c':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:254:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  254 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_rethrow_from_c'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:545:5: note: in expansion of macro 'ASSERT_ARGS'
  545 |     ASSERT_ARGS(Parrot_ex_rethrow_from_c)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'exception' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:255:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  255 |     , PARROT_ASSERT_ARG(exception))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_rethrow_from_c'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:545:5: note: in expansion of macro 'ASSERT_ARGS'
  545 |     ASSERT_ARGS(Parrot_ex_rethrow_from_c)
      |     ^~~~~~~~~~~
src/exceptions.c: In function 'Parrot_ex_build_complete_backtrace_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:279:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  279 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_build_complete_backtrace_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:763:5: note: in expansion of macro 'ASSERT_ARGS'
  763 |     ASSERT_ARGS(Parrot_ex_build_complete_backtrace_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ex' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:280:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  280 |     , PARROT_ASSERT_ARG(ex))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ex_build_complete_backtrace_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exceptions.c:763:5: note: in expansion of macro 'ASSERT_ARGS'
  763 |     ASSERT_ARGS(Parrot_ex_build_complete_backtrace_string)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden \
  -Isrc/. -o src/exit.o -c src/exit.c
In file included from ./include/parrot/parrot.h:261,
                 from src/exit.c:24:
src/exit.c: In function 'Parrot_x_on_exit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exit.h:92:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   92 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_x_on_exit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exit.c:43:5: note: in expansion of macro 'ASSERT_ARGS'
   43 |     ASSERT_ARGS(Parrot_x_on_exit)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'function' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/exit.h:93:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   93 |     , PARROT_ASSERT_ARG(function))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_x_on_exit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exit.c:43:5: note: in expansion of macro 'ASSERT_ARGS'
   43 |     ASSERT_ARGS(Parrot_x_on_exit)
      |     ^~~~~~~~~~~
src/exit.c: In function 'Parrot_x_execute_on_exit_handlers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/exit.h:97:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   97 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_x_execute_on_exit_handlers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exit.c:118:5: note: in expansion of macro 'ASSERT_ARGS'
  118 |     ASSERT_ARGS(Parrot_x_execute_on_exit_handlers)
      |     ^~~~~~~~~~~
src/exit.c: In function 'Parrot_x_exit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/exit.h:89:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   89 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_x_exit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exit.c:97:5: note: in expansion of macro 'ASSERT_ARGS'
   97 |     ASSERT_ARGS(Parrot_x_exit)
      |     ^~~~~~~~~~~
src/exit.c: In function 'Parrot_x_force_error_exit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'format' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/exit.h:99:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   99 |        PARROT_ASSERT_ARG(format))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_x_force_error_exit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/exit.c:165:5: note: in expansion of macro 'ASSERT_ARGS'
  165 |     ASSERT_ARGS(Parrot_x_force_error_exit)
      |     ^~~~~~~~~~~
/usr/bin/perl5.34.0 tools/build/vtable_extend.pl
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/extend.o -c src/extend.c
In file included from ./include/parrot/parrot.h:261,
                 from src/extend.c:68:
src/extend.c: In function 'Parrot_PMC_typenum':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/extend.h:93:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   93 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_PMC_typenum'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/extend.c:106:5: note: in expansion of macro 'ASSERT_ARGS'
  106 |     ASSERT_ARGS(Parrot_PMC_typenum)
      |     ^~~~~~~~~~~
src/extend.c: In function 'Parrot_ext_call':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/extend.h:87:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   87 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ext_call'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/extend.c:147:5: note: in expansion of macro 'ASSERT_ARGS'
  147 |     ASSERT_ARGS(Parrot_ext_call)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/extend.h:88:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   88 |     , PARROT_ASSERT_ARG(sub_pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ext_call'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/extend.c:147:5: note: in expansion of macro 'ASSERT_ARGS'
  147 |     ASSERT_ARGS(Parrot_ext_call)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/extend.h:89:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   89 |     , PARROT_ASSERT_ARG(signature))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ext_call'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/extend.c:147:5: note: in expansion of macro 'ASSERT_ARGS'
  147 |     ASSERT_ARGS(Parrot_ext_call)
      |     ^~~~~~~~~~~
src/extend.c: In function 'restore_context':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/extend.c:83:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   83 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_restore_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/extend.c:187:5: note: in expansion of macro 'ASSERT_ARGS'
  187 |     ASSERT_ARGS(restore_context)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'initialctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/extend.c:84:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |     , PARROT_ASSERT_ARG(initialctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_restore_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/extend.c:187:5: note: in expansion of macro 'ASSERT_ARGS'
  187 |     ASSERT_ARGS(restore_context)
      |     ^~~~~~~~~~~
src/extend.c: In function 'Parrot_ext_try':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/extend.h:91:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   91 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ext_try'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/extend.c:220:5: note: in expansion of macro 'ASSERT_ARGS'
  220 |     ASSERT_ARGS(Parrot_ext_try)
      |     ^~~~~~~~~~~
src/extend.c: In function 'Parrot_compile_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/extend.h:83:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   83 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_compile_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/extend.c:259:5: note: in expansion of macro 'ASSERT_ARGS'
  259 |     ASSERT_ARGS(Parrot_compile_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'code' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/extend.h:84:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |     , PARROT_ASSERT_ARG(code) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_compile_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/extend.c:259:5: note: in expansion of macro 'ASSERT_ARGS'
  259 |     ASSERT_ARGS(Parrot_compile_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'error' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/extend.h:85:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   85 |     , PARROT_ASSERT_ARG(error))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_compile_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/extend.c:259:5: note: in expansion of macro 'ASSERT_ARGS'
  259 |     ASSERT_ARGS(Parrot_compile_string)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/extend_vtable.o -c src/extend_vtable.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/alarm.o -c src/alarm.c
In file included from ./include/parrot/parrot.h:261,
                 from src/alarm.c:16:
src/alarm.c: In function 'Parrot_alarm_check':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'last_serial' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/alarm.h:25:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   25 |        PARROT_ASSERT_ARG(last_serial))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_alarm_check'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/alarm.c:155:5: note: in expansion of macro 'ASSERT_ARGS'
  155 |     ASSERT_ARGS(Parrot_alarm_check)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/gc/. -Isrc -o src/gc/alloc_memory.o -c src/gc/alloc_memory.c
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/alloc_memory.c:23:
src/gc/alloc_memory.c: In function 'panic_zero_byte_allocation':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'func' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/alloc_memory.c:52:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   52 |        PARROT_ASSERT_ARG(func))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_panic_zero_byte_allocation'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_memory.c:287:5: note: in expansion of macro 'ASSERT_ARGS'
  287 |     ASSERT_ARGS(panic_zero_byte_allocation)
      |     ^~~~~~~~~~~
src/gc/alloc_memory.c: In function 'mem_sys_strndup':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/memory.h:123:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  123 |        PARROT_ASSERT_ARG(src))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mem_sys_strndup'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_memory.c:217:5: note: in expansion of macro 'ASSERT_ARGS'
  217 |     ASSERT_ARGS(mem_sys_strndup)
      |     ^~~~~~~~~~~
src/gc/alloc_memory.c: In function 'mem_sys_strdup':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/memory.h:121:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  121 |        PARROT_ASSERT_ARG(src))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mem_sys_strdup'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_memory.c:242:5: note: in expansion of macro 'ASSERT_ARGS'
  242 |     ASSERT_ARGS(mem_sys_strdup)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/gc/. -Isrc -o src/gc/alloc_resources.o -c src/gc/alloc_resources.c
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/alloc_resources.c:21:
src/gc/alloc_resources.c: In function 'merge_pools':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:595:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  595 |        PARROT_ASSERT_ARG(dest) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_merge_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:210:5: note: in expansion of macro 'ASSERT_ARGS'
  210 |     ASSERT_ARGS(merge_pools)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'source' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:596:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  596 |     , PARROT_ASSERT_ARG(source))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_merge_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:210:5: note: in expansion of macro 'ASSERT_ARGS'
  210 |     ASSERT_ARGS(merge_pools)
      |     ^~~~~~~~~~~
src/gc/alloc_resources.c: In function 'check_fixed_size_obj_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/alloc_resources.c:105:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  105 |        PARROT_ASSERT_ARG(pool))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_fixed_size_obj_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:284:5: note: in expansion of macro 'ASSERT_ARGS'
  284 |     ASSERT_ARGS(check_fixed_size_obj_pool)
      |     ^~~~~~~~~~~
src/gc/alloc_resources.c: In function 'check_var_size_obj_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/alloc_resources.c:109:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  109 |        PARROT_ASSERT_ARG(pool))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_var_size_obj_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:361:5: note: in expansion of macro 'ASSERT_ARGS'
  361 |     ASSERT_ARGS(check_var_size_obj_pool)
      |     ^~~~~~~~~~~
src/gc/alloc_resources.c: In function 'check_memory_system':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/alloc_resources.c:107:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |        PARROT_ASSERT_ARG(mem_pools))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_memory_system'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:253:5: note: in expansion of macro 'ASSERT_ARGS'
  253 |     ASSERT_ARGS(check_memory_system)
      |     ^~~~~~~~~~~
src/gc/alloc_resources.c: In function 'check_buffer_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pobj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:592:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  592 |        PARROT_ASSERT_ARG(pobj) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_buffer_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:401:5: note: in expansion of macro 'ASSERT_ARGS'
  401 |     ASSERT_ARGS(check_buffer_ptr)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:593:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  593 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_buffer_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:401:5: note: in expansion of macro 'ASSERT_ARGS'
  401 |     ASSERT_ARGS(check_buffer_ptr)
      |     ^~~~~~~~~~~
src/gc/alloc_resources.c: In function 'Parrot_gc_destroy_header_pools':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:599:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  599 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_destroy_header_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:461:5: note: in expansion of macro 'ASSERT_ARGS'
  461 |     ASSERT_ARGS(Parrot_gc_destroy_header_pools)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:600:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  600 |     , PARROT_ASSERT_ARG(mem_pools))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_destroy_header_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:461:5: note: in expansion of macro 'ASSERT_ARGS'
  461 |     ASSERT_ARGS(Parrot_gc_destroy_header_pools)
      |     ^~~~~~~~~~~
src/gc/alloc_resources.c: In function 'sweep_cb_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:126:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  126 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sweep_cb_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:524:5: note: in expansion of macro 'ASSERT_ARGS'
  524 |     ASSERT_ARGS(sweep_cb_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:127:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  127 |     , PARROT_ASSERT_ARG(mem_pools) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sweep_cb_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:524:5: note: in expansion of macro 'ASSERT_ARGS'
  524 |     ASSERT_ARGS(sweep_cb_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:128:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  128 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sweep_cb_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:524:5: note: in expansion of macro 'ASSERT_ARGS'
  524 |     ASSERT_ARGS(sweep_cb_pmc)
      |     ^~~~~~~~~~~
src/gc/alloc_resources.c: In function 'sweep_cb_buf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:123:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  123 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sweep_cb_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:549:5: note: in expansion of macro 'ASSERT_ARGS'
  549 |     ASSERT_ARGS(sweep_cb_buf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:124:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  124 |     , PARROT_ASSERT_ARG(mem_pools))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sweep_cb_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:549:5: note: in expansion of macro 'ASSERT_ARGS'
  549 |     ASSERT_ARGS(sweep_cb_buf)
      |     ^~~~~~~~~~~
src/gc/alloc_resources.c: In function 'Parrot_gc_merge_buffer_pools':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:118:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  118 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_merge_buffer_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:658:5: note: in expansion of macro 'ASSERT_ARGS'
  658 |     ASSERT_ARGS(Parrot_gc_merge_buffer_pools)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:119:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |     , PARROT_ASSERT_ARG(mem_pools) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_merge_buffer_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:658:5: note: in expansion of macro 'ASSERT_ARGS'
  658 |     ASSERT_ARGS(Parrot_gc_merge_buffer_pools)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:120:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  120 |     , PARROT_ASSERT_ARG(dest) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_merge_buffer_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:658:5: note: in expansion of macro 'ASSERT_ARGS'
  658 |     ASSERT_ARGS(Parrot_gc_merge_buffer_pools)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'source' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:121:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  121 |     , PARROT_ASSERT_ARG(source))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_merge_buffer_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:658:5: note: in expansion of macro 'ASSERT_ARGS'
  658 |     ASSERT_ARGS(Parrot_gc_merge_buffer_pools)
      |     ^~~~~~~~~~~
src/gc/alloc_resources.c: In function 'fix_pmc_syncs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest_interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:114:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  114 |        PARROT_ASSERT_ARG(dest_interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fix_pmc_syncs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:719:5: note: in expansion of macro 'ASSERT_ARGS'
  719 |     ASSERT_ARGS(fix_pmc_syncs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/alloc_resources.c:115:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  115 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fix_pmc_syncs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:719:5: note: in expansion of macro 'ASSERT_ARGS'
  719 |     ASSERT_ARGS(fix_pmc_syncs)
      |     ^~~~~~~~~~~
src/gc/alloc_resources.c: In function 'Parrot_gc_merge_memory_pools':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest_interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:602:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  602 |        PARROT_ASSERT_ARG(dest_interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_merge_memory_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:602:5: note: in expansion of macro 'ASSERT_ARGS'
  602 |     ASSERT_ARGS(Parrot_gc_merge_memory_pools)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest_arena' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:603:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  603 |     , PARROT_ASSERT_ARG(dest_arena) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_merge_memory_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:602:5: note: in expansion of macro 'ASSERT_ARGS'
  602 |     ASSERT_ARGS(Parrot_gc_merge_memory_pools)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'source_arena' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:604:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  604 |     , PARROT_ASSERT_ARG(source_arena))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_merge_memory_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/alloc_resources.c:602:5: note: in expansion of macro 'ASSERT_ARGS'
  602 |     ASSERT_ARGS(Parrot_gc_merge_memory_pools)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/gc/. -Isrc -o src/gc/api.o -c src/gc/api.c
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/api.c:97:
src/gc/api.c: In function 'Parrot_gc_mark_PObj_alive':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:513:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  513 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_mark_PObj_alive'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:123:5: note: in expansion of macro 'ASSERT_ARGS'
  123 |     ASSERT_ARGS(Parrot_gc_mark_PObj_alive)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:514:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  514 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_mark_PObj_alive'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:123:5: note: in expansion of macro 'ASSERT_ARGS'
  123 |     ASSERT_ARGS(Parrot_gc_mark_PObj_alive)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_mark_PMC_alive_fun':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:511:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  511 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_mark_PMC_alive_fun'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:151:5: note: in expansion of macro 'ASSERT_ARGS'
  151 |     ASSERT_ARGS(Parrot_gc_mark_PMC_alive_fun)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_mark_STRING_alive_fun':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:517:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  517 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_mark_STRING_alive_fun'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:170:5: note: in expansion of macro 'ASSERT_ARGS'
  170 |     ASSERT_ARGS(Parrot_gc_mark_STRING_alive_fun)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_initialize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:506:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  506 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_initialize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:194:5: note: in expansion of macro 'ASSERT_ARGS'
  194 |     ASSERT_ARGS(Parrot_gc_initialize)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:507:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  507 |     , PARROT_ASSERT_ARG(args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_initialize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:194:5: note: in expansion of macro 'ASSERT_ARGS'
  194 |     ASSERT_ARGS(Parrot_gc_initialize)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_finalize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:481:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  481 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_finalize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:295:5: note: in expansion of macro 'ASSERT_ARGS'
  295 |     ASSERT_ARGS(Parrot_gc_finalize)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_new_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:527:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  527 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_new_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:322:5: note: in expansion of macro 'ASSERT_ARGS'
  322 |     ASSERT_ARGS(Parrot_gc_new_pmc_header)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_free_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:495:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  495 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_free_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:354:5: note: in expansion of macro 'ASSERT_ARGS'
  354 |     ASSERT_ARGS(Parrot_gc_free_pmc_header)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:496:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  496 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_free_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:354:5: note: in expansion of macro 'ASSERT_ARGS'
  354 |     ASSERT_ARGS(Parrot_gc_free_pmc_header)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_new_string_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:529:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  529 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_new_string_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:377:5: note: in expansion of macro 'ASSERT_ARGS'
  377 |     ASSERT_ARGS(Parrot_gc_new_string_header)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_free_string_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:498:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  498 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_free_string_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:405:5: note: in expansion of macro 'ASSERT_ARGS'
  405 |     ASSERT_ARGS(Parrot_gc_free_string_header)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:499:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  499 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_free_string_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:405:5: note: in expansion of macro 'ASSERT_ARGS'
  405 |     ASSERT_ARGS(Parrot_gc_free_string_header)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_new_bufferlike_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:525:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  525 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_new_bufferlike_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:431:5: note: in expansion of macro 'ASSERT_ARGS'
  431 |     ASSERT_ARGS(Parrot_gc_new_bufferlike_header)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_free_bufferlike_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:484:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  484 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_free_bufferlike_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:452:5: note: in expansion of macro 'ASSERT_ARGS'
  452 |     ASSERT_ARGS(Parrot_gc_free_bufferlike_header)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:485:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  485 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_free_bufferlike_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:452:5: note: in expansion of macro 'ASSERT_ARGS'
  452 |     ASSERT_ARGS(Parrot_gc_free_bufferlike_header)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_allocate_buffer_storage_aligned':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:446:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  446 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_allocate_buffer_storage_aligned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:475:5: note: in expansion of macro 'ASSERT_ARGS'
  475 |     ASSERT_ARGS(Parrot_gc_allocate_buffer_storage_aligned)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:447:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  447 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_allocate_buffer_storage_aligned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:475:5: note: in expansion of macro 'ASSERT_ARGS'
  475 |     ASSERT_ARGS(Parrot_gc_allocate_buffer_storage_aligned)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_reallocate_buffer_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:536:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  536 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:499:5: note: in expansion of macro 'ASSERT_ARGS'
  499 |     ASSERT_ARGS(Parrot_gc_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:537:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  537 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:499:5: note: in expansion of macro 'ASSERT_ARGS'
  499 |     ASSERT_ARGS(Parrot_gc_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_allocate_string_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:463:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  463 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:522:5: note: in expansion of macro 'ASSERT_ARGS'
  522 |     ASSERT_ARGS(Parrot_gc_allocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:464:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  464 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:522:5: note: in expansion of macro 'ASSERT_ARGS'
  522 |     ASSERT_ARGS(Parrot_gc_allocate_string_storage)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_reallocate_string_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:546:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  546 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:544:5: note: in expansion of macro 'ASSERT_ARGS'
  544 |     ASSERT_ARGS(Parrot_gc_reallocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:547:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  547 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:544:5: note: in expansion of macro 'ASSERT_ARGS'
  544 |     ASSERT_ARGS(Parrot_gc_reallocate_string_storage)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_allocate_pmc_attributes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:459:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  459 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_allocate_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:564:5: note: in expansion of macro 'ASSERT_ARGS'
  564 |     ASSERT_ARGS(Parrot_gc_allocate_pmc_attributes)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:460:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  460 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_allocate_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:564:5: note: in expansion of macro 'ASSERT_ARGS'
  564 |     ASSERT_ARGS(Parrot_gc_allocate_pmc_attributes)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_free_pmc_attributes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:493:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  493 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_free_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:583:5: note: in expansion of macro 'ASSERT_ARGS'
  583 |     ASSERT_ARGS(Parrot_gc_free_pmc_attributes)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_allocate_fixed_size_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:450:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  450 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_allocate_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:604:5: note: in expansion of macro 'ASSERT_ARGS'
  604 |     ASSERT_ARGS(Parrot_gc_allocate_fixed_size_storage)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_free_fixed_size_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:488:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  488 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_free_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:624:5: note: in expansion of macro 'ASSERT_ARGS'
  624 |     ASSERT_ARGS(Parrot_gc_free_fixed_size_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:489:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  489 |     , PARROT_ASSERT_ARG(data))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_free_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:624:5: note: in expansion of macro 'ASSERT_ARGS'
  624 |     ASSERT_ARGS(Parrot_gc_free_fixed_size_storage)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_allocate_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:453:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  453 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_allocate_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:656:5: note: in expansion of macro 'ASSERT_ARGS'
  656 |     ASSERT_ARGS(Parrot_gc_allocate_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_reallocate_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:540:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  540 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_reallocate_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:665:5: note: in expansion of macro 'ASSERT_ARGS'
  665 |     ASSERT_ARGS(Parrot_gc_reallocate_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_free_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:491:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  491 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_free_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:673:5: note: in expansion of macro 'ASSERT_ARGS'
  673 |     ASSERT_ARGS(Parrot_gc_free_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_allocate_memory_chunk_with_interior_pointers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:456:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  456 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_allocate_memory_chunk_with_interior_pointers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:683:5: note: in expansion of macro 'ASSERT_ARGS'
  683 |     ASSERT_ARGS(Parrot_gc_allocate_memory_chunk_with_interior_pointers)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_reallocate_memory_chunk_with_interior_pointers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:543:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  543 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_reallocate_memory_chunk_with_interior_pointers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:693:5: note: in expansion of macro 'ASSERT_ARGS'
  693 |     ASSERT_ARGS(Parrot_gc_reallocate_memory_chunk_with_interior_pointers)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_mark_and_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:509:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  509 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_mark_and_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:714:5: note: in expansion of macro 'ASSERT_ARGS'
  714 |     ASSERT_ARGS(Parrot_gc_mark_and_sweep)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_compact_memory_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:466:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  466 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_compact_memory_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:733:5: note: in expansion of macro 'ASSERT_ARGS'
  733 |     ASSERT_ARGS(Parrot_gc_compact_memory_pool)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_destroy_child_interp':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest_interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:478:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  478 |        PARROT_ASSERT_ARG(dest_interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_destroy_child_interp'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:754:5: note: in expansion of macro 'ASSERT_ARGS'
  754 |     ASSERT_ARGS(Parrot_gc_destroy_child_interp)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'source_interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:479:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  479 |     , PARROT_ASSERT_ARG(source_interp))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_destroy_child_interp'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:754:5: note: in expansion of macro 'ASSERT_ARGS'
  754 |     ASSERT_ARGS(Parrot_gc_destroy_child_interp)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_active_sized_buffers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:443:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  443 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_active_sized_buffers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:773:5: note: in expansion of macro 'ASSERT_ARGS'
  773 |     ASSERT_ARGS(Parrot_gc_active_sized_buffers)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_total_sized_buffers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:560:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  560 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_total_sized_buffers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:791:5: note: in expansion of macro 'ASSERT_ARGS'
  791 |     ASSERT_ARGS(Parrot_gc_total_sized_buffers)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_active_pmcs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:440:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  440 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_active_pmcs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:809:5: note: in expansion of macro 'ASSERT_ARGS'
  809 |     ASSERT_ARGS(Parrot_gc_active_pmcs)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_total_pmcs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:558:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  558 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_total_pmcs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:827:5: note: in expansion of macro 'ASSERT_ARGS'
  827 |     ASSERT_ARGS(Parrot_gc_total_pmcs)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_max_generations':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:519:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  519 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_max_generations'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:845:5: note: in expansion of macro 'ASSERT_ARGS'
  845 |     ASSERT_ARGS(Parrot_gc_max_generations)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_count_mark_runs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:475:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  475 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_count_mark_runs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:895:5: note: in expansion of macro 'ASSERT_ARGS'
  895 |     ASSERT_ARGS(Parrot_gc_count_mark_runs)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_count_collect_runs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:470:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  470 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_count_collect_runs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:903:5: note: in expansion of macro 'ASSERT_ARGS'
  903 |     ASSERT_ARGS(Parrot_gc_count_collect_runs)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_count_lazy_mark_runs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:473:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  473 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_count_lazy_mark_runs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:911:5: note: in expansion of macro 'ASSERT_ARGS'
  911 |     ASSERT_ARGS(Parrot_gc_count_lazy_mark_runs)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_total_memory_allocated':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:554:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  554 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_total_memory_allocated'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:919:5: note: in expansion of macro 'ASSERT_ARGS'
  919 |     ASSERT_ARGS(Parrot_gc_total_memory_allocated)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_total_memory_used':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:556:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  556 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_total_memory_used'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:927:5: note: in expansion of macro 'ASSERT_ARGS'
  927 |     ASSERT_ARGS(Parrot_gc_total_memory_used)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_headers_alloc_since_last_collect':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:502:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  502 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_headers_alloc_since_last_collect'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:935:5: note: in expansion of macro 'ASSERT_ARGS'
  935 |     ASSERT_ARGS(Parrot_gc_headers_alloc_since_last_collect)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_mem_alloc_since_last_collect':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:522:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  522 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_mem_alloc_since_last_collect'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:943:5: note: in expansion of macro 'ASSERT_ARGS'
  943 |     ASSERT_ARGS(Parrot_gc_mem_alloc_since_last_collect)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_total_copied':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:551:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  551 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_total_copied'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:951:5: note: in expansion of macro 'ASSERT_ARGS'
  951 |     ASSERT_ARGS(Parrot_gc_total_copied)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_impatient_pmcs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:504:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  504 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_impatient_pmcs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:959:5: note: in expansion of macro 'ASSERT_ARGS'
  959 |     ASSERT_ARGS(Parrot_gc_impatient_pmcs)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_block_GC_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:432:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  432 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_block_GC_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1024:5: note: in expansion of macro 'ASSERT_ARGS'
 1024 |     ASSERT_ARGS(Parrot_block_GC_mark)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_unblock_GC_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:571:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  571 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_unblock_GC_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1033:5: note: in expansion of macro 'ASSERT_ARGS'
 1033 |     ASSERT_ARGS(Parrot_unblock_GC_mark)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_block_GC_mark_locked':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:434:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  434 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_block_GC_mark_locked'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1042:5: note: in expansion of macro 'ASSERT_ARGS'
 1042 |     ASSERT_ARGS(Parrot_block_GC_mark_locked)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_unblock_GC_mark_locked':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:573:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  573 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_unblock_GC_mark_locked'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1051:5: note: in expansion of macro 'ASSERT_ARGS'
 1051 |     ASSERT_ARGS(Parrot_unblock_GC_mark_locked)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_block_GC_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:438:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  438 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_block_GC_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1060:5: note: in expansion of macro 'ASSERT_ARGS'
 1060 |     ASSERT_ARGS(Parrot_block_GC_sweep)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_unblock_GC_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:577:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  577 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_unblock_GC_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1070:5: note: in expansion of macro 'ASSERT_ARGS'
 1070 |     ASSERT_ARGS(Parrot_unblock_GC_sweep)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_block_GC_move':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:436:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  436 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_block_GC_move'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1079:5: note: in expansion of macro 'ASSERT_ARGS'
 1079 |     ASSERT_ARGS(Parrot_block_GC_move)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_unblock_GC_move':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:575:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  575 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_unblock_GC_move'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1089:5: note: in expansion of macro 'ASSERT_ARGS'
 1089 |     ASSERT_ARGS(Parrot_unblock_GC_move)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_is_blocked_GC_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:565:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  565 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_is_blocked_GC_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1098:5: note: in expansion of macro 'ASSERT_ARGS'
 1098 |     ASSERT_ARGS(Parrot_is_blocked_GC_mark)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_is_blocked_GC_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:569:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  569 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_is_blocked_GC_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1109:5: note: in expansion of macro 'ASSERT_ARGS'
 1109 |     ASSERT_ARGS(Parrot_is_blocked_GC_sweep)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_is_blocked_GC_move':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:567:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  567 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_is_blocked_GC_move'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1121:5: note: in expansion of macro 'ASSERT_ARGS'
 1121 |     ASSERT_ARGS(Parrot_is_blocked_GC_move)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_completely_unblock':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:468:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  468 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_completely_unblock'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1132:5: note: in expansion of macro 'ASSERT_ARGS'
 1132 |     ASSERT_ARGS(Parrot_gc_completely_unblock)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_write_barrier':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:562:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  562 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_write_barrier'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1155:5: note: in expansion of macro 'ASSERT_ARGS'
 1155 |     ASSERT_ARGS(Parrot_gc_write_barrier)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:563:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  563 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_write_barrier'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1155:5: note: in expansion of macro 'ASSERT_ARGS'
 1155 |     ASSERT_ARGS(Parrot_gc_write_barrier)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_pmc_needs_early_collection':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:532:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  532 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pmc_needs_early_collection'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1174:5: note: in expansion of macro 'ASSERT_ARGS'
 1174 |     ASSERT_ARGS(Parrot_gc_pmc_needs_early_collection)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/gc_api.h:533:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  533 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pmc_needs_early_collection'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1174:5: note: in expansion of macro 'ASSERT_ARGS'
 1174 |     ASSERT_ARGS(Parrot_gc_pmc_needs_early_collection)
      |     ^~~~~~~~~~~
src/gc/api.c: In function 'Parrot_gc_sys_name':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/gc_api.h:549:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  549 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_sys_name'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/api.c:1194:5: note: in expansion of macro 'ASSERT_ARGS'
 1194 |     ASSERT_ARGS(Parrot_gc_sys_name)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/gc/. -Isrc -o src/gc/gc_ms.o -c src/gc/gc_ms.c
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/gc_ms.c:17:
src/gc/gc_ms.c: In function 'gc_ms_pmc_needs_early_collection':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:699:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  699 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_pmc_needs_early_collection'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:813:5: note: in expansion of macro 'ASSERT_ARGS'
  813 |     ASSERT_ARGS(gc_ms_pmc_needs_early_collection)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:700:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  700 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_pmc_needs_early_collection'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:813:5: note: in expansion of macro 'ASSERT_ARGS'
  813 |     ASSERT_ARGS(gc_ms_pmc_needs_early_collection)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_allocate_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:307:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  307 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_allocate_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:864:5: note: in expansion of macro 'ASSERT_ARGS'
  864 |     ASSERT_ARGS(gc_ms_allocate_pmc_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_free_string_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:337:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  337 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_string_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1020:5: note: in expansion of macro 'ASSERT_ARGS'
 1020 |     ASSERT_ARGS(gc_ms_free_string_header)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:338:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  338 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_string_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1020:5: note: in expansion of macro 'ASSERT_ARGS'
 1020 |     ASSERT_ARGS(gc_ms_free_string_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_pool_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:369:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  369 |        PARROT_ASSERT_ARG(pool))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_pool_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1607:5: note: in expansion of macro 'ASSERT_ARGS'
 1607 |     ASSERT_ARGS(gc_ms_pool_init)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_add_free_object':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:288:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  288 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_add_free_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1666:5: note: in expansion of macro 'ASSERT_ARGS'
 1666 |     ASSERT_ARGS(gc_ms_add_free_object)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:289:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  289 |     , PARROT_ASSERT_ARG(pool) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_add_free_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1666:5: note: in expansion of macro 'ASSERT_ARGS'
 1666 |     ASSERT_ARGS(gc_ms_add_free_object)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'to_add' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:290:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  290 |     , PARROT_ASSERT_ARG(to_add))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_add_free_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1666:5: note: in expansion of macro 'ASSERT_ARGS'
 1666 |     ASSERT_ARGS(gc_ms_add_free_object)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_get_free_object':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:340:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  340 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_get_free_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1701:5: note: in expansion of macro 'ASSERT_ARGS'
 1701 |     ASSERT_ARGS(gc_ms_get_free_object)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:341:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  341 |     , PARROT_ASSERT_ARG(mem_pools) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_get_free_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1701:5: note: in expansion of macro 'ASSERT_ARGS'
 1701 |     ASSERT_ARGS(gc_ms_get_free_object)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:342:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  342 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_get_free_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1701:5: note: in expansion of macro 'ASSERT_ARGS'
 1701 |     ASSERT_ARGS(gc_ms_get_free_object)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_block_GC_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:311:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  311 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_block_GC_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1827:5: note: in expansion of macro 'ASSERT_ARGS'
 1827 |     ASSERT_ARGS(gc_ms_block_GC_mark)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_unblock_GC_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:390:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  390 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_unblock_GC_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1835:5: note: in expansion of macro 'ASSERT_ARGS'
 1835 |     ASSERT_ARGS(gc_ms_unblock_GC_mark)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_block_GC_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:315:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  315 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_block_GC_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1844:5: note: in expansion of macro 'ASSERT_ARGS'
 1844 |     ASSERT_ARGS(gc_ms_block_GC_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_unblock_GC_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:394:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  394 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_unblock_GC_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1852:5: note: in expansion of macro 'ASSERT_ARGS'
 1852 |     ASSERT_ARGS(gc_ms_unblock_GC_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_block_GC_move':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:313:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  313 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_block_GC_move'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1861:5: note: in expansion of macro 'ASSERT_ARGS'
 1861 |     ASSERT_ARGS(gc_ms_block_GC_move)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_unblock_GC_move':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:392:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  392 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_unblock_GC_move'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1869:5: note: in expansion of macro 'ASSERT_ARGS'
 1869 |     ASSERT_ARGS(gc_ms_unblock_GC_move)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_is_blocked_GC_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:346:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  346 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_is_blocked_GC_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1878:5: note: in expansion of macro 'ASSERT_ARGS'
 1878 |     ASSERT_ARGS(gc_ms_is_blocked_GC_mark)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_is_blocked_GC_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:350:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  350 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_is_blocked_GC_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1886:5: note: in expansion of macro 'ASSERT_ARGS'
 1886 |     ASSERT_ARGS(gc_ms_is_blocked_GC_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_is_blocked_GC_move':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:348:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  348 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_is_blocked_GC_move'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1894:5: note: in expansion of macro 'ASSERT_ARGS'
 1894 |     ASSERT_ARGS(gc_ms_is_blocked_GC_move)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_iterate_live_strings':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:356:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  356 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_iterate_live_strings'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:2044:5: note: in expansion of macro 'ASSERT_ARGS'
 2044 |     ASSERT_ARGS(gc_ms_iterate_live_strings)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_finalize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:320:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  320 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_finalize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:525:5: note: in expansion of macro 'ASSERT_ARGS'
  525 |     ASSERT_ARGS(gc_ms_finalize)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_destroy_child_interp':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest_interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:317:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  317 |        PARROT_ASSERT_ARG(dest_interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_destroy_child_interp'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:554:5: note: in expansion of macro 'ASSERT_ARGS'
  554 |     ASSERT_ARGS(gc_ms_destroy_child_interp)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'source_interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:318:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  318 |     , PARROT_ASSERT_ARG(source_interp))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_destroy_child_interp'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:554:5: note: in expansion of macro 'ASSERT_ARGS'
  554 |     ASSERT_ARGS(gc_ms_destroy_child_interp)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_compact_memory_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:688:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  688 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_compact_memory_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:726:5: note: in expansion of macro 'ASSERT_ARGS'
  726 |     ASSERT_ARGS(gc_ms_compact_memory_pool)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_allocate_string_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:685:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  685 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:754:5: note: in expansion of macro 'ASSERT_ARGS'
  754 |     ASSERT_ARGS(gc_ms_allocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:686:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  686 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:754:5: note: in expansion of macro 'ASSERT_ARGS'
  754 |     ASSERT_ARGS(gc_ms_allocate_string_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_reallocate_string_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:707:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  707 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:762:5: note: in expansion of macro 'ASSERT_ARGS'
  762 |     ASSERT_ARGS(gc_ms_reallocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:708:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  708 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:762:5: note: in expansion of macro 'ASSERT_ARGS'
  762 |     ASSERT_ARGS(gc_ms_reallocate_string_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_allocate_buffer_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:679:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  679 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_allocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:770:5: note: in expansion of macro 'ASSERT_ARGS'
  770 |     ASSERT_ARGS(gc_ms_allocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:680:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  680 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_allocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:770:5: note: in expansion of macro 'ASSERT_ARGS'
  770 |     ASSERT_ARGS(gc_ms_allocate_buffer_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_reallocate_buffer_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:703:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  703 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:778:5: note: in expansion of macro 'ASSERT_ARGS'
  778 |     ASSERT_ARGS(gc_ms_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:704:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  704 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:778:5: note: in expansion of macro 'ASSERT_ARGS'
  778 |     ASSERT_ARGS(gc_ms_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_mark_special':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:360:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  360 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_mark_special'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:795:5: note: in expansion of macro 'ASSERT_ARGS'
  795 |     ASSERT_ARGS(gc_ms_mark_special)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:361:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  361 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_mark_special'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:795:5: note: in expansion of macro 'ASSERT_ARGS'
  795 |     ASSERT_ARGS(gc_ms_mark_special)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_mark_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:696:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  696 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_mark_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:912:5: note: in expansion of macro 'ASSERT_ARGS'
  912 |     ASSERT_ARGS(gc_ms_mark_pmc_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_sweep_cb':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:381:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  381 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_sweep_cb'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1576:5: note: in expansion of macro 'ASSERT_ARGS'
 1576 |     ASSERT_ARGS(gc_ms_sweep_cb)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:382:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  382 |     , PARROT_ASSERT_ARG(mem_pools) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_sweep_cb'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1576:5: note: in expansion of macro 'ASSERT_ARGS'
 1576 |     ASSERT_ARGS(gc_ms_sweep_cb)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:383:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  383 |     , PARROT_ASSERT_ARG(pool) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_sweep_cb'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1576:5: note: in expansion of macro 'ASSERT_ARGS'
 1576 |     ASSERT_ARGS(gc_ms_sweep_cb)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:384:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  384 |     , PARROT_ASSERT_ARG(arg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_sweep_cb'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1576:5: note: in expansion of macro 'ASSERT_ARGS'
 1576 |     ASSERT_ARGS(gc_ms_sweep_cb)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_free_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:334:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  334 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:886:5: note: in expansion of macro 'ASSERT_ARGS'
  886 |     ASSERT_ARGS(gc_ms_free_pmc_header)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:335:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  335 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:886:5: note: in expansion of macro 'ASSERT_ARGS'
  886 |     ASSERT_ARGS(gc_ms_free_pmc_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_is_pmc_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:352:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  352 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_is_pmc_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:946:5: note: in expansion of macro 'ASSERT_ARGS'
  946 |     ASSERT_ARGS(gc_ms_is_pmc_ptr)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_is_string_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:354:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  354 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_is_string_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:965:5: note: in expansion of macro 'ASSERT_ARGS'
  965 |     ASSERT_ARGS(gc_ms_is_string_ptr)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_allocate_string_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:309:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  309 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_allocate_string_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:995:5: note: in expansion of macro 'ASSERT_ARGS'
  995 |     ASSERT_ARGS(gc_ms_allocate_string_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_allocate_bufferlike_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:297:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  297 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_allocate_bufferlike_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1073:5: note: in expansion of macro 'ASSERT_ARGS'
 1073 |     ASSERT_ARGS(gc_ms_allocate_bufferlike_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_free_bufferlike_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:329:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  329 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_bufferlike_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1099:5: note: in expansion of macro 'ASSERT_ARGS'
 1099 |     ASSERT_ARGS(gc_ms_free_bufferlike_header)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:330:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  330 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_bufferlike_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1099:5: note: in expansion of macro 'ASSERT_ARGS'
 1099 |     ASSERT_ARGS(gc_ms_free_bufferlike_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_free_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:332:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  332 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1522:5: note: in expansion of macro 'ASSERT_ARGS'
 1522 |     ASSERT_ARGS(gc_ms_free_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_alloc_objects':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:292:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  292 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_alloc_objects'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1750:5: note: in expansion of macro 'ASSERT_ARGS'
 1750 |     ASSERT_ARGS(gc_ms_alloc_objects)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:293:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  293 |     , PARROT_ASSERT_ARG(mem_pools) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_alloc_objects'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1750:5: note: in expansion of macro 'ASSERT_ARGS'
 1750 |     ASSERT_ARGS(gc_ms_alloc_objects)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:294:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  294 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_alloc_objects'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1750:5: note: in expansion of macro 'ASSERT_ARGS'
 1750 |     ASSERT_ARGS(gc_ms_alloc_objects)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_allocate_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:299:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  299 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_allocate_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1464:5: note: in expansion of macro 'ASSERT_ARGS'
 1464 |     ASSERT_ARGS(gc_ms_allocate_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_reallocate_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:377:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  377 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_reallocate_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1478:5: note: in expansion of macro 'ASSERT_ARGS'
 1478 |     ASSERT_ARGS(gc_ms_reallocate_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_allocate_memory_chunk_zeroed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:302:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  302 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_allocate_memory_chunk_zeroed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1497:5: note: in expansion of macro 'ASSERT_ARGS'
 1497 |     ASSERT_ARGS(gc_ms_allocate_memory_chunk_zeroed)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'Parrot_gc_ms_needed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:714:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  714 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_ms_needed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:583:5: note: in expansion of macro 'ASSERT_ARGS'
  583 |     ASSERT_ARGS(Parrot_gc_ms_needed)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_maybe_mark_and_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:364:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  364 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_maybe_mark_and_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:616:5: note: in expansion of macro 'ASSERT_ARGS'
  616 |     ASSERT_ARGS(gc_ms_maybe_mark_and_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_more_traceable_objects':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:366:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  366 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_more_traceable_objects'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1631:5: note: in expansion of macro 'ASSERT_ARGS'
 1631 |     ASSERT_ARGS(gc_ms_more_traceable_objects)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:367:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  367 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_more_traceable_objects'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1631:5: note: in expansion of macro 'ASSERT_ARGS'
 1631 |     ASSERT_ARGS(gc_ms_more_traceable_objects)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_finalize_memory_pools':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:322:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  322 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_finalize_memory_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:833:5: note: in expansion of macro 'ASSERT_ARGS'
  833 |     ASSERT_ARGS(gc_ms_finalize_memory_pools)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:323:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  323 |     , PARROT_ASSERT_ARG(mem_pools))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_finalize_memory_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:833:5: note: in expansion of macro 'ASSERT_ARGS'
  833 |     ASSERT_ARGS(gc_ms_finalize_memory_pools)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'Parrot_gc_allocate_new_attributes_arena':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:397:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  397 |        PARROT_ASSERT_ARG(pool))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_allocate_new_attributes_arena'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1175:5: note: in expansion of macro 'ASSERT_ARGS'
 1175 |     ASSERT_ARGS(Parrot_gc_allocate_new_attributes_arena)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'Parrot_gc_get_attributes_from_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:403:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  403 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_get_attributes_from_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1148:5: note: in expansion of macro 'ASSERT_ARGS'
 1148 |     ASSERT_ARGS(Parrot_gc_get_attributes_from_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:404:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  404 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_get_attributes_from_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1148:5: note: in expansion of macro 'ASSERT_ARGS'
 1148 |     ASSERT_ARGS(Parrot_gc_get_attributes_from_pool)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'Parrot_gc_initialize_fixed_size_pools':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:407:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  407 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_initialize_fixed_size_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1203:5: note: in expansion of macro 'ASSERT_ARGS'
 1203 |     ASSERT_ARGS(Parrot_gc_initialize_fixed_size_pools)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:408:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  408 |     , PARROT_ASSERT_ARG(mem_pools))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_initialize_fixed_size_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1203:5: note: in expansion of macro 'ASSERT_ARGS'
 1203 |     ASSERT_ARGS(Parrot_gc_initialize_fixed_size_pools)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'Parrot_gc_ms_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:712:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  712 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_ms_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:432:5: note: in expansion of macro 'ASSERT_ARGS'
  432 |     ASSERT_ARGS(Parrot_gc_ms_init)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'Parrot_gc_get_attribute_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:400:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  400 |        PARROT_ASSERT_ARG(mem_pools))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_get_attribute_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1228:5: note: in expansion of macro 'ASSERT_ARGS'
 1228 |     ASSERT_ARGS(Parrot_gc_get_attribute_pool)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_allocate_pmc_attributes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:304:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  304 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_allocate_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1295:5: note: in expansion of macro 'ASSERT_ARGS'
 1295 |     ASSERT_ARGS(gc_ms_allocate_pmc_attributes)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:305:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  305 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_allocate_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1295:5: note: in expansion of macro 'ASSERT_ARGS'
 1295 |     ASSERT_ARGS(gc_ms_allocate_pmc_attributes)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_allocate_fixed_size_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:683:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  683 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_allocate_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1403:5: note: in expansion of macro 'ASSERT_ARGS'
 1403 |     ASSERT_ARGS(gc_ms_allocate_fixed_size_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_free_attributes_from_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:326:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  326 |        PARROT_ASSERT_ARG(pool) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_attributes_from_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1377:5: note: in expansion of macro 'ASSERT_ARGS'
 1377 |     ASSERT_ARGS(gc_ms_free_attributes_from_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:327:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  327 |     , PARROT_ASSERT_ARG(data))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_attributes_from_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1377:5: note: in expansion of macro 'ASSERT_ARGS'
 1377 |     ASSERT_ARGS(gc_ms_free_attributes_from_pool)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_free_pmc_attributes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:693:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  693 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1351:5: note: in expansion of macro 'ASSERT_ARGS'
 1351 |     ASSERT_ARGS(gc_ms_free_pmc_attributes)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:694:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  694 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1351:5: note: in expansion of macro 'ASSERT_ARGS'
 1351 |     ASSERT_ARGS(gc_ms_free_pmc_attributes)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_free_fixed_size_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:690:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  690 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1432:5: note: in expansion of macro 'ASSERT_ARGS'
 1432 |     ASSERT_ARGS(gc_ms_free_fixed_size_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:691:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  691 |     , PARROT_ASSERT_ARG(data))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_free_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1432:5: note: in expansion of macro 'ASSERT_ARGS'
 1432 |     ASSERT_ARGS(gc_ms_free_fixed_size_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_trace_active_PMCs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:388:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  388 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_trace_active_PMCs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1546:5: note: in expansion of macro 'ASSERT_ARGS'
 1546 |     ASSERT_ARGS(gc_ms_trace_active_PMCs)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'Parrot_gc_get_info':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'stats' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:710:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  710 |        PARROT_ASSERT_ARG(stats))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_get_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1954:5: note: in expansion of macro 'ASSERT_ARGS'
 1954 |     ASSERT_ARGS(Parrot_gc_get_info)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_active_sized_buffers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:286:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  286 |        PARROT_ASSERT_ARG(mem_pools))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_active_sized_buffers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1992:5: note: in expansion of macro 'ASSERT_ARGS'
 1992 |     ASSERT_ARGS(gc_ms_active_sized_buffers)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_total_sized_buffers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:386:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  386 |        PARROT_ASSERT_ARG(mem_pools))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_total_sized_buffers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:2017:5: note: in expansion of macro 'ASSERT_ARGS'
 2017 |     ASSERT_ARGS(gc_ms_total_sized_buffers)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_get_gc_info':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:344:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  344 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_get_gc_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:1912:5: note: in expansion of macro 'ASSERT_ARGS'
 1912 |     ASSERT_ARGS(gc_ms_get_gc_info)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_print_stats_always':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:374:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  374 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_print_stats_always'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:2094:5: note: in expansion of macro 'ASSERT_ARGS'
 2094 |     ASSERT_ARGS(gc_ms_print_stats_always)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'header' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:375:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  375 |     , PARROT_ASSERT_ARG(header))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_print_stats_always'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:2094:5: note: in expansion of macro 'ASSERT_ARGS'
 2094 |     ASSERT_ARGS(gc_ms_print_stats_always)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_print_stats':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:371:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  371 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_print_stats'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:2128:5: note: in expansion of macro 'ASSERT_ARGS'
 2128 |     ASSERT_ARGS(gc_ms_print_stats)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'header' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms.c:372:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  372 |     , PARROT_ASSERT_ARG(header))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_print_stats'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:2128:5: note: in expansion of macro 'ASSERT_ARGS'
 2128 |     ASSERT_ARGS(gc_ms_print_stats)
      |     ^~~~~~~~~~~
src/gc/gc_ms.c: In function 'gc_ms_mark_and_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms.c:358:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  358 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms_mark_and_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms.c:638:5: note: in expansion of macro 'ASSERT_ARGS'
  638 |     ASSERT_ARGS(gc_ms_mark_and_sweep)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/gc/. -Isrc -o src/gc/gc_inf.o -c src/gc/gc_inf.c
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/gc_inf.c:28:
src/gc/gc_inf.c: In function 'gc_inf_allocate_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:169:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  169 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_allocate_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:305:5: note: in expansion of macro 'ASSERT_ARGS'
  305 |     ASSERT_ARGS(gc_inf_allocate_pmc_header)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_allocate_bufferlike_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:156:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  156 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_allocate_bufferlike_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:360:5: note: in expansion of macro 'ASSERT_ARGS'
  360 |     ASSERT_ARGS(gc_inf_allocate_bufferlike_header)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_allocate_pmc_attributes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:167:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  167 |        PARROT_ASSERT_ARG(pmc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_allocate_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:387:5: note: in expansion of macro 'ASSERT_ARGS'
  387 |     ASSERT_ARGS(gc_inf_allocate_pmc_attributes)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_allocate_fixed_size_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:159:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  159 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_allocate_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:473:5: note: in expansion of macro 'ASSERT_ARGS'
  473 |     ASSERT_ARGS(gc_inf_allocate_fixed_size_storage)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_free_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:187:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  187 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_free_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:316:5: note: in expansion of macro 'ASSERT_ARGS'
  316 |     ASSERT_ARGS(gc_inf_free_pmc_header)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_free_string_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:189:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  189 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_free_string_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:343:5: note: in expansion of macro 'ASSERT_ARGS'
  343 |     ASSERT_ARGS(gc_inf_free_string_header)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_free_bufferlike_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:178:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  178 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_free_bufferlike_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:371:5: note: in expansion of macro 'ASSERT_ARGS'
  371 |     ASSERT_ARGS(gc_inf_free_bufferlike_header)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_free_pmc_attributes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:185:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  185 |        PARROT_ASSERT_ARG(pmc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_free_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:396:5: note: in expansion of macro 'ASSERT_ARGS'
  396 |     ASSERT_ARGS(gc_inf_free_pmc_attributes)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_free_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:183:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  183 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_free_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:696:5: note: in expansion of macro 'ASSERT_ARGS'
  696 |     ASSERT_ARGS(gc_inf_free_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_allocate_string_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_inf.c:174:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  174 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:405:5: note: in expansion of macro 'ASSERT_ARGS'
  405 |     ASSERT_ARGS(gc_inf_allocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_inf.c:175:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  175 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:405:5: note: in expansion of macro 'ASSERT_ARGS'
  405 |     ASSERT_ARGS(gc_inf_allocate_string_storage)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_allocate_buffer_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_inf.c:152:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_allocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:447:5: note: in expansion of macro 'ASSERT_ARGS'
  447 |     ASSERT_ARGS(gc_inf_allocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_inf.c:153:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  153 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_allocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:447:5: note: in expansion of macro 'ASSERT_ARGS'
  447 |     ASSERT_ARGS(gc_inf_allocate_buffer_storage)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_allocate_string_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:171:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  171 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_allocate_string_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:329:5: note: in expansion of macro 'ASSERT_ARGS'
  329 |     ASSERT_ARGS(gc_inf_allocate_string_header)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_reallocate_string_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_inf.c:204:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  204 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:426:5: note: in expansion of macro 'ASSERT_ARGS'
  426 |     ASSERT_ARGS(gc_inf_reallocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_inf.c:205:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  205 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:426:5: note: in expansion of macro 'ASSERT_ARGS'
  426 |     ASSERT_ARGS(gc_inf_reallocate_string_storage)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_reallocate_buffer_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_inf.c:195:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  195 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:459:5: note: in expansion of macro 'ASSERT_ARGS'
  459 |     ASSERT_ARGS(gc_inf_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_inf.c:196:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  196 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:459:5: note: in expansion of macro 'ASSERT_ARGS'
  459 |     ASSERT_ARGS(gc_inf_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_free_fixed_size_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:181:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  181 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_free_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:485:5: note: in expansion of macro 'ASSERT_ARGS'
  485 |     ASSERT_ARGS(gc_inf_free_fixed_size_storage)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_allocate_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:161:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  161 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_allocate_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:638:5: note: in expansion of macro 'ASSERT_ARGS'
  638 |     ASSERT_ARGS(gc_inf_allocate_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_reallocate_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:199:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  199 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_reallocate_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:652:5: note: in expansion of macro 'ASSERT_ARGS'
  652 |     ASSERT_ARGS(gc_inf_reallocate_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'gc_inf_allocate_memory_chunk_zeroed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_inf.c:164:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  164 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_inf_allocate_memory_chunk_zeroed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:671:5: note: in expansion of macro 'ASSERT_ARGS'
  671 |     ASSERT_ARGS(gc_inf_allocate_memory_chunk_zeroed)
      |     ^~~~~~~~~~~
src/gc/gc_inf.c: In function 'Parrot_gc_inf_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:725:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  725 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_inf_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_inf.c:550:5: note: in expansion of macro 'ASSERT_ARGS'
  550 |     ASSERT_ARGS(Parrot_gc_inf_init)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/gc/. -Isrc -o src/gc/gc_ms2.o -c src/gc/gc_ms2.c
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/gc_ms2.c:16:
src/gc/gc_ms2.c: In function 'gc_ms2_mark_str_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:378:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  378 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_mark_str_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1031:5: note: in expansion of macro 'ASSERT_ARGS'
 1031 |     ASSERT_ARGS(gc_ms2_mark_str_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_maybe_mark_and_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:380:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  380 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_maybe_mark_and_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1208:5: note: in expansion of macro 'ASSERT_ARGS'
 1208 |     ASSERT_ARGS(gc_ms2_maybe_mark_and_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_block_GC_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:323:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  323 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_block_GC_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1422:5: note: in expansion of macro 'ASSERT_ARGS'
 1422 |     ASSERT_ARGS(gc_ms2_block_GC_mark)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_unblock_GC_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:409:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  409 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_unblock_GC_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1430:5: note: in expansion of macro 'ASSERT_ARGS'
 1430 |     ASSERT_ARGS(gc_ms2_unblock_GC_mark)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_block_GC_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:327:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  327 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_block_GC_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1439:5: note: in expansion of macro 'ASSERT_ARGS'
 1439 |     ASSERT_ARGS(gc_ms2_block_GC_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_unblock_GC_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:413:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  413 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_unblock_GC_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1447:5: note: in expansion of macro 'ASSERT_ARGS'
 1447 |     ASSERT_ARGS(gc_ms2_unblock_GC_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_block_GC_move':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:325:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  325 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_block_GC_move'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1456:5: note: in expansion of macro 'ASSERT_ARGS'
 1456 |     ASSERT_ARGS(gc_ms2_block_GC_move)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_unblock_GC_move':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:411:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  411 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_unblock_GC_move'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1464:5: note: in expansion of macro 'ASSERT_ARGS'
 1464 |     ASSERT_ARGS(gc_ms2_unblock_GC_move)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_is_blocked_GC_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:354:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  354 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_is_blocked_GC_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1473:5: note: in expansion of macro 'ASSERT_ARGS'
 1473 |     ASSERT_ARGS(gc_ms2_is_blocked_GC_mark)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_is_blocked_GC_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:358:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  358 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_is_blocked_GC_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1481:5: note: in expansion of macro 'ASSERT_ARGS'
 1481 |     ASSERT_ARGS(gc_ms2_is_blocked_GC_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_is_blocked_GC_move':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:356:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  356 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_is_blocked_GC_move'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1489:5: note: in expansion of macro 'ASSERT_ARGS'
 1489 |     ASSERT_ARGS(gc_ms2_is_blocked_GC_move)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_pmc_needs_early_collection':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:383:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  383 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_pmc_needs_early_collection'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1601:5: note: in expansion of macro 'ASSERT_ARGS'
 1601 |     ASSERT_ARGS(gc_ms2_pmc_needs_early_collection)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_compact_memory_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:329:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  329 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_compact_memory_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:459:5: note: in expansion of macro 'ASSERT_ARGS'
  459 |     ASSERT_ARGS(gc_ms2_compact_memory_pool)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_allocate_fixed_size_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:304:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  304 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_allocate_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:546:5: note: in expansion of macro 'ASSERT_ARGS'
  546 |     ASSERT_ARGS(gc_ms2_allocate_fixed_size_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_allocate_pmc_attributes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:312:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  312 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_allocate_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:508:5: note: in expansion of macro 'ASSERT_ARGS'
  508 |     ASSERT_ARGS(gc_ms2_allocate_pmc_attributes)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:313:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  313 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_allocate_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:508:5: note: in expansion of macro 'ASSERT_ARGS'
  508 |     ASSERT_ARGS(gc_ms2_allocate_pmc_attributes)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_free_pmc_attributes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:345:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  345 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_free_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:528:5: note: in expansion of macro 'ASSERT_ARGS'
  528 |     ASSERT_ARGS(gc_ms2_free_pmc_attributes)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:346:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  346 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_free_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:528:5: note: in expansion of macro 'ASSERT_ARGS'
  528 |     ASSERT_ARGS(gc_ms2_free_pmc_attributes)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_free_fixed_size_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:340:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  340 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_free_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:560:5: note: in expansion of macro 'ASSERT_ARGS'
  560 |     ASSERT_ARGS(gc_ms2_free_fixed_size_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c:561:8: warning: 'nonnull' argument 'data' compared to NULL [-Wnonnull-compare]
  561 |     if (data) {
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/gc_ms2.c:16:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:341:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  341 |     , PARROT_ASSERT_ARG(data))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_free_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:560:5: note: in expansion of macro 'ASSERT_ARGS'
  560 |     ASSERT_ARGS(gc_ms2_free_fixed_size_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_get_gc_info':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:352:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  352 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_get_gc_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:586:5: note: in expansion of macro 'ASSERT_ARGS'
  586 |     ASSERT_ARGS(gc_ms2_get_gc_info)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_allocate_string_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:320:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  320 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:985:5: note: in expansion of macro 'ASSERT_ARGS'
  985 |     ASSERT_ARGS(gc_ms2_allocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:321:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  321 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:985:5: note: in expansion of macro 'ASSERT_ARGS'
  985 |     ASSERT_ARGS(gc_ms2_allocate_string_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_reallocate_string_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:398:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  398 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:994:5: note: in expansion of macro 'ASSERT_ARGS'
  994 |     ASSERT_ARGS(gc_ms2_reallocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:399:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  399 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:994:5: note: in expansion of macro 'ASSERT_ARGS'
  994 |     ASSERT_ARGS(gc_ms2_reallocate_string_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_allocate_buffer_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:300:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  300 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_allocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1003:5: note: in expansion of macro 'ASSERT_ARGS'
 1003 |     ASSERT_ARGS(gc_ms2_allocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:301:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  301 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_allocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1003:5: note: in expansion of macro 'ASSERT_ARGS'
 1003 |     ASSERT_ARGS(gc_ms2_allocate_buffer_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_reallocate_buffer_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:389:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  389 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1012:5: note: in expansion of macro 'ASSERT_ARGS'
 1012 |     ASSERT_ARGS(gc_ms2_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:390:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  390 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1012:5: note: in expansion of macro 'ASSERT_ARGS'
 1012 |     ASSERT_ARGS(gc_ms2_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_free_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:343:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  343 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_free_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1580:5: note: in expansion of macro 'ASSERT_ARGS'
 1580 |     ASSERT_ARGS(gc_ms2_free_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_allocate_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:315:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  315 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_allocate_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:762:5: note: in expansion of macro 'ASSERT_ARGS'
  762 |     ASSERT_ARGS(gc_ms2_allocate_pmc_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_allocate_string_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:317:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  317 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_allocate_string_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:879:5: note: in expansion of macro 'ASSERT_ARGS'
  879 |     ASSERT_ARGS(gc_ms2_allocate_string_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_allocate_buffer_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:297:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  297 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_allocate_buffer_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:929:5: note: in expansion of macro 'ASSERT_ARGS'
  929 |     ASSERT_ARGS(gc_ms2_allocate_buffer_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_free_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:348:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  348 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_free_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:781:5: note: in expansion of macro 'ASSERT_ARGS'
  781 |     ASSERT_ARGS(gc_ms2_free_pmc_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_mark_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:375:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  375 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_mark_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:814:5: note: in expansion of macro 'ASSERT_ARGS'
  814 |     ASSERT_ARGS(gc_ms2_mark_pmc_header)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:376:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  376 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_mark_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:814:5: note: in expansion of macro 'ASSERT_ARGS'
  814 |     ASSERT_ARGS(gc_ms2_mark_pmc_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_free_string_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:350:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  350 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_free_string_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:901:5: note: in expansion of macro 'ASSERT_ARGS'
  901 |     ASSERT_ARGS(gc_ms2_free_string_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_free_buffer_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:337:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  337 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_free_buffer_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:937:5: note: in expansion of macro 'ASSERT_ARGS'
  937 |     ASSERT_ARGS(gc_ms2_free_buffer_header)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_allocate_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:306:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  306 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_allocate_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1518:5: note: in expansion of macro 'ASSERT_ARGS'
 1518 |     ASSERT_ARGS(gc_ms2_allocate_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_reallocate_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:393:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  393 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_reallocate_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1533:5: note: in expansion of macro 'ASSERT_ARGS'
 1533 |     ASSERT_ARGS(gc_ms2_reallocate_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_allocate_memory_chunk_zeroed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:309:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  309 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_allocate_memory_chunk_zeroed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1553:5: note: in expansion of macro 'ASSERT_ARGS'
 1553 |     ASSERT_ARGS(gc_ms2_allocate_memory_chunk_zeroed)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'Parrot_gc_ms2_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:744:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  744 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_ms2_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:623:5: note: in expansion of macro 'ASSERT_ARGS'
  623 |     ASSERT_ARGS(Parrot_gc_ms2_init)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:745:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  745 |     , PARROT_ASSERT_ARG(args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_ms2_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:623:5: note: in expansion of macro 'ASSERT_ARGS'
  623 |     ASSERT_ARGS(Parrot_gc_ms2_init)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_sweep_pmc_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:401:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  401 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_sweep_pmc_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1234:5: note: in expansion of macro 'ASSERT_ARGS'
 1234 |     ASSERT_ARGS(gc_ms2_sweep_pmc_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:402:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  402 |     , PARROT_ASSERT_ARG(pool) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_sweep_pmc_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1234:5: note: in expansion of macro 'ASSERT_ARGS'
 1234 |     ASSERT_ARGS(gc_ms2_sweep_pmc_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:403:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  403 |     , PARROT_ASSERT_ARG(list))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_sweep_pmc_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1234:5: note: in expansion of macro 'ASSERT_ARGS'
 1234 |     ASSERT_ARGS(gc_ms2_sweep_pmc_pool)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_destroy_pmc_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:331:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  331 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_destroy_pmc_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1282:5: note: in expansion of macro 'ASSERT_ARGS'
 1282 |     ASSERT_ARGS(gc_ms2_destroy_pmc_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:332:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  332 |     , PARROT_ASSERT_ARG(pool) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_destroy_pmc_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1282:5: note: in expansion of macro 'ASSERT_ARGS'
 1282 |     ASSERT_ARGS(gc_ms2_destroy_pmc_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:333:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  333 |     , PARROT_ASSERT_ARG(list))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_destroy_pmc_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1282:5: note: in expansion of macro 'ASSERT_ARGS'
 1282 |     ASSERT_ARGS(gc_ms2_destroy_pmc_pool)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_is_ptr_owned':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:362:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  362 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_is_ptr_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1358:5: note: in expansion of macro 'ASSERT_ARGS'
 1358 |     ASSERT_ARGS(gc_ms2_is_ptr_owned)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:363:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  363 |     , PARROT_ASSERT_ARG(pool) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_is_ptr_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1358:5: note: in expansion of macro 'ASSERT_ARGS'
 1358 |     ASSERT_ARGS(gc_ms2_is_ptr_owned)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:364:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  364 |     , PARROT_ASSERT_ARG(list))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_is_ptr_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1358:5: note: in expansion of macro 'ASSERT_ARGS'
 1358 |     ASSERT_ARGS(gc_ms2_is_ptr_owned)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_is_pmc_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:360:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  360 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_is_pmc_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:847:5: note: in expansion of macro 'ASSERT_ARGS'
  847 |     ASSERT_ARGS(gc_ms2_is_pmc_ptr)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_is_string_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:366:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  366 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_is_string_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:956:5: note: in expansion of macro 'ASSERT_ARGS'
  956 |     ASSERT_ARGS(gc_ms2_is_string_ptr)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_print_stats_always':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:741:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  741 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_print_stats_always'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1623:5: note: in expansion of macro 'ASSERT_ARGS'
 1623 |     ASSERT_ARGS(gc_ms2_print_stats_always)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'header' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:742:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  742 |     , PARROT_ASSERT_ARG(header))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_print_stats_always'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1623:5: note: in expansion of macro 'ASSERT_ARGS'
 1623 |     ASSERT_ARGS(gc_ms2_print_stats_always)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_print_stats':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:385:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  385 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_print_stats'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1662:5: note: in expansion of macro 'ASSERT_ARGS'
 1662 |     ASSERT_ARGS(gc_ms2_print_stats)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'header' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:386:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  386 |     , PARROT_ASSERT_ARG(header))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_print_stats'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1662:5: note: in expansion of macro 'ASSERT_ARGS'
 1662 |     ASSERT_ARGS(gc_ms2_print_stats)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_finalize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:335:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  335 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_finalize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:735:5: note: in expansion of macro 'ASSERT_ARGS'
  735 |     ASSERT_ARGS(gc_ms2_finalize)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_iterate_live_strings':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:368:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  368 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_iterate_live_strings'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1054:5: note: in expansion of macro 'ASSERT_ARGS'
 1054 |     ASSERT_ARGS(gc_ms2_iterate_live_strings)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_mark_live_objects':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:372:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  372 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_mark_live_objects'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1082:5: note: in expansion of macro 'ASSERT_ARGS'
 1082 |     ASSERT_ARGS(gc_ms2_mark_live_objects)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:373:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  373 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_mark_live_objects'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1082:5: note: in expansion of macro 'ASSERT_ARGS'
 1082 |     ASSERT_ARGS(gc_ms2_mark_live_objects)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_sweep_string_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:405:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  405 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_sweep_string_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1311:5: note: in expansion of macro 'ASSERT_ARGS'
 1311 |     ASSERT_ARGS(gc_ms2_sweep_string_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:406:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  406 |     , PARROT_ASSERT_ARG(pool) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_sweep_string_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1311:5: note: in expansion of macro 'ASSERT_ARGS'
 1311 |     ASSERT_ARGS(gc_ms2_sweep_string_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:407:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  407 |     , PARROT_ASSERT_ARG(list))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_sweep_string_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1311:5: note: in expansion of macro 'ASSERT_ARGS'
 1311 |     ASSERT_ARGS(gc_ms2_sweep_string_pool)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_mark_and_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:370:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  370 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_mark_and_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1122:5: note: in expansion of macro 'ASSERT_ARGS'
 1122 |     ASSERT_ARGS(gc_ms2_mark_and_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_validate_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:417:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  417 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_validate_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1692:5: note: in expansion of macro 'ASSERT_ARGS'
 1692 |     ASSERT_ARGS(gc_ms2_validate_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_ms2.c:418:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  418 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_validate_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1692:5: note: in expansion of macro 'ASSERT_ARGS'
 1692 |     ASSERT_ARGS(gc_ms2_validate_pmc)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_validate_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:420:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  420 |        PARROT_ASSERT_ARG(str))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_validate_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1710:5: note: in expansion of macro 'ASSERT_ARGS'
 1710 |     ASSERT_ARGS(gc_ms2_validate_str)
      |     ^~~~~~~~~~~
src/gc/gc_ms2.c: In function 'gc_ms2_validate_objects':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_ms2.c:415:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  415 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_ms2_validate_objects'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_ms2.c:1722:5: note: in expansion of macro 'ASSERT_ARGS'
 1722 |     ASSERT_ARGS(gc_ms2_validate_objects)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/gc/. -Isrc -o src/gc/gc_gms.o -c src/gc/gc_gms.c
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/gc_gms.c:106:
src/gc/gc_gms.c: In function 'gc_gms_mark_str_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:580:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  580 |        PARROT_ASSERT_ARG(str))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_mark_str_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1280:5: note: in expansion of macro 'ASSERT_ARGS'
 1280 |     ASSERT_ARGS(gc_gms_mark_str_header)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_iterate_live_strings':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:573:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  573 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_iterate_live_strings'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1866:5: note: in expansion of macro 'ASSERT_ARGS'
 1866 |     ASSERT_ARGS(gc_gms_iterate_live_strings)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_block_GC_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:513:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  513 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_block_GC_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1923:5: note: in expansion of macro 'ASSERT_ARGS'
 1923 |     ASSERT_ARGS(gc_gms_block_GC_mark)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_unblock_GC_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:624:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  624 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_unblock_GC_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1931:5: note: in expansion of macro 'ASSERT_ARGS'
 1931 |     ASSERT_ARGS(gc_gms_unblock_GC_mark)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_block_GC_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:517:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  517 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_block_GC_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1961:5: note: in expansion of macro 'ASSERT_ARGS'
 1961 |     ASSERT_ARGS(gc_gms_block_GC_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_unblock_GC_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:628:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  628 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_unblock_GC_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1969:5: note: in expansion of macro 'ASSERT_ARGS'
 1969 |     ASSERT_ARGS(gc_gms_unblock_GC_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_is_blocked_GC_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:565:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  565 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_is_blocked_GC_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1978:5: note: in expansion of macro 'ASSERT_ARGS'
 1978 |     ASSERT_ARGS(gc_gms_is_blocked_GC_mark)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_is_blocked_GC_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:567:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  567 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_is_blocked_GC_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1986:5: note: in expansion of macro 'ASSERT_ARGS'
 1986 |     ASSERT_ARGS(gc_gms_is_blocked_GC_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_pmc_needs_early_collection':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:587:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  587 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_pmc_needs_early_collection'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2097:5: note: in expansion of macro 'ASSERT_ARGS'
 2097 |     ASSERT_ARGS(gc_gms_pmc_needs_early_collection)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_pmc_get_youngest_generation':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:583:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  583 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_pmc_get_youngest_generation'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2540:5: note: in expansion of macro 'ASSERT_ARGS'
 2540 |     ASSERT_ARGS(gc_gms_pmc_get_youngest_generation)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:584:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  584 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_pmc_get_youngest_generation'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2540:5: note: in expansion of macro 'ASSERT_ARGS'
 2540 |     ASSERT_ARGS(gc_gms_pmc_get_youngest_generation)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_str_get_youngest_generation':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:618:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  618 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_str_get_youngest_generation'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2552:5: note: in expansion of macro 'ASSERT_ARGS'
 2552 |     ASSERT_ARGS(gc_gms_str_get_youngest_generation)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:619:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  619 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_str_get_youngest_generation'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2552:5: note: in expansion of macro 'ASSERT_ARGS'
 2552 |     ASSERT_ARGS(gc_gms_str_get_youngest_generation)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_block_GC_mark_locked':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:515:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  515 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_block_GC_mark_locked'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1940:5: note: in expansion of macro 'ASSERT_ARGS'
 1940 |     ASSERT_ARGS(gc_gms_block_GC_mark_locked)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_unblock_GC_mark_locked':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:626:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  626 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_unblock_GC_mark_locked'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1950:5: note: in expansion of macro 'ASSERT_ARGS'
 1950 |     ASSERT_ARGS(gc_gms_unblock_GC_mark_locked)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_compact_memory_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:525:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  525 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_compact_memory_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1298:5: note: in expansion of macro 'ASSERT_ARGS'
 1298 |     ASSERT_ARGS(gc_gms_compact_memory_pool)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_allocate_fixed_size_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:494:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  494 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_allocate_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1406:5: note: in expansion of macro 'ASSERT_ARGS'
 1406 |     ASSERT_ARGS(gc_gms_allocate_fixed_size_storage)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_allocate_pmc_attributes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:502:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  502 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_allocate_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1349:5: note: in expansion of macro 'ASSERT_ARGS'
 1349 |     ASSERT_ARGS(gc_gms_allocate_pmc_attributes)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:503:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  503 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_allocate_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1349:5: note: in expansion of macro 'ASSERT_ARGS'
 1349 |     ASSERT_ARGS(gc_gms_allocate_pmc_attributes)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_free_fixed_size_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:539:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  539 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_free_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1427:5: note: in expansion of macro 'ASSERT_ARGS'
 1427 |     ASSERT_ARGS(gc_gms_free_fixed_size_storage)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c:1428:8: warning: 'nonnull' argument 'data' compared to NULL [-Wnonnull-compare]
 1428 |     if (data) {
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/gc_gms.c:106:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:540:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  540 |     , PARROT_ASSERT_ARG(data))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_free_fixed_size_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1427:5: note: in expansion of macro 'ASSERT_ARGS'
 1427 |     ASSERT_ARGS(gc_gms_free_fixed_size_storage)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_get_gc_info':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:555:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  555 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_get_gc_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1451:5: note: in expansion of macro 'ASSERT_ARGS'
 1451 |     ASSERT_ARGS(gc_gms_get_gc_info)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_is_pmc_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:569:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  569 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_is_pmc_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1615:5: note: in expansion of macro 'ASSERT_ARGS'
 1615 |     ASSERT_ARGS(gc_gms_is_pmc_ptr)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_is_string_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:571:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  571 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_is_string_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1764:5: note: in expansion of macro 'ASSERT_ARGS'
 1764 |     ASSERT_ARGS(gc_gms_is_string_ptr)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_allocate_string_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:510:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  510 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1813:5: note: in expansion of macro 'ASSERT_ARGS'
 1813 |     ASSERT_ARGS(gc_gms_allocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:511:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  511 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1813:5: note: in expansion of macro 'ASSERT_ARGS'
 1813 |     ASSERT_ARGS(gc_gms_allocate_string_storage)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_reallocate_string_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:609:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  609 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1823:5: note: in expansion of macro 'ASSERT_ARGS'
 1823 |     ASSERT_ARGS(gc_gms_reallocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:610:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  610 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1823:5: note: in expansion of macro 'ASSERT_ARGS'
 1823 |     ASSERT_ARGS(gc_gms_reallocate_string_storage)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_allocate_buffer_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:490:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  490 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_allocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1833:5: note: in expansion of macro 'ASSERT_ARGS'
 1833 |     ASSERT_ARGS(gc_gms_allocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:491:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  491 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_allocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1833:5: note: in expansion of macro 'ASSERT_ARGS'
 1833 |     ASSERT_ARGS(gc_gms_allocate_buffer_storage)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_reallocate_buffer_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:600:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  600 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1843:5: note: in expansion of macro 'ASSERT_ARGS'
 1843 |     ASSERT_ARGS(gc_gms_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:601:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  601 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1843:5: note: in expansion of macro 'ASSERT_ARGS'
 1843 |     ASSERT_ARGS(gc_gms_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_free_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:542:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  542 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_free_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2075:5: note: in expansion of macro 'ASSERT_ARGS'
 2075 |     ASSERT_ARGS(gc_gms_free_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_get_low_str_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:563:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  563 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_get_low_str_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2177:5: note: in expansion of macro 'ASSERT_ARGS'
 2177 |     ASSERT_ARGS(gc_gms_get_low_str_ptr)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_get_low_pmc_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:561:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  561 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_get_low_pmc_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2195:5: note: in expansion of macro 'ASSERT_ARGS'
 2195 |     ASSERT_ARGS(gc_gms_get_low_pmc_ptr)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_get_high_str_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:559:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  559 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_get_high_str_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2186:5: note: in expansion of macro 'ASSERT_ARGS'
 2186 |     ASSERT_ARGS(gc_gms_get_high_str_ptr)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_get_high_pmc_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:557:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  557 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_get_high_pmc_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2204:5: note: in expansion of macro 'ASSERT_ARGS'
 2204 |     ASSERT_ARGS(gc_gms_get_high_pmc_ptr)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_mark_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:577:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  577 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_mark_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1232:5: note: in expansion of macro 'ASSERT_ARGS'
 1232 |     ASSERT_ARGS(gc_gms_mark_pmc_header)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:578:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  578 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_mark_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1232:5: note: in expansion of macro 'ASSERT_ARGS'
 1232 |     ASSERT_ARGS(gc_gms_mark_pmc_header)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_free_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:551:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  551 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_free_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1565:5: note: in expansion of macro 'ASSERT_ARGS'
 1565 |     ASSERT_ARGS(gc_gms_free_pmc_header)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_free_string_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:553:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  553 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_free_string_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1709:5: note: in expansion of macro 'ASSERT_ARGS'
 1709 |     ASSERT_ARGS(gc_gms_free_string_header)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_free_buffer_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:536:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  536 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_free_buffer_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1745:5: note: in expansion of macro 'ASSERT_ARGS'
 1745 |     ASSERT_ARGS(gc_gms_free_buffer_header)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_write_barrier':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:639:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  639 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_write_barrier'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2117:5: note: in expansion of macro 'ASSERT_ARGS'
 2117 |     ASSERT_ARGS(gc_gms_write_barrier)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:640:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  640 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_write_barrier'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2117:5: note: in expansion of macro 'ASSERT_ARGS'
 2117 |     ASSERT_ARGS(gc_gms_write_barrier)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_allocate_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:496:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  496 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_allocate_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2017:5: note: in expansion of macro 'ASSERT_ARGS'
 2017 |     ASSERT_ARGS(gc_gms_allocate_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_reallocate_memory_chunk':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:604:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  604 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_reallocate_memory_chunk'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2031:5: note: in expansion of macro 'ASSERT_ARGS'
 2031 |     ASSERT_ARGS(gc_gms_reallocate_memory_chunk)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_allocate_memory_chunk_zeroed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:499:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  499 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_allocate_memory_chunk_zeroed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2050:5: note: in expansion of macro 'ASSERT_ARGS'
 2050 |     ASSERT_ARGS(gc_gms_allocate_memory_chunk_zeroed)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'Parrot_gc_gms_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:767:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  767 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_gms_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:679:5: note: in expansion of macro 'ASSERT_ARGS'
  679 |     ASSERT_ARGS(Parrot_gc_gms_init)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:768:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  768 |     , PARROT_ASSERT_ARG(args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_gms_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:679:5: note: in expansion of macro 'ASSERT_ARGS'
  679 |     ASSERT_ARGS(Parrot_gc_gms_init)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_select_generation_to_collect':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:615:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  615 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_select_generation_to_collect'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:933:5: note: in expansion of macro 'ASSERT_ARGS'
  933 |     ASSERT_ARGS(gc_gms_select_generation_to_collect)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_cleanup_dirty_list':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:521:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  521 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_cleanup_dirty_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:990:5: note: in expansion of macro 'ASSERT_ARGS'
  990 |     ASSERT_ARGS(gc_gms_cleanup_dirty_list)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:522:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  522 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_cleanup_dirty_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:990:5: note: in expansion of macro 'ASSERT_ARGS'
  990 |     ASSERT_ARGS(gc_gms_cleanup_dirty_list)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dirty_list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:523:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  523 |     , PARROT_ASSERT_ARG(dirty_list))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_cleanup_dirty_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:990:5: note: in expansion of macro 'ASSERT_ARGS'
  990 |     ASSERT_ARGS(gc_gms_cleanup_dirty_list)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_process_dirty_list':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:592:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  592 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_process_dirty_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1058:5: note: in expansion of macro 'ASSERT_ARGS'
 1058 |     ASSERT_ARGS(gc_gms_process_dirty_list)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dirty_list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:593:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  593 |     , PARROT_ASSERT_ARG(dirty_list))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_process_dirty_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1058:5: note: in expansion of macro 'ASSERT_ARGS'
 1058 |     ASSERT_ARGS(gc_gms_process_dirty_list)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_free_pmc_attributes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:544:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  544 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_free_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1389:5: note: in expansion of macro 'ASSERT_ARGS'
 1389 |     ASSERT_ARGS(gc_gms_free_pmc_attributes)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:545:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  545 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_free_pmc_attributes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1389:5: note: in expansion of macro 'ASSERT_ARGS'
 1389 |     ASSERT_ARGS(gc_gms_free_pmc_attributes)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_sweep_pools':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:621:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  621 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_sweep_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1129:5: note: in expansion of macro 'ASSERT_ARGS'
 1129 |     ASSERT_ARGS(gc_gms_sweep_pools)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:622:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  622 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_sweep_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1129:5: note: in expansion of macro 'ASSERT_ARGS'
 1129 |     ASSERT_ARGS(gc_gms_sweep_pools)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_free_pmc_attributes_locked':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:548:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  548 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_free_pmc_attributes_locked'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1372:5: note: in expansion of macro 'ASSERT_ARGS'
 1372 |     ASSERT_ARGS(gc_gms_free_pmc_attributes_locked)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:549:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  549 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_free_pmc_attributes_locked'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1372:5: note: in expansion of macro 'ASSERT_ARGS'
 1372 |     ASSERT_ARGS(gc_gms_free_pmc_attributes_locked)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_finalize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:534:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  534 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_finalize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1496:5: note: in expansion of macro 'ASSERT_ARGS'
 1496 |     ASSERT_ARGS(gc_gms_finalize)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_count_used_string_memory':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:531:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  531 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_count_used_string_memory'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2226:5: note: in expansion of macro 'ASSERT_ARGS'
 2226 |     ASSERT_ARGS(gc_gms_count_used_string_memory)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:532:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  532 |     , PARROT_ASSERT_ARG(list))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_count_used_string_memory'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2226:5: note: in expansion of macro 'ASSERT_ARGS'
 2226 |     ASSERT_ARGS(gc_gms_count_used_string_memory)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_count_used_pmc_memory':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:527:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  527 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_count_used_pmc_memory'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2260:5: note: in expansion of macro 'ASSERT_ARGS'
 2260 |     ASSERT_ARGS(gc_gms_count_used_pmc_memory)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:528:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  528 |     , PARROT_ASSERT_ARG(list))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_count_used_pmc_memory'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2260:5: note: in expansion of macro 'ASSERT_ARGS'
 2260 |     ASSERT_ARGS(gc_gms_count_used_pmc_memory)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_seal_object':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:612:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  612 |        PARROT_ASSERT_ARG(pmc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_seal_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2291:5: note: in expansion of macro 'ASSERT_ARGS'
 2291 |     ASSERT_ARGS(gc_gms_seal_object)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_unseal_object':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:630:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  630 |        PARROT_ASSERT_ARG(pmc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_unseal_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2299:5: note: in expansion of macro 'ASSERT_ARGS'
 2299 |     ASSERT_ARGS(gc_gms_unseal_object)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_check_sanity':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:519:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  519 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_check_sanity'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2319:5: note: in expansion of macro 'ASSERT_ARGS'
 2319 |     ASSERT_ARGS(gc_gms_check_sanity)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_print_stats_always':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:764:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  764 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_print_stats_always'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2386:5: note: in expansion of macro 'ASSERT_ARGS'
 2386 |     ASSERT_ARGS(gc_gms_print_stats_always)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'header' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:765:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  765 |     , PARROT_ASSERT_ARG(header))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_print_stats_always'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2386:5: note: in expansion of macro 'ASSERT_ARGS'
 2386 |     ASSERT_ARGS(gc_gms_print_stats_always)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_print_stats':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:589:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  589 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_print_stats'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2433:5: note: in expansion of macro 'ASSERT_ARGS'
 2433 |     ASSERT_ARGS(gc_gms_print_stats)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'header' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:590:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  590 |     , PARROT_ASSERT_ARG(header))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_print_stats'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2433:5: note: in expansion of macro 'ASSERT_ARGS'
 2433 |     ASSERT_ARGS(gc_gms_print_stats)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_process_work_list':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:595:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  595 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_process_work_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1086:5: note: in expansion of macro 'ASSERT_ARGS'
 1086 |     ASSERT_ARGS(gc_gms_process_work_list)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:596:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  596 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_process_work_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1086:5: note: in expansion of macro 'ASSERT_ARGS'
 1086 |     ASSERT_ARGS(gc_gms_process_work_list)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'work_list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:597:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  597 |     , PARROT_ASSERT_ARG(work_list))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_process_work_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1086:5: note: in expansion of macro 'ASSERT_ARGS'
 1086 |     ASSERT_ARGS(gc_gms_process_work_list)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_validate_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:634:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  634 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_validate_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2461:5: note: in expansion of macro 'ASSERT_ARGS'
 2461 |     ASSERT_ARGS(gc_gms_validate_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_gms.c:635:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  635 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_validate_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2461:5: note: in expansion of macro 'ASSERT_ARGS'
 2461 |     ASSERT_ARGS(gc_gms_validate_pmc)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_validate_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:637:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  637 |        PARROT_ASSERT_ARG(str))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_validate_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2479:5: note: in expansion of macro 'ASSERT_ARGS'
 2479 |     ASSERT_ARGS(gc_gms_validate_str)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_validate_objects':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:632:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  632 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_validate_objects'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2491:5: note: in expansion of macro 'ASSERT_ARGS'
 2491 |     ASSERT_ARGS(gc_gms_validate_objects)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_mark_and_sweep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:575:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  575 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_mark_and_sweep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:800:5: note: in expansion of macro 'ASSERT_ARGS'
  800 |     ASSERT_ARGS(gc_gms_mark_and_sweep)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_allocate_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:505:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  505 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_allocate_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1537:5: note: in expansion of macro 'ASSERT_ARGS'
 1537 |     ASSERT_ARGS(gc_gms_allocate_pmc_header)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_allocate_string_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:507:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  507 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_allocate_string_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1678:5: note: in expansion of macro 'ASSERT_ARGS'
 1678 |     ASSERT_ARGS(gc_gms_allocate_string_header)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'gc_gms_allocate_buffer_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_gms.c:487:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  487 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gc_gms_allocate_buffer_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:1738:5: note: in expansion of macro 'ASSERT_ARGS'
 1738 |     ASSERT_ARGS(gc_gms_allocate_buffer_header)
      |     ^~~~~~~~~~~
src/gc/gc_gms.c: In function 'pobj2gen':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:770:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  770 |        PARROT_ASSERT_ARG(pmc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pobj2gen'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/gc_gms.c:2576:5: note: in expansion of macro 'ASSERT_ARGS'
 2576 |     ASSERT_ARGS(pobj2gen)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/gc/. -Isrc -o src/gc/mark_sweep.o -c src/gc/mark_sweep.c
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/mark_sweep.c:25:
src/gc/mark_sweep.c: In function 'free_pmc_in_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/mark_sweep.c:90:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   90 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_pmc_in_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:575:5: note: in expansion of macro 'ASSERT_ARGS'
  575 |     ASSERT_ARGS(free_pmc_in_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/mark_sweep.c:91:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   91 |     , PARROT_ASSERT_ARG(mem_pools) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_pmc_in_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:575:5: note: in expansion of macro 'ASSERT_ARGS'
  575 |     ASSERT_ARGS(free_pmc_in_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'p' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/mark_sweep.c:92:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   92 |     , PARROT_ASSERT_ARG(p))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_pmc_in_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:575:5: note: in expansion of macro 'ASSERT_ARGS'
  575 |     ASSERT_ARGS(free_pmc_in_pool)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'free_buffer':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/mark_sweep.c:86:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   86 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_buffer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:696:5: note: in expansion of macro 'ASSERT_ARGS'
  696 |     ASSERT_ARGS(free_buffer)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/mark_sweep.c:87:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   87 |     , PARROT_ASSERT_ARG(mem_pools) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_buffer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:696:5: note: in expansion of macro 'ASSERT_ARGS'
  696 |     ASSERT_ARGS(free_buffer)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/mark_sweep.c:88:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   88 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_buffer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:696:5: note: in expansion of macro 'ASSERT_ARGS'
  696 |     ASSERT_ARGS(free_buffer)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'Parrot_gc_run_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:545:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  545 |        PARROT_ASSERT_ARG(mem_pools))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_run_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:126:5: note: in expansion of macro 'ASSERT_ARGS'
  126 |     ASSERT_ARGS(Parrot_gc_run_init)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'mark_code_segment':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/mark_sweep.c:94:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   94 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mark_code_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:283:5: note: in expansion of macro 'ASSERT_ARGS'
  283 |     ASSERT_ARGS(mark_code_segment)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'mark_interp':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/mark_sweep.c:96:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   96 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mark_interp'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:215:5: note: in expansion of macro 'ASSERT_ARGS'
  215 |     ASSERT_ARGS(mark_interp)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'Parrot_gc_trace_root':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:551:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  551 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_trace_root'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:169:5: note: in expansion of macro 'ASSERT_ARGS'
  169 |     ASSERT_ARGS(Parrot_gc_trace_root)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'Parrot_gc_sweep_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:547:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  547 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_sweep_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:317:5: note: in expansion of macro 'ASSERT_ARGS'
  317 |     ASSERT_ARGS(Parrot_gc_sweep_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:548:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  548 |     , PARROT_ASSERT_ARG(mem_pools) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_sweep_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:317:5: note: in expansion of macro 'ASSERT_ARGS'
  317 |     ASSERT_ARGS(Parrot_gc_sweep_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:549:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  549 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_sweep_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:317:5: note: in expansion of macro 'ASSERT_ARGS'
  317 |     ASSERT_ARGS(Parrot_gc_sweep_pool)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'contained_in_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:520:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  520 |        PARROT_ASSERT_ARG(pool) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_contained_in_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:372:5: note: in expansion of macro 'ASSERT_ARGS'
  372 |     ASSERT_ARGS(contained_in_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ptr' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:521:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  521 |     , PARROT_ASSERT_ARG(ptr))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_contained_in_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:372:5: note: in expansion of macro 'ASSERT_ARGS'
  372 |     ASSERT_ARGS(contained_in_pool)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'mark_special':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:533:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  533 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mark_special'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:403:5: note: in expansion of macro 'ASSERT_ARGS'
  403 |     ASSERT_ARGS(mark_special)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:534:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  534 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mark_special'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:403:5: note: in expansion of macro 'ASSERT_ARGS'
  403 |     ASSERT_ARGS(mark_special)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'Parrot_gc_clear_live_bits':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:543:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  543 |        PARROT_ASSERT_ARG(pool))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_clear_live_bits'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:435:5: note: in expansion of macro 'ASSERT_ARGS'
  435 |     ASSERT_ARGS(Parrot_gc_clear_live_bits)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'Parrot_add_to_free_list':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:536:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  536 |        PARROT_ASSERT_ARG(pool) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_add_to_free_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:467:5: note: in expansion of macro 'ASSERT_ARGS'
  467 |     ASSERT_ARGS(Parrot_add_to_free_list)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arena' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:537:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  537 |     , PARROT_ASSERT_ARG(arena))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_add_to_free_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:467:5: note: in expansion of macro 'ASSERT_ARGS'
  467 |     ASSERT_ARGS(Parrot_add_to_free_list)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'Parrot_append_arena_in_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:539:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  539 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_append_arena_in_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:504:5: note: in expansion of macro 'ASSERT_ARGS'
  504 |     ASSERT_ARGS(Parrot_append_arena_in_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:540:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  540 |     , PARROT_ASSERT_ARG(pool) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_append_arena_in_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:504:5: note: in expansion of macro 'ASSERT_ARGS'
  504 |     ASSERT_ARGS(Parrot_append_arena_in_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'new_arena' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:541:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  541 |     , PARROT_ASSERT_ARG(new_arena))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_append_arena_in_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:504:5: note: in expansion of macro 'ASSERT_ARGS'
  504 |     ASSERT_ARGS(Parrot_append_arena_in_pool)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'new_pmc_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/mark_sweep.c:101:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  101 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_new_pmc_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:548:5: note: in expansion of macro 'ASSERT_ARGS'
  548 |     ASSERT_ARGS(new_pmc_pool)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'new_bufferlike_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/mark_sweep.c:98:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   98 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_new_bufferlike_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:604:5: note: in expansion of macro 'ASSERT_ARGS'
  604 |     ASSERT_ARGS(new_bufferlike_pool)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'get_bufferlike_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:523:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  523 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_bufferlike_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:725:5: note: in expansion of macro 'ASSERT_ARGS'
  725 |     ASSERT_ARGS(get_bufferlike_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:524:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  524 |     , PARROT_ASSERT_ARG(mem_pools))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_bufferlike_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:725:5: note: in expansion of macro 'ASSERT_ARGS'
  725 |     ASSERT_ARGS(get_bufferlike_pool)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'new_string_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/mark_sweep.c:103:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  103 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_new_string_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:666:5: note: in expansion of macro 'ASSERT_ARGS'
  666 |     ASSERT_ARGS(new_string_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/mark_sweep.c:104:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |     , PARROT_ASSERT_ARG(mem_pools))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_new_string_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:666:5: note: in expansion of macro 'ASSERT_ARGS'
  666 |     ASSERT_ARGS(new_string_pool)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'initialize_fixed_size_pools':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:530:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  530 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_initialize_fixed_size_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:770:5: note: in expansion of macro 'ASSERT_ARGS'
  770 |     ASSERT_ARGS(initialize_fixed_size_pools)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:531:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  531 |     , PARROT_ASSERT_ARG(mem_pools))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_initialize_fixed_size_pools'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:770:5: note: in expansion of macro 'ASSERT_ARGS'
  770 |     ASSERT_ARGS(initialize_fixed_size_pools)
      |     ^~~~~~~~~~~
src/gc/mark_sweep.c: In function 'header_pools_iterate_callback':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:526:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  526 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_header_pools_iterate_callback'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:847:5: note: in expansion of macro 'ASSERT_ARGS'
  847 |     ASSERT_ARGS(header_pools_iterate_callback)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem_pools' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:527:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  527 |     , PARROT_ASSERT_ARG(mem_pools) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_header_pools_iterate_callback'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:847:5: note: in expansion of macro 'ASSERT_ARGS'
  847 |     ASSERT_ARGS(header_pools_iterate_callback)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'func' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:528:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  528 |     , PARROT_ASSERT_ARG(func))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_header_pools_iterate_callback'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/mark_sweep.c:847:5: note: in expansion of macro 'ASSERT_ARGS'
  847 |     ASSERT_ARGS(header_pools_iterate_callback)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden \
  -Isrc/gc/. -o src/gc/system.o -c src/gc/system.c
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/system.c:28:
src/gc/system.c: In function 'get_max_buffer_address':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/system.c:75:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   75 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_max_buffer_address'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/system.c:262:5: note: in expansion of macro 'ASSERT_ARGS'
  262 |     ASSERT_ARGS(get_max_buffer_address)
      |     ^~~~~~~~~~~
src/gc/system.c: In function 'get_min_buffer_address':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/system.c:79:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   79 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_min_buffer_address'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/system.c:304:5: note: in expansion of macro 'ASSERT_ARGS'
  304 |     ASSERT_ARGS(get_min_buffer_address)
      |     ^~~~~~~~~~~
src/gc/system.c: In function 'get_max_pmc_address':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/system.c:77:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   77 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_max_pmc_address'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/system.c:341:5: note: in expansion of macro 'ASSERT_ARGS'
  341 |     ASSERT_ARGS(get_max_pmc_address)
      |     ^~~~~~~~~~~
src/gc/system.c: In function 'get_min_pmc_address':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/system.c:81:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   81 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_min_pmc_address'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/system.c:369:5: note: in expansion of macro 'ASSERT_ARGS'
  369 |     ASSERT_ARGS(get_min_pmc_address)
      |     ^~~~~~~~~~~
src/gc/system.c: In function 'find_common_mask':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/system.c:73:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   73 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_common_mask'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/system.c:397:5: note: in expansion of macro 'ASSERT_ARGS'
  397 |     ASSERT_ARGS(find_common_mask)
      |     ^~~~~~~~~~~
src/gc/system.c: In function 'trace_mem_block':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/system.c:83:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   83 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_mem_block'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/system.c:441:5: note: in expansion of macro 'ASSERT_ARGS'
  441 |     ASSERT_ARGS(trace_mem_block)
      |     ^~~~~~~~~~~
src/gc/system.c: In function 'trace_system_stack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/system.c:85:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   85 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_system_stack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/system.c:231:5: note: in expansion of macro 'ASSERT_ARGS'
  231 |     ASSERT_ARGS(trace_system_stack)
      |     ^~~~~~~~~~~
src/gc/system.c: In function 'trace_system_areas':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:433:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  433 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_system_areas'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/system.c:106:5: note: in expansion of macro 'ASSERT_ARGS'
  106 |     ASSERT_ARGS(trace_system_areas)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/gc/. -Isrc -o src/gc/fixed_allocator.o -c src/gc/fixed_allocator.c
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/fixed_allocator.c:18:
src/gc/fixed_allocator.c: In function 'Parrot_gc_pool_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/fixed_allocator.h:185:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  185 |        PARROT_ASSERT_ARG(pool))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pool_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:322:5: note: in expansion of macro 'ASSERT_ARGS'
  322 |     ASSERT_ARGS(Parrot_gc_pool_destroy)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'Parrot_gc_fixed_allocator_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:171:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  171 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_fixed_allocator_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:148:5: note: in expansion of macro 'ASSERT_ARGS'
  148 |     ASSERT_ARGS(Parrot_gc_fixed_allocator_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'allocator' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:172:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  172 |     , PARROT_ASSERT_ARG(allocator))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_fixed_allocator_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:148:5: note: in expansion of macro 'ASSERT_ARGS'
  148 |     ASSERT_ARGS(Parrot_gc_fixed_allocator_destroy)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'Parrot_gc_pool_low_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/fixed_allocator.h:198:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  198 |        PARROT_ASSERT_ARG(pool))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pool_low_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:385:5: note: in expansion of macro 'ASSERT_ARGS'
  385 |     ASSERT_ARGS(Parrot_gc_pool_low_ptr)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'Parrot_gc_pool_high_ptr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/fixed_allocator.h:196:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  196 |        PARROT_ASSERT_ARG(pool))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pool_high_ptr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:393:5: note: in expansion of macro 'ASSERT_ARGS'
  393 |     ASSERT_ARGS(Parrot_gc_pool_high_ptr)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'get_free_list_item':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/fixed_allocator.c:83:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   83 |        PARROT_ASSERT_ARG(pool))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_free_list_item'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:426:5: note: in expansion of macro 'ASSERT_ARGS'
  426 |     ASSERT_ARGS(get_free_list_item)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'get_newfree_list_item':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/fixed_allocator.c:85:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   85 |        PARROT_ASSERT_ARG(pool))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_newfree_list_item'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:453:5: note: in expansion of macro 'ASSERT_ARGS'
  453 |     ASSERT_ARGS(get_newfree_list_item)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'pool_free':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.c:90:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   90 |        PARROT_ASSERT_ARG(pool) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pool_free'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:466:5: note: in expansion of macro 'ASSERT_ARGS'
  466 |     ASSERT_ARGS(pool_free)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.c:91:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   91 |     , PARROT_ASSERT_ARG(data))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pool_free'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:466:5: note: in expansion of macro 'ASSERT_ARGS'
  466 |     ASSERT_ARGS(pool_free)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'Parrot_gc_fixed_allocator_free':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:175:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  175 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_fixed_allocator_free'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:212:5: note: in expansion of macro 'ASSERT_ARGS'
  212 |     ASSERT_ARGS(Parrot_gc_fixed_allocator_free)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'allocator' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:176:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  176 |     , PARROT_ASSERT_ARG(allocator) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_fixed_allocator_free'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:212:5: note: in expansion of macro 'ASSERT_ARGS'
  212 |     ASSERT_ARGS(Parrot_gc_fixed_allocator_free)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:177:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  177 |     , PARROT_ASSERT_ARG(data))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_fixed_allocator_free'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:212:5: note: in expansion of macro 'ASSERT_ARGS'
  212 |     ASSERT_ARGS(Parrot_gc_fixed_allocator_free)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'Parrot_gc_pool_free':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:187:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  187 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pool_free'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:347:5: note: in expansion of macro 'ASSERT_ARGS'
  347 |     ASSERT_ARGS(Parrot_gc_pool_free)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:188:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  188 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pool_free'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:347:5: note: in expansion of macro 'ASSERT_ARGS'
  347 |     ASSERT_ARGS(Parrot_gc_pool_free)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'pool_is_maybe_owned':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.c:93:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   93 |        PARROT_ASSERT_ARG(pool) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pool_is_maybe_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:484:5: note: in expansion of macro 'ASSERT_ARGS'
  484 |     ASSERT_ARGS(pool_is_maybe_owned)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ptr' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.c:94:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   94 |     , PARROT_ASSERT_ARG(ptr))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pool_is_maybe_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:484:5: note: in expansion of macro 'ASSERT_ARGS'
  484 |     ASSERT_ARGS(pool_is_maybe_owned)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'Parrot_gc_pool_is_maybe_owned':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:190:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  190 |        PARROT_ASSERT_ARG(pool) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pool_is_maybe_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:366:5: note: in expansion of macro 'ASSERT_ARGS'
  366 |     ASSERT_ARGS(Parrot_gc_pool_is_maybe_owned)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ptr' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:191:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  191 |     , PARROT_ASSERT_ARG(ptr))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pool_is_maybe_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:366:5: note: in expansion of macro 'ASSERT_ARGS'
  366 |     ASSERT_ARGS(Parrot_gc_pool_is_maybe_owned)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'pool_is_owned':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.c:96:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   96 |        PARROT_ASSERT_ARG(pool) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pool_is_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:497:5: note: in expansion of macro 'ASSERT_ARGS'
  497 |     ASSERT_ARGS(pool_is_owned)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ptr' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.c:97:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   97 |     , PARROT_ASSERT_ARG(ptr))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pool_is_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:497:5: note: in expansion of macro 'ASSERT_ARGS'
  497 |     ASSERT_ARGS(pool_is_owned)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'Parrot_gc_pool_is_owned':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:193:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  193 |        PARROT_ASSERT_ARG(pool) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pool_is_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:356:5: note: in expansion of macro 'ASSERT_ARGS'
  356 |     ASSERT_ARGS(Parrot_gc_pool_is_owned)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ptr' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:194:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  194 |     , PARROT_ASSERT_ARG(ptr))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pool_is_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:356:5: note: in expansion of macro 'ASSERT_ARGS'
  356 |     ASSERT_ARGS(Parrot_gc_pool_is_owned)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'arena_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/fixed_allocator.c:81:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   81 |        PARROT_ASSERT_ARG(self))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_arena_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:588:5: note: in expansion of macro 'ASSERT_ARGS'
  588 |     ASSERT_ARGS(arena_size)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'Parrot_gc_pool_allocated_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/fixed_allocator.h:183:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  183 |        PARROT_ASSERT_ARG(pool))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pool_allocated_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:376:5: note: in expansion of macro 'ASSERT_ARGS'
  376 |     ASSERT_ARGS(Parrot_gc_pool_allocated_size)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'Parrot_gc_fixed_allocator_allocated_memory':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:167:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  167 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_fixed_allocator_allocated_memory'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:227:5: note: in expansion of macro 'ASSERT_ARGS'
  227 |     ASSERT_ARGS(Parrot_gc_fixed_allocator_allocated_memory)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'allocator' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:168:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  168 |     , PARROT_ASSERT_ARG(allocator))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_fixed_allocator_allocated_memory'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:227:5: note: in expansion of macro 'ASSERT_ARGS'
  227 |     ASSERT_ARGS(Parrot_gc_fixed_allocator_allocated_memory)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'allocate_new_pool_arena':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.c:78:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   78 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_allocate_new_pool_arena'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:530:5: note: in expansion of macro 'ASSERT_ARGS'
  530 |     ASSERT_ARGS(allocate_new_pool_arena)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.c:79:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   79 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_allocate_new_pool_arena'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:530:5: note: in expansion of macro 'ASSERT_ARGS'
  530 |     ASSERT_ARGS(allocate_new_pool_arena)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'pool_allocate':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.c:87:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   87 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pool_allocate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:438:5: note: in expansion of macro 'ASSERT_ARGS'
  438 |     ASSERT_ARGS(pool_allocate)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.c:88:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   88 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pool_allocate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:438:5: note: in expansion of macro 'ASSERT_ARGS'
  438 |     ASSERT_ARGS(pool_allocate)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'Parrot_gc_fixed_allocator_allocate':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:163:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  163 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_fixed_allocator_allocate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:167:5: note: in expansion of macro 'ASSERT_ARGS'
  167 |     ASSERT_ARGS(Parrot_gc_fixed_allocator_allocate)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'allocator' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:164:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  164 |     , PARROT_ASSERT_ARG(allocator))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_fixed_allocator_allocate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:167:5: note: in expansion of macro 'ASSERT_ARGS'
  167 |     ASSERT_ARGS(Parrot_gc_fixed_allocator_allocate)
      |     ^~~~~~~~~~~
src/gc/fixed_allocator.c: In function 'Parrot_gc_pool_allocate':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:180:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  180 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pool_allocate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:339:5: note: in expansion of macro 'ASSERT_ARGS'
  339 |     ASSERT_ARGS(Parrot_gc_pool_allocate)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/fixed_allocator.h:181:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  181 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_pool_allocate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/fixed_allocator.c:339:5: note: in expansion of macro 'ASSERT_ARGS'
  339 |     ASSERT_ARGS(Parrot_gc_pool_allocate)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/gc/. -Isrc -o src/gc/variable_size_pool.o -c src/gc/variable_size_pool.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/gc/. -Isrc -o src/gc/string_gc.o -c src/gc/string_gc.c
src/gc/string_gc.c: In function 'buffer_location':
src/gc/string_gc.c:715:28: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  715 |         if ((PObj *)obj == (PObj *)b) {
      |                            ^
In file included from ./include/parrot/parrot.h:261,
                 from src/gc/string_gc.c:20:
src/gc/string_gc.c: In function 'Parrot_gc_str_free_buffer_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'gc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:850:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  850 |        PARROT_ASSERT_ARG(gc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_free_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:472:5: note: in expansion of macro 'ASSERT_ARGS'
  472 |     ASSERT_ARGS(Parrot_gc_str_free_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:851:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  851 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_free_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:472:5: note: in expansion of macro 'ASSERT_ARGS'
  472 |     ASSERT_ARGS(Parrot_gc_str_free_buffer_storage)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'alloc_new_block':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:139:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  139 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_alloc_new_block'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:550:5: note: in expansion of macro 'ASSERT_ARGS'
  550 |     ASSERT_ARGS(alloc_new_block)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'stats' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:140:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  140 |     , PARROT_ASSERT_ARG(stats) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_alloc_new_block'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:550:5: note: in expansion of macro 'ASSERT_ARGS'
  550 |     ASSERT_ARGS(alloc_new_block)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:141:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  141 |     , PARROT_ASSERT_ARG(pool) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_alloc_new_block'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:550:5: note: in expansion of macro 'ASSERT_ARGS'
  550 |     ASSERT_ARGS(alloc_new_block)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'why' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:142:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  142 |     , PARROT_ASSERT_ARG(why))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_alloc_new_block'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:550:5: note: in expansion of macro 'ASSERT_ARGS'
  550 |     ASSERT_ARGS(alloc_new_block)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'Parrot_gc_str_initialize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:853:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  853 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_initialize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:195:5: note: in expansion of macro 'ASSERT_ARGS'
  195 |     ASSERT_ARGS(Parrot_gc_str_initialize)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'gc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:854:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  854 |     , PARROT_ASSERT_ARG(gc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_initialize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:195:5: note: in expansion of macro 'ASSERT_ARGS'
  195 |     ASSERT_ARGS(Parrot_gc_str_initialize)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'mem_allocate':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:161:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  161 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mem_allocate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:626:5: note: in expansion of macro 'ASSERT_ARGS'
  626 |     ASSERT_ARGS(mem_allocate)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'stats' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:162:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  162 |     , PARROT_ASSERT_ARG(stats) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mem_allocate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:626:5: note: in expansion of macro 'ASSERT_ARGS'
  626 |     ASSERT_ARGS(mem_allocate)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:163:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  163 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mem_allocate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:626:5: note: in expansion of macro 'ASSERT_ARGS'
  626 |     ASSERT_ARGS(mem_allocate)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'Parrot_gc_str_allocate_string_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:840:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  840 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:339:5: note: in expansion of macro 'ASSERT_ARGS'
  339 |     ASSERT_ARGS(Parrot_gc_str_allocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'gc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:841:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  841 |     , PARROT_ASSERT_ARG(gc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:339:5: note: in expansion of macro 'ASSERT_ARGS'
  339 |     ASSERT_ARGS(Parrot_gc_str_allocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:842:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  842 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_allocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:339:5: note: in expansion of macro 'ASSERT_ARGS'
  339 |     ASSERT_ARGS(Parrot_gc_str_allocate_string_storage)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'Parrot_gc_str_reallocate_string_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:862:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  862 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:389:5: note: in expansion of macro 'ASSERT_ARGS'
  389 |     ASSERT_ARGS(Parrot_gc_str_reallocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'gc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:863:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  863 |     , PARROT_ASSERT_ARG(gc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:389:5: note: in expansion of macro 'ASSERT_ARGS'
  389 |     ASSERT_ARGS(Parrot_gc_str_reallocate_string_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:864:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  864 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_reallocate_string_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:389:5: note: in expansion of macro 'ASSERT_ARGS'
  389 |     ASSERT_ARGS(Parrot_gc_str_reallocate_string_storage)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'aligned_mem':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer_unused' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:136:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  136 |        PARROT_ASSERT_ARG(buffer_unused) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_aligned_mem'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:680:5: note: in expansion of macro 'ASSERT_ARGS'
  680 |     ASSERT_ARGS(aligned_mem)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mem' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:137:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  137 |     , PARROT_ASSERT_ARG(mem))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_aligned_mem'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:680:5: note: in expansion of macro 'ASSERT_ARGS'
  680 |     ASSERT_ARGS(aligned_mem)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'Parrot_gc_str_allocate_buffer_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:835:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  835 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_allocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:245:5: note: in expansion of macro 'ASSERT_ARGS'
  245 |     ASSERT_ARGS(Parrot_gc_str_allocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'gc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:836:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  836 |     , PARROT_ASSERT_ARG(gc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_allocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:245:5: note: in expansion of macro 'ASSERT_ARGS'
  245 |     ASSERT_ARGS(Parrot_gc_str_allocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:837:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  837 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_allocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:245:5: note: in expansion of macro 'ASSERT_ARGS'
  245 |     ASSERT_ARGS(Parrot_gc_str_allocate_buffer_storage)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'Parrot_gc_str_reallocate_buffer_storage':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:857:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  857 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:281:5: note: in expansion of macro 'ASSERT_ARGS'
  281 |     ASSERT_ARGS(Parrot_gc_str_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'gc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:858:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  858 |     , PARROT_ASSERT_ARG(gc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:281:5: note: in expansion of macro 'ASSERT_ARGS'
  281 |     ASSERT_ARGS(Parrot_gc_str_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:859:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  859 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_reallocate_buffer_storage'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:281:5: note: in expansion of macro 'ASSERT_ARGS'
  281 |     ASSERT_ARGS(Parrot_gc_str_reallocate_buffer_storage)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'buffer_location':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:144:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  144 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_buffer_location'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:708:5: note: in expansion of macro 'ASSERT_ARGS'
  708 |     ASSERT_ARGS(buffer_location)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:145:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_buffer_location'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:708:5: note: in expansion of macro 'ASSERT_ARGS'
  708 |     ASSERT_ARGS(buffer_location)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'debug_print_buf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:151:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  151 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_debug_print_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:737:5: note: in expansion of macro 'ASSERT_ARGS'
  737 |     ASSERT_ARGS(debug_print_buf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:152:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_debug_print_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:737:5: note: in expansion of macro 'ASSERT_ARGS'
  737 |     ASSERT_ARGS(debug_print_buf)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'move_one_buffer':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:169:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  169 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_move_one_buffer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:925:5: note: in expansion of macro 'ASSERT_ARGS'
  925 |     ASSERT_ARGS(move_one_buffer)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:170:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  170 |     , PARROT_ASSERT_ARG(pool) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_move_one_buffer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:925:5: note: in expansion of macro 'ASSERT_ARGS'
  925 |     ASSERT_ARGS(move_one_buffer)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'old_buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:171:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  171 |     , PARROT_ASSERT_ARG(old_buf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_move_one_buffer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:925:5: note: in expansion of macro 'ASSERT_ARGS'
  925 |     ASSERT_ARGS(move_one_buffer)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'is_block_almost_full':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'block' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/string_gc.c:159:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  159 |        PARROT_ASSERT_ARG(block))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_is_block_almost_full'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:1079:5: note: in expansion of macro 'ASSERT_ARGS'
 1079 |     ASSERT_ARGS(is_block_almost_full)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'move_buffer_callback':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:165:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_move_buffer_callback'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:822:5: note: in expansion of macro 'ASSERT_ARGS'
  822 |     ASSERT_ARGS(move_buffer_callback)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:166:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  166 |     , PARROT_ASSERT_ARG(b) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_move_buffer_callback'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:822:5: note: in expansion of macro 'ASSERT_ARGS'
  822 |     ASSERT_ARGS(move_buffer_callback)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:167:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  167 |     , PARROT_ASSERT_ARG(data))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_move_buffer_callback'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:822:5: note: in expansion of macro 'ASSERT_ARGS'
  822 |     ASSERT_ARGS(move_buffer_callback)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'pad_pool_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:174:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  174 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pad_pool_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:871:5: note: in expansion of macro 'ASSERT_ARGS'
  871 |     ASSERT_ARGS(pad_pool_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:175:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  175 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pad_pool_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:871:5: note: in expansion of macro 'ASSERT_ARGS'
  871 |     ASSERT_ARGS(pad_pool_size)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'free_old_mem_blocks':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'stats' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:155:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  155 |        PARROT_ASSERT_ARG(stats) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_old_mem_blocks'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:1022:5: note: in expansion of macro 'ASSERT_ARGS'
 1022 |     ASSERT_ARGS(free_old_mem_blocks)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:156:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  156 |     , PARROT_ASSERT_ARG(pool) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_old_mem_blocks'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:1022:5: note: in expansion of macro 'ASSERT_ARGS'
 1022 |     ASSERT_ARGS(free_old_mem_blocks)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'new_block' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:157:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  157 |     , PARROT_ASSERT_ARG(new_block))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_old_mem_blocks'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:1022:5: note: in expansion of macro 'ASSERT_ARGS'
 1022 |     ASSERT_ARGS(free_old_mem_blocks)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'compact_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:147:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  147 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_compact_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:767:5: note: in expansion of macro 'ASSERT_ARGS'
  767 |     ASSERT_ARGS(compact_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'stats' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:148:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  148 |     , PARROT_ASSERT_ARG(stats) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_compact_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:767:5: note: in expansion of macro 'ASSERT_ARGS'
  767 |     ASSERT_ARGS(compact_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pool' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/string_gc.c:149:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  149 |     , PARROT_ASSERT_ARG(pool))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_compact_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:767:5: note: in expansion of macro 'ASSERT_ARGS'
  767 |     ASSERT_ARGS(compact_pool)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'Parrot_gc_str_compact_pool':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:844:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  844 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_compact_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:451:5: note: in expansion of macro 'ASSERT_ARGS'
  451 |     ASSERT_ARGS(Parrot_gc_str_compact_pool)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'gc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gc/gc_private.h:845:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  845 |     , PARROT_ASSERT_ARG(gc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_compact_pool'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:451:5: note: in expansion of macro 'ASSERT_ARGS'
  451 |     ASSERT_ARGS(Parrot_gc_str_compact_pool)
      |     ^~~~~~~~~~~
src/gc/string_gc.c: In function 'Parrot_gc_str_finalize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'gc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/gc/gc_private.h:847:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  847 |        PARROT_ASSERT_ARG(gc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gc_str_finalize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/gc/string_gc.c:220:5: note: in expansion of macro 'ASSERT_ARGS'
  220 |     ASSERT_ARGS(Parrot_gc_str_finalize)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/global_setup.o -c src/global_setup.c
In file included from src/global_setup.c:27:
src/global_setup.c: In function 'Parrot_gbl_set_config_hash_internal':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'parrot_config' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/global_setup.h:49:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   49 |        PARROT_ASSERT_ARG(parrot_config))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gbl_set_config_hash_internal'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/global_setup.c:75:5: note: in expansion of macro 'ASSERT_ARGS'
   75 |     ASSERT_ARGS(Parrot_gbl_set_config_hash_internal)
      |     ^~~~~~~~~~~
src/global_setup.c: In function 'Parrot_gbl_set_config_hash_interpreter':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/global_setup.c:52:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   52 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gbl_set_config_hash_interpreter'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/global_setup.c:116:5: note: in expansion of macro 'ASSERT_ARGS'
  116 |     ASSERT_ARGS(Parrot_gbl_set_config_hash_interpreter)
      |     ^~~~~~~~~~~
src/global_setup.c: In function 'Parrot_set_config_hash_pmc':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/global_setup.h:51:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   51 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_set_config_hash_pmc'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/global_setup.c:96:5: note: in expansion of macro 'ASSERT_ARGS'
   96 |     ASSERT_ARGS(Parrot_set_config_hash_pmc)
      |     ^~~~~~~~~~~
src/global_setup.c:98:9: warning: 'nonnull' argument 'config' compared to NULL [-Wnonnull-compare]
   98 |     if (!PMC_IS_NULL(config))
In file included from src/global_setup.c:27:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'config' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/global_setup.h:52:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   52 |     , PARROT_ASSERT_ARG(config))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_set_config_hash_pmc'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/global_setup.c:96:5: note: in expansion of macro 'ASSERT_ARGS'
   96 |     ASSERT_ARGS(Parrot_set_config_hash_pmc)
      |     ^~~~~~~~~~~
src/global_setup.c: In function 'Parrot_gbl_setup_2':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/global_setup.c:54:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   54 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gbl_setup_2'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/global_setup.c:246:5: note: in expansion of macro 'ASSERT_ARGS'
  246 |     ASSERT_ARGS(Parrot_gbl_setup_2)
      |     ^~~~~~~~~~~
src/global_setup.c: In function 'init_world':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/global_setup.h:44:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   44 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_init_world'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/global_setup.c:181:5: note: in expansion of macro 'ASSERT_ARGS'
  181 |     ASSERT_ARGS(init_world)
      |     ^~~~~~~~~~~
src/global_setup.c: In function 'Parrot_gbl_init_world_once':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/global_setup.h:46:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   46 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_gbl_init_world_once'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/global_setup.c:150:5: note: in expansion of macro 'ASSERT_ARGS'
  150 |     ASSERT_ARGS(Parrot_gbl_init_world_once)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/hash.o -c src/hash.c
In file included from ./include/parrot/parrot.h:261,
                 from src/hash.c:26:
src/hash.c: In function 'hash_compare_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:150:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  150 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_hash_compare_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:273:5: note: in expansion of macro 'ASSERT_ARGS'
  273 |     ASSERT_ARGS(hash_compare_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'search_key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:151:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  151 |     , PARROT_ASSERT_ARG(search_key) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_hash_compare_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:273:5: note: in expansion of macro 'ASSERT_ARGS'
  273 |     ASSERT_ARGS(hash_compare_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bucket_key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:152:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |     , PARROT_ASSERT_ARG(bucket_key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_hash_compare_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:273:5: note: in expansion of macro 'ASSERT_ARGS'
  273 |     ASSERT_ARGS(hash_compare_string)
      |     ^~~~~~~~~~~
src/hash.c: In function 'hash_compare_string_enc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'search_key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:154:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  154 |        PARROT_ASSERT_ARG(search_key) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_hash_compare_string_enc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:297:5: note: in expansion of macro 'ASSERT_ARGS'
  297 |     ASSERT_ARGS(hash_compare_string_enc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bucket_key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:155:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  155 |     , PARROT_ASSERT_ARG(bucket_key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_hash_compare_string_enc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:297:5: note: in expansion of macro 'ASSERT_ARGS'
  297 |     ASSERT_ARGS(hash_compare_string_enc)
      |     ^~~~~~~~~~~
src/hash.c: In function 'key_hash_cstring':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/hash.c:160:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  160 |        PARROT_ASSERT_ARG(value))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_key_hash_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:332:5: note: in expansion of macro 'ASSERT_ARGS'
  332 |     ASSERT_ARGS(key_hash_cstring)
      |     ^~~~~~~~~~~
src/hash.c: In function 'hash_compare_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:146:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  146 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_hash_compare_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:360:5: note: in expansion of macro 'ASSERT_ARGS'
  360 |     ASSERT_ARGS(hash_compare_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'a' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:147:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  147 |     , PARROT_ASSERT_ARG(a) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_hash_compare_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:360:5: note: in expansion of macro 'ASSERT_ARGS'
  360 |     ASSERT_ARGS(hash_compare_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:148:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  148 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_hash_compare_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:360:5: note: in expansion of macro 'ASSERT_ARGS'
  360 |     ASSERT_ARGS(hash_compare_pmc)
      |     ^~~~~~~~~~~
src/hash.c: In function 'key_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:157:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  157 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_key_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:392:5: note: in expansion of macro 'ASSERT_ARGS'
  392 |     ASSERT_ARGS(key_hash)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:158:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  158 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_key_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:392:5: note: in expansion of macro 'ASSERT_ARGS'
  392 |     ASSERT_ARGS(key_hash)
      |     ^~~~~~~~~~~
src/hash.c: In function 'hash_compare':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:143:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  143 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_hash_compare'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:428:5: note: in expansion of macro 'ASSERT_ARGS'
  428 |     ASSERT_ARGS(hash_compare)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:144:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  144 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_hash_compare'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:428:5: note: in expansion of macro 'ASSERT_ARGS'
  428 |     ASSERT_ARGS(hash_compare)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash_unused' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hash.h:419:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  419 |        PARROT_ASSERT_ARG(hash_unused))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:466:5: note: in expansion of macro 'ASSERT_ARGS'
  466 |     ASSERT_ARGS(Parrot_hash_dump)
      |     ^~~~~~~~~~~
src/hash.c: In function 'parrot_mark_hash_keys':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:173:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  173 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_mark_hash_keys'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:528:5: note: in expansion of macro 'ASSERT_ARGS'
  528 |     ASSERT_ARGS(parrot_mark_hash_keys)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:174:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  174 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_mark_hash_keys'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:528:5: note: in expansion of macro 'ASSERT_ARGS'
  528 |     ASSERT_ARGS(parrot_mark_hash_keys)
      |     ^~~~~~~~~~~
src/hash.c: In function 'parrot_mark_hash_values':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:176:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  176 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_mark_hash_values'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:557:5: note: in expansion of macro 'ASSERT_ARGS'
  557 |     ASSERT_ARGS(parrot_mark_hash_values)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:177:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  177 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_mark_hash_values'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:557:5: note: in expansion of macro 'ASSERT_ARGS'
  557 |     ASSERT_ARGS(parrot_mark_hash_values)
      |     ^~~~~~~~~~~
src/hash.c: In function 'parrot_mark_hash_both':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:170:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  170 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_mark_hash_both'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:585:5: note: in expansion of macro 'ASSERT_ARGS'
  585 |     ASSERT_ARGS(parrot_mark_hash_both)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:171:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  171 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_mark_hash_both'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:585:5: note: in expansion of macro 'ASSERT_ARGS'
  585 |     ASSERT_ARGS(parrot_mark_hash_both)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:432:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  432 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:485:5: note: in expansion of macro 'ASSERT_ARGS'
  485 |     ASSERT_ARGS(Parrot_hash_mark)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:433:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  433 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:485:5: note: in expansion of macro 'ASSERT_ARGS'
  485 |     ASSERT_ARGS(Parrot_hash_mark)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_freeze':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:470:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  470 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_freeze'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:721:5: note: in expansion of macro 'ASSERT_ARGS'
  721 |     ASSERT_ARGS(Parrot_hash_freeze)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:471:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  471 |     , PARROT_ASSERT_ARG(hash) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_freeze'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:721:5: note: in expansion of macro 'ASSERT_ARGS'
  721 |     ASSERT_ARGS(Parrot_hash_freeze)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:472:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  472 |     , PARROT_ASSERT_ARG(info))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_freeze'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:721:5: note: in expansion of macro 'ASSERT_ARGS'
  721 |     ASSERT_ARGS(Parrot_hash_freeze)
      |     ^~~~~~~~~~~
src/hash.c: In function 'allocate_buckets':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:137:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  137 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_allocate_buckets'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:778:5: note: in expansion of macro 'ASSERT_ARGS'
  778 |     ASSERT_ARGS(allocate_buckets)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:138:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  138 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_allocate_buckets'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:778:5: note: in expansion of macro 'ASSERT_ARGS'
  778 |     ASSERT_ARGS(allocate_buckets)
      |     ^~~~~~~~~~~
src/hash.c: In function 'expand_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:140:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  140 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_expand_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:844:5: note: in expansion of macro 'ASSERT_ARGS'
  844 |     ASSERT_ARGS(expand_hash)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:141:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  141 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_expand_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:844:5: note: in expansion of macro 'ASSERT_ARGS'
  844 |     ASSERT_ARGS(expand_hash)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_create':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hash.h:411:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  411 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_create'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1069:5: note: in expansion of macro 'ASSERT_ARGS'
 1069 |     ASSERT_ARGS(Parrot_hash_create)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hash.h:435:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  435 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:975:5: note: in expansion of macro 'ASSERT_ARGS'
  975 |     ASSERT_ARGS(Parrot_hash_new)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_new_cstring_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hash.h:437:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  437 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_new_cstring_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:997:5: note: in expansion of macro 'ASSERT_ARGS'
  997 |     ASSERT_ARGS(Parrot_hash_new_cstring_hash)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_new_pointer_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hash.h:441:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  441 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_new_pointer_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1019:5: note: in expansion of macro 'ASSERT_ARGS'
 1019 |     ASSERT_ARGS(Parrot_hash_new_pointer_hash)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_new_intval_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hash.h:439:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  439 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_new_intval_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1044:5: note: in expansion of macro 'ASSERT_ARGS'
 1044 |     ASSERT_ARGS(Parrot_hash_new_intval_hash)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_create_sized':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hash.h:465:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  465 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_create_sized'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1104:5: note: in expansion of macro 'ASSERT_ARGS'
 1104 |     ASSERT_ARGS(Parrot_hash_create_sized)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:416:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  416 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1128:5: note: in expansion of macro 'ASSERT_ARGS'
 1128 |     ASSERT_ARGS(Parrot_hash_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:417:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  417 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1128:5: note: in expansion of macro 'ASSERT_ARGS'
 1128 |     ASSERT_ARGS(Parrot_hash_destroy)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_chash_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:453:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  453 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_chash_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1154:5: note: in expansion of macro 'ASSERT_ARGS'
 1154 |     ASSERT_ARGS(Parrot_hash_chash_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:454:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  454 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_chash_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1154:5: note: in expansion of macro 'ASSERT_ARGS'
 1154 |     ASSERT_ARGS(Parrot_hash_chash_destroy)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_chash_destroy_values':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:457:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  457 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_chash_destroy_values'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1180:5: note: in expansion of macro 'ASSERT_ARGS'
 1180 |     ASSERT_ARGS(Parrot_hash_chash_destroy_values)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:458:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  458 |     , PARROT_ASSERT_ARG(hash) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_chash_destroy_values'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1180:5: note: in expansion of macro 'ASSERT_ARGS'
 1180 |     ASSERT_ARGS(Parrot_hash_chash_destroy_values)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'func' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:459:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  459 |     , PARROT_ASSERT_ARG(func))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_chash_destroy_values'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1180:5: note: in expansion of macro 'ASSERT_ARGS'
 1180 |     ASSERT_ARGS(Parrot_hash_chash_destroy_values)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hash.h:446:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  446 |        PARROT_ASSERT_ARG(hash))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1206:5: note: in expansion of macro 'ASSERT_ARGS'
 1206 |     ASSERT_ARGS(Parrot_hash_size)
      |     ^~~~~~~~~~~
src/hash.c: In function 'parrot_hash_get_bucket_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:162:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  162 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_hash_get_bucket_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1336:5: note: in expansion of macro 'ASSERT_ARGS'
 1336 |     ASSERT_ARGS(parrot_hash_get_bucket_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:163:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  163 |     , PARROT_ASSERT_ARG(hash) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_hash_get_bucket_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1336:5: note: in expansion of macro 'ASSERT_ARGS'
 1336 |     ASSERT_ARGS(parrot_hash_get_bucket_string)
      |     ^~~~~~~~~~~
src/hash.c:1348:21: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
 1348 |                 && (memcmp(s->strstart, s2->strstart, STRING_byte_length(s)) == 0))
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/hash.c:26:
./include/parrot/string.h:27:57: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
   27 | #define STRING_byte_length(src) ((src) ? (src)->bufused : 0U)
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/hash.c:1347:22: note: in expansion of macro 'STRING_byte_length'
 1347 |                 if ((STRING_byte_length(s) == STRING_byte_length(s2))
      |                      ^~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/hash.c:26:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:164:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  164 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_hash_get_bucket_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1336:5: note: in expansion of macro 'ASSERT_ARGS'
 1336 |     ASSERT_ARGS(parrot_hash_get_bucket_string)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_get_bucket':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:429:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  429 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_get_bucket'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1229:5: note: in expansion of macro 'ASSERT_ARGS'
 1229 |     ASSERT_ARGS(Parrot_hash_get_bucket)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:430:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  430 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_get_bucket'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1229:5: note: in expansion of macro 'ASSERT_ARGS'
 1229 |     ASSERT_ARGS(Parrot_hash_get_bucket)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_exists':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:421:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  421 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_exists'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1312:5: note: in expansion of macro 'ASSERT_ARGS'
 1312 |     ASSERT_ARGS(Parrot_hash_exists)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:422:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  422 |     , PARROT_ASSERT_ARG(hash) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_exists'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1312:5: note: in expansion of macro 'ASSERT_ARGS'
 1312 |     ASSERT_ARGS(Parrot_hash_exists)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:423:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  423 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_exists'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1312:5: note: in expansion of macro 'ASSERT_ARGS'
 1312 |     ASSERT_ARGS(Parrot_hash_exists)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_get':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:425:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  425 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1276:5: note: in expansion of macro 'ASSERT_ARGS'
 1276 |     ASSERT_ARGS(Parrot_hash_get)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:426:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  426 |     , PARROT_ASSERT_ARG(hash) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1276:5: note: in expansion of macro 'ASSERT_ARGS'
 1276 |     ASSERT_ARGS(Parrot_hash_get)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:427:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  427 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1276:5: note: in expansion of macro 'ASSERT_ARGS'
 1276 |     ASSERT_ARGS(Parrot_hash_get)
      |     ^~~~~~~~~~~
src/hash.c: In function 'parrot_hash_store_value_in_bucket':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:167:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  167 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_hash_store_value_in_bucket'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1382:5: note: in expansion of macro 'ASSERT_ARGS'
 1382 |     ASSERT_ARGS(parrot_hash_store_value_in_bucket)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hash.c:168:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  168 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_hash_store_value_in_bucket'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1382:5: note: in expansion of macro 'ASSERT_ARGS'
 1382 |     ASSERT_ARGS(parrot_hash_store_value_in_bucket)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_put':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:443:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  443 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_put'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1425:5: note: in expansion of macro 'ASSERT_ARGS'
 1425 |     ASSERT_ARGS(Parrot_hash_put)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:444:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  444 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_put'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1425:5: note: in expansion of macro 'ASSERT_ARGS'
 1425 |     ASSERT_ARGS(Parrot_hash_put)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_thaw':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:496:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  496 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_thaw'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:622:5: note: in expansion of macro 'ASSERT_ARGS'
  622 |     ASSERT_ARGS(Parrot_hash_thaw)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:497:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  497 |     , PARROT_ASSERT_ARG(info))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_thaw'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:622:5: note: in expansion of macro 'ASSERT_ARGS'
  622 |     ASSERT_ARGS(Parrot_hash_thaw)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_delete':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:413:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  413 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_delete'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1472:5: note: in expansion of macro 'ASSERT_ARGS'
 1472 |     ASSERT_ARGS(Parrot_hash_delete)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:414:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  414 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_delete'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1472:5: note: in expansion of macro 'ASSERT_ARGS'
 1472 |     ASSERT_ARGS(Parrot_hash_delete)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_clone_prunable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:461:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  461 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_clone_prunable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1602:5: note: in expansion of macro 'ASSERT_ARGS'
 1602 |     ASSERT_ARGS(Parrot_hash_clone_prunable)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:462:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  462 |     , PARROT_ASSERT_ARG(hash) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_clone_prunable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1602:5: note: in expansion of macro 'ASSERT_ARGS'
 1602 |     ASSERT_ARGS(Parrot_hash_clone_prunable)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:463:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  463 |     , PARROT_ASSERT_ARG(dest))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_clone_prunable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1602:5: note: in expansion of macro 'ASSERT_ARGS'
 1602 |     ASSERT_ARGS(Parrot_hash_clone_prunable)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_clone':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:407:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  407 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_clone'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1581:5: note: in expansion of macro 'ASSERT_ARGS'
 1581 |     ASSERT_ARGS(Parrot_hash_clone)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:408:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  408 |     , PARROT_ASSERT_ARG(hash) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_clone'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1581:5: note: in expansion of macro 'ASSERT_ARGS'
 1581 |     ASSERT_ARGS(Parrot_hash_clone)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:409:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  409 |     , PARROT_ASSERT_ARG(dest))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_clone'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1581:5: note: in expansion of macro 'ASSERT_ARGS'
 1581 |     ASSERT_ARGS(Parrot_hash_clone)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_key_from_int':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:474:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  474 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_from_int'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1679:5: note: in expansion of macro 'ASSERT_ARGS'
 1679 |     ASSERT_ARGS(Parrot_hash_key_from_int)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:475:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  475 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_from_int'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1679:5: note: in expansion of macro 'ASSERT_ARGS'
 1679 |     ASSERT_ARGS(Parrot_hash_key_from_int)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_key_from_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:481:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  481 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_from_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1716:5: note: in expansion of macro 'ASSERT_ARGS'
 1716 |     ASSERT_ARGS(Parrot_hash_key_from_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:482:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  482 |     , PARROT_ASSERT_ARG(hash) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_from_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1716:5: note: in expansion of macro 'ASSERT_ARGS'
 1716 |     ASSERT_ARGS(Parrot_hash_key_from_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:483:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  483 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_from_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1716:5: note: in expansion of macro 'ASSERT_ARGS'
 1716 |     ASSERT_ARGS(Parrot_hash_key_from_string)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_key_from_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:477:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  477 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_from_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1759:5: note: in expansion of macro 'ASSERT_ARGS'
 1759 |     ASSERT_ARGS(Parrot_hash_key_from_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:478:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  478 |     , PARROT_ASSERT_ARG(hash) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_from_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1759:5: note: in expansion of macro 'ASSERT_ARGS'
 1759 |     ASSERT_ARGS(Parrot_hash_key_from_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:479:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  479 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_from_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1759:5: note: in expansion of macro 'ASSERT_ARGS'
 1759 |     ASSERT_ARGS(Parrot_hash_key_from_pmc)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_key_to_int':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:485:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  485 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_to_int'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1825:5: note: in expansion of macro 'ASSERT_ARGS'
 1825 |     ASSERT_ARGS(Parrot_hash_key_to_int)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:486:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  486 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_to_int'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1825:5: note: in expansion of macro 'ASSERT_ARGS'
 1825 |     ASSERT_ARGS(Parrot_hash_key_to_int)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_key_to_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:492:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  492 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_to_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1861:5: note: in expansion of macro 'ASSERT_ARGS'
 1861 |     ASSERT_ARGS(Parrot_hash_key_to_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:493:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  493 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_to_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1861:5: note: in expansion of macro 'ASSERT_ARGS'
 1861 |     ASSERT_ARGS(Parrot_hash_key_to_string)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_key_to_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:488:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  488 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_to_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1900:5: note: in expansion of macro 'ASSERT_ARGS'
 1900 |     ASSERT_ARGS(Parrot_hash_key_to_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:489:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  489 |     , PARROT_ASSERT_ARG(hash) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_to_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1900:5: note: in expansion of macro 'ASSERT_ARGS'
 1900 |     ASSERT_ARGS(Parrot_hash_key_to_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:490:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  490 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_key_to_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1900:5: note: in expansion of macro 'ASSERT_ARGS'
 1900 |     ASSERT_ARGS(Parrot_hash_key_to_pmc)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_value_from_int':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:499:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  499 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_from_int'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1939:5: note: in expansion of macro 'ASSERT_ARGS'
 1939 |     ASSERT_ARGS(Parrot_hash_value_from_int)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:500:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  500 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_from_int'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1939:5: note: in expansion of macro 'ASSERT_ARGS'
 1939 |     ASSERT_ARGS(Parrot_hash_value_from_int)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_value_from_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:508:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  508 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_from_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1977:5: note: in expansion of macro 'ASSERT_ARGS'
 1977 |     ASSERT_ARGS(Parrot_hash_value_from_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:509:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  509 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_from_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1977:5: note: in expansion of macro 'ASSERT_ARGS'
 1977 |     ASSERT_ARGS(Parrot_hash_value_from_string)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_value_from_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:505:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  505 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_from_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2021:5: note: in expansion of macro 'ASSERT_ARGS'
 2021 |     ASSERT_ARGS(Parrot_hash_value_from_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:506:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  506 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_from_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2021:5: note: in expansion of macro 'ASSERT_ARGS'
 2021 |     ASSERT_ARGS(Parrot_hash_value_from_pmc)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_value_from_number':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:502:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  502 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_from_number'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2060:5: note: in expansion of macro 'ASSERT_ARGS'
 2060 |     ASSERT_ARGS(Parrot_hash_value_from_number)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:503:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  503 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_from_number'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2060:5: note: in expansion of macro 'ASSERT_ARGS'
 2060 |     ASSERT_ARGS(Parrot_hash_value_from_number)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_value_to_int':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:511:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  511 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_to_int'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2099:5: note: in expansion of macro 'ASSERT_ARGS'
 2099 |     ASSERT_ARGS(Parrot_hash_value_to_int)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:512:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  512 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_to_int'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2099:5: note: in expansion of macro 'ASSERT_ARGS'
 2099 |     ASSERT_ARGS(Parrot_hash_value_to_int)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_value_to_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:520:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  520 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_to_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2134:5: note: in expansion of macro 'ASSERT_ARGS'
 2134 |     ASSERT_ARGS(Parrot_hash_value_to_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:521:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  521 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_to_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2134:5: note: in expansion of macro 'ASSERT_ARGS'
 2134 |     ASSERT_ARGS(Parrot_hash_value_to_string)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_value_to_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:517:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  517 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_to_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2168:5: note: in expansion of macro 'ASSERT_ARGS'
 2168 |     ASSERT_ARGS(Parrot_hash_value_to_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:518:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  518 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_to_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2168:5: note: in expansion of macro 'ASSERT_ARGS'
 2168 |     ASSERT_ARGS(Parrot_hash_value_to_pmc)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_update':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:448:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  448 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_update'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1506:5: note: in expansion of macro 'ASSERT_ARGS'
 1506 |     ASSERT_ARGS(Parrot_hash_update)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:449:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  449 |     , PARROT_ASSERT_ARG(hash) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_update'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1506:5: note: in expansion of macro 'ASSERT_ARGS'
 1506 |     ASSERT_ARGS(Parrot_hash_update)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'other' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:450:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  450 |     , PARROT_ASSERT_ARG(other))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_update'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:1506:5: note: in expansion of macro 'ASSERT_ARGS'
 1506 |     ASSERT_ARGS(Parrot_hash_update)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_value_to_number':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:514:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  514 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_to_number'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2201:5: note: in expansion of macro 'ASSERT_ARGS'
 2201 |     ASSERT_ARGS(Parrot_hash_value_to_number)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:515:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  515 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_value_to_number'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2201:5: note: in expansion of macro 'ASSERT_ARGS'
 2201 |     ASSERT_ARGS(Parrot_hash_value_to_number)
      |     ^~~~~~~~~~~
src/hash.c: In function 'Parrot_hash_flatten_hash_into':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:467:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  467 |        PARROT_ASSERT_ARG(dest) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_flatten_hash_into'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2235:5: note: in expansion of macro 'ASSERT_ARGS'
 2235 |     ASSERT_ARGS(Parrot_hash_flatten_hash_into)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hash.h:468:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  468 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hash_flatten_hash_into'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hash.c:2235:5: note: in expansion of macro 'ASSERT_ARGS'
 2235 |     ASSERT_ARGS(Parrot_hash_flatten_hash_into)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/hll.o -c src/hll.c
In file included from ./include/parrot/parrot.h:261,
                 from src/hll.c:31:
src/hll.c: In function 'new_hll_entry':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hll.c:49:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   49 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_new_hll_entry'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:77:5: note: in expansion of macro 'ASSERT_ARGS'
   77 |     ASSERT_ARGS(new_hll_entry)
      |     ^~~~~~~~~~~
src/hll.c:85:8: warning: 'nonnull' argument 'entry_name' compared to NULL [-Wnonnull-compare]
   85 |     if (entry_name && !STRING_IS_EMPTY(entry_name))
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/hll.c:31:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'entry_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/hll.c:50:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   50 |     , PARROT_ASSERT_ARG(entry_name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_new_hll_entry'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:77:5: note: in expansion of macro 'ASSERT_ARGS'
   77 |     ASSERT_ARGS(new_hll_entry)
      |     ^~~~~~~~~~~
src/hll.c: In function 'Parrot_hll_get_HLL_id':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hll.h:81:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   81 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hll_get_HLL_id'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:204:5: note: in expansion of macro 'ASSERT_ARGS'
  204 |     ASSERT_ARGS(Parrot_hll_get_HLL_id)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/hll.c:31:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 'hll_name' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/hll.c:209:9: note: in expansion of macro 'STRING_IS_NULL'
  209 |     if (STRING_IS_NULL(hll_name))
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/hll.c:31:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hll_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hll.h:82:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   82 |     , PARROT_ASSERT_ARG(hll_name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hll_get_HLL_id'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:204:5: note: in expansion of macro 'ASSERT_ARGS'
  204 |     ASSERT_ARGS(Parrot_hll_get_HLL_id)
      |     ^~~~~~~~~~~
src/hll.c: In function 'Parrot_hll_register_HLL':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hll.h:93:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   93 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hll_register_HLL'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:144:5: note: in expansion of macro 'ASSERT_ARGS'
  144 |     ASSERT_ARGS(Parrot_hll_register_HLL)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hll_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/hll.h:94:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   94 |     , PARROT_ASSERT_ARG(hll_name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hll_register_HLL'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:144:5: note: in expansion of macro 'ASSERT_ARGS'
  144 |     ASSERT_ARGS(Parrot_hll_register_HLL)
      |     ^~~~~~~~~~~
src/hll.c: In function 'Parrot_hll_init_HLL':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hll.h:98:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   98 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hll_init_HLL'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:112:5: note: in expansion of macro 'ASSERT_ARGS'
  112 |     ASSERT_ARGS(Parrot_hll_init_HLL)
      |     ^~~~~~~~~~~
src/hll.c: In function 'Parrot_hll_get_HLL_name':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hll.h:84:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hll_get_HLL_name'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:244:5: note: in expansion of macro 'ASSERT_ARGS'
  244 |     ASSERT_ARGS(Parrot_hll_get_HLL_name)
      |     ^~~~~~~~~~~
src/hll.c: In function 'Parrot_hll_register_HLL_type':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hll.h:96:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   96 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hll_register_HLL_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:283:5: note: in expansion of macro 'ASSERT_ARGS'
  283 |     ASSERT_ARGS(Parrot_hll_register_HLL_type)
      |     ^~~~~~~~~~~
src/hll.c: In function 'Parrot_hll_get_HLL_type':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hll.h:88:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   88 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hll_get_HLL_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:329:5: note: in expansion of macro 'ASSERT_ARGS'
  329 |     ASSERT_ARGS(Parrot_hll_get_HLL_type)
      |     ^~~~~~~~~~~
src/hll.c: In function 'Parrot_hll_get_ctx_HLL_type':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hll.h:79:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   79 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hll_get_ctx_HLL_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:380:5: note: in expansion of macro 'ASSERT_ARGS'
  380 |     ASSERT_ARGS(Parrot_hll_get_ctx_HLL_type)
      |     ^~~~~~~~~~~
src/hll.c: In function 'Parrot_hll_get_HLL_namespace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hll.h:86:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   86 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hll_get_HLL_namespace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:426:5: note: in expansion of macro 'ASSERT_ARGS'
  426 |     ASSERT_ARGS(Parrot_hll_get_HLL_namespace)
      |     ^~~~~~~~~~~
src/hll.c: In function 'Parrot_hll_get_ctx_HLL_namespace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hll.h:77:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   77 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hll_get_ctx_HLL_namespace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:404:5: note: in expansion of macro 'ASSERT_ARGS'
  404 |     ASSERT_ARGS(Parrot_hll_get_ctx_HLL_namespace)
      |     ^~~~~~~~~~~
src/hll.c: In function 'Parrot_hll_regenerate_HLL_namespaces':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/hll.h:91:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   91 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_hll_regenerate_HLL_namespaces'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/hll.c:448:5: note: in expansion of macro 'ASSERT_ARGS'
  448 |     ASSERT_ARGS(Parrot_hll_regenerate_HLL_namespaces)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/call/. -Isrc -o src/call/pcc.o -c src/call/pcc.c
In file included from ./include/parrot/parrot.h:261,
                 from src/call/pcc.c:21:
src/call/pcc.c: In function 'is_invokable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/pcc.c:48:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   48 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_is_invokable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:212:5: note: in expansion of macro 'ASSERT_ARGS'
  212 |     ASSERT_ARGS(is_invokable)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/pcc.c:49:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   49 |     , PARROT_ASSERT_ARG(sub_obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_is_invokable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:212:5: note: in expansion of macro 'ASSERT_ARGS'
  212 |     ASSERT_ARGS(is_invokable)
      |     ^~~~~~~~~~~
src/call/pcc.c: In function 'do_run_ops':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/pcc.c:45:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   45 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_do_run_ops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:235:5: note: in expansion of macro 'ASSERT_ARGS'
  235 |     ASSERT_ARGS(do_run_ops)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/pcc.c:46:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   46 |     , PARROT_ASSERT_ARG(sub_obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_do_run_ops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:235:5: note: in expansion of macro 'ASSERT_ARGS'
  235 |     ASSERT_ARGS(do_run_ops)
      |     ^~~~~~~~~~~
src/call/pcc.c: In function 'Parrot_pcc_do_run_ops':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:99:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   99 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_do_run_ops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:265:5: note: in expansion of macro 'ASSERT_ARGS'
  265 |     ASSERT_ARGS(Parrot_pcc_do_run_ops)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:100:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  100 |     , PARROT_ASSERT_ARG(sub_obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_do_run_ops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:265:5: note: in expansion of macro 'ASSERT_ARGS'
  265 |     ASSERT_ARGS(Parrot_pcc_do_run_ops)
      |     ^~~~~~~~~~~
src/call/pcc.c: In function 'Parrot_pcc_invoke_from_sig_object':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:103:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  103 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_invoke_from_sig_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:286:5: note: in expansion of macro 'ASSERT_ARGS'
  286 |     ASSERT_ARGS(Parrot_pcc_invoke_from_sig_object)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:104:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |     , PARROT_ASSERT_ARG(sub_obj) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_invoke_from_sig_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:286:5: note: in expansion of macro 'ASSERT_ARGS'
  286 |     ASSERT_ARGS(Parrot_pcc_invoke_from_sig_object)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/config.h:170,
                 from ./include/parrot/parrot.h:36,
                 from src/call/pcc.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'call_object' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
./include/parrot/feature.h:68:46: note: in definition of macro 'EXPECT'
   68 | #  define EXPECT(expr,val)                  (expr)
      |                                              ^~~~
src/call/pcc.c:290:9: note: in expansion of macro 'UNLIKELY'
  290 |     if (UNLIKELY(PMC_IS_NULL(call_object)))
      |         ^~~~~~~~
src/call/pcc.c:290:18: note: in expansion of macro 'PMC_IS_NULL'
  290 |     if (UNLIKELY(PMC_IS_NULL(call_object)))
      |                  ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/call/pcc.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'call_object' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:105:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  105 |     , PARROT_ASSERT_ARG(call_object))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_invoke_from_sig_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:286:5: note: in expansion of macro 'ASSERT_ARGS'
  286 |     ASSERT_ARGS(Parrot_pcc_invoke_from_sig_object)
      |     ^~~~~~~~~~~
src/call/pcc.c: In function 'Parrot_pcc_invoke_sub_from_c_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:114:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  114 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_invoke_sub_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:116:5: note: in expansion of macro 'ASSERT_ARGS'
  116 |     ASSERT_ARGS(Parrot_pcc_invoke_sub_from_c_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:115:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  115 |     , PARROT_ASSERT_ARG(sub_obj) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_invoke_sub_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:116:5: note: in expansion of macro 'ASSERT_ARGS'
  116 |     ASSERT_ARGS(Parrot_pcc_invoke_sub_from_c_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:116:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  116 |     , PARROT_ASSERT_ARG(sig))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_invoke_sub_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:116:5: note: in expansion of macro 'ASSERT_ARGS'
  116 |     ASSERT_ARGS(Parrot_pcc_invoke_sub_from_c_args)
      |     ^~~~~~~~~~~
src/call/pcc.c: In function 'Parrot_pcc_invoke_method_from_c_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:108:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  108 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_invoke_method_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:159:5: note: in expansion of macro 'ASSERT_ARGS'
  159 |     ASSERT_ARGS(Parrot_pcc_invoke_method_from_c_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:109:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  109 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_invoke_method_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:159:5: note: in expansion of macro 'ASSERT_ARGS'
  159 |     ASSERT_ARGS(Parrot_pcc_invoke_method_from_c_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'method_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:110:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  110 |     , PARROT_ASSERT_ARG(method_name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_invoke_method_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:159:5: note: in expansion of macro 'ASSERT_ARGS'
  159 |     ASSERT_ARGS(Parrot_pcc_invoke_method_from_c_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:111:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  111 |     , PARROT_ASSERT_ARG(signature))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_invoke_method_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:159:5: note: in expansion of macro 'ASSERT_ARGS'
  159 |     ASSERT_ARGS(Parrot_pcc_invoke_method_from_c_args)
      |     ^~~~~~~~~~~
src/call/pcc.c: In function 'Parrot_pcc_new_call_object':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:118:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  118 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_new_call_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/pcc.c:328:5: note: in expansion of macro 'ASSERT_ARGS'
  328 |     ASSERT_ARGS(Parrot_pcc_new_call_object)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/call/. -Isrc -o src/call/args.o -c src/call/args.c
In file included from ./include/parrot/parrot.h:261,
                 from src/call/args.c:21:
src/call/args.c: In function 'intval_constant_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_params' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/args.c:262:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  262 |        PARROT_ASSERT_ARG(raw_params))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_intval_constant_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1744:5: note: in expansion of macro 'ASSERT_ARGS'
 1744 |     ASSERT_ARGS(intval_constant_from_op)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'intval_param_from_c_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/args.c:266:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  266 |        PARROT_ASSERT_ARG(args))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_intval_param_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1783:5: note: in expansion of macro 'ASSERT_ARGS'
 1783 |     ASSERT_ARGS(intval_param_from_c_args)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'numval_param_from_c_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/args.c:279:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  279 |        PARROT_ASSERT_ARG(args))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_numval_param_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1792:5: note: in expansion of macro 'ASSERT_ARGS'
 1792 |     ASSERT_ARGS(numval_param_from_c_args)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'string_param_from_c_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/args.c:308:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  308 |        PARROT_ASSERT_ARG(args))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_string_param_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1801:5: note: in expansion of macro 'ASSERT_ARGS'
 1801 |     ASSERT_ARGS(string_param_from_c_args)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'pmc_param_from_c_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/args.c:293:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  293 |        PARROT_ASSERT_ARG(args))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pmc_param_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1810:5: note: in expansion of macro 'ASSERT_ARGS'
 1810 |     ASSERT_ARGS(pmc_param_from_c_args)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'intval_constant_from_varargs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data_unused' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/args.c:264:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  264 |        PARROT_ASSERT_ARG(data_unused))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_intval_constant_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1818:5: note: in expansion of macro 'ASSERT_ARGS'
 1818 |     ASSERT_ARGS(intval_constant_from_varargs)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'numval_constant_from_varargs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data_unused' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/args.c:277:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  277 |        PARROT_ASSERT_ARG(data_unused))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_numval_constant_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1827:5: note: in expansion of macro 'ASSERT_ARGS'
 1827 |     ASSERT_ARGS(numval_constant_from_varargs)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'string_constant_from_varargs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data_unused' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/args.c:306:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  306 |        PARROT_ASSERT_ARG(data_unused))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_string_constant_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1837:5: note: in expansion of macro 'ASSERT_ARGS'
 1837 |     ASSERT_ARGS(string_constant_from_varargs)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'pmc_constant_from_varargs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data_unused' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/args.c:291:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  291 |        PARROT_ASSERT_ARG(data_unused))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pmc_constant_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1847:5: note: in expansion of macro 'ASSERT_ARGS'
 1847 |     ASSERT_ARGS(pmc_constant_from_varargs)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'intval_param_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:268:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  268 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_intval_param_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1705:5: note: in expansion of macro 'ASSERT_ARGS'
 1705 |     ASSERT_ARGS(intval_param_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_params' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:269:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  269 |     , PARROT_ASSERT_ARG(raw_params))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_intval_param_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1705:5: note: in expansion of macro 'ASSERT_ARGS'
 1705 |     ASSERT_ARGS(intval_param_from_op)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'numval_constant_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:274:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  274 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_numval_constant_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1753:5: note: in expansion of macro 'ASSERT_ARGS'
 1753 |     ASSERT_ARGS(numval_constant_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_params' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:275:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  275 |     , PARROT_ASSERT_ARG(raw_params))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_numval_constant_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1753:5: note: in expansion of macro 'ASSERT_ARGS'
 1753 |     ASSERT_ARGS(numval_constant_from_op)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'numval_param_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:281:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  281 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_numval_param_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1715:5: note: in expansion of macro 'ASSERT_ARGS'
 1715 |     ASSERT_ARGS(numval_param_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_params' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:282:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  282 |     , PARROT_ASSERT_ARG(raw_params))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_numval_param_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1715:5: note: in expansion of macro 'ASSERT_ARGS'
 1715 |     ASSERT_ARGS(numval_param_from_op)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'string_constant_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:303:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  303 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_string_constant_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1763:5: note: in expansion of macro 'ASSERT_ARGS'
 1763 |     ASSERT_ARGS(string_constant_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_params' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:304:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  304 |     , PARROT_ASSERT_ARG(raw_params))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_string_constant_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1763:5: note: in expansion of macro 'ASSERT_ARGS'
 1763 |     ASSERT_ARGS(string_constant_from_op)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'string_param_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:310:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  310 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_string_param_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1725:5: note: in expansion of macro 'ASSERT_ARGS'
 1725 |     ASSERT_ARGS(string_param_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_params' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:311:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  311 |     , PARROT_ASSERT_ARG(raw_params))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_string_param_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1725:5: note: in expansion of macro 'ASSERT_ARGS'
 1725 |     ASSERT_ARGS(string_param_from_op)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'pmc_constant_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:288:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  288 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pmc_constant_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1773:5: note: in expansion of macro 'ASSERT_ARGS'
 1773 |     ASSERT_ARGS(pmc_constant_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_params' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:289:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  289 |     , PARROT_ASSERT_ARG(raw_params))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pmc_constant_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1773:5: note: in expansion of macro 'ASSERT_ARGS'
 1773 |     ASSERT_ARGS(pmc_constant_from_op)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'pmc_param_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:295:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  295 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pmc_param_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1735:5: note: in expansion of macro 'ASSERT_ARGS'
 1735 |     ASSERT_ARGS(pmc_param_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_params' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:296:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  296 |     , PARROT_ASSERT_ARG(raw_params))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pmc_param_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1735:5: note: in expansion of macro 'ASSERT_ARGS'
 1735 |     ASSERT_ARGS(pmc_param_from_op)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'extract_named_arg_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:251:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  251 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_extract_named_arg_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:442:5: note: in expansion of macro 'ASSERT_ARGS'
  442 |     ASSERT_ARGS(extract_named_arg_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'call_object' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:252:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  252 |     , PARROT_ASSERT_ARG(call_object) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_extract_named_arg_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:442:5: note: in expansion of macro 'ASSERT_ARGS'
  442 |     ASSERT_ARGS(extract_named_arg_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:253:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  253 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_extract_named_arg_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:442:5: note: in expansion of macro 'ASSERT_ARGS'
  442 |     ASSERT_ARGS(extract_named_arg_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:254:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  254 |     , PARROT_ASSERT_ARG(raw_sig) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_extract_named_arg_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:442:5: note: in expansion of macro 'ASSERT_ARGS'
  442 |     ASSERT_ARGS(extract_named_arg_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:255:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  255 |     , PARROT_ASSERT_ARG(raw_args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_extract_named_arg_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:442:5: note: in expansion of macro 'ASSERT_ARGS'
  442 |     ASSERT_ARGS(extract_named_arg_from_op)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'dissect_aggregate_arg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:247:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  247 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dissect_aggregate_arg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:491:5: note: in expansion of macro 'ASSERT_ARGS'
  491 |     ASSERT_ARGS(dissect_aggregate_arg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'call_object' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:248:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  248 |     , PARROT_ASSERT_ARG(call_object) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dissect_aggregate_arg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:491:5: note: in expansion of macro 'ASSERT_ARGS'
  491 |     ASSERT_ARGS(dissect_aggregate_arg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'aggregate' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:249:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  249 |     , PARROT_ASSERT_ARG(aggregate))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dissect_aggregate_arg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:491:5: note: in expansion of macro 'ASSERT_ARGS'
  491 |     ASSERT_ARGS(dissect_aggregate_arg)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'Parrot_pcc_build_sig_object_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:311:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  311 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_build_sig_object_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:334:5: note: in expansion of macro 'ASSERT_ARGS'
  334 |     ASSERT_ARGS(Parrot_pcc_build_sig_object_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:312:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  312 |     , PARROT_ASSERT_ARG(raw_sig) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_build_sig_object_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:334:5: note: in expansion of macro 'ASSERT_ARGS'
  334 |     ASSERT_ARGS(Parrot_pcc_build_sig_object_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:313:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  313 |     , PARROT_ASSERT_ARG(raw_args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_build_sig_object_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:334:5: note: in expansion of macro 'ASSERT_ARGS'
  334 |     ASSERT_ARGS(Parrot_pcc_build_sig_object_from_op)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'named_argument_arity_error':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:271:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  271 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_named_argument_arity_error'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1231:5: note: in expansion of macro 'ASSERT_ARGS'
 1231 |     ASSERT_ARGS(named_argument_arity_error)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'named_arg_list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:272:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  272 |     , PARROT_ASSERT_ARG(named_arg_list))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_named_argument_arity_error'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1231:5: note: in expansion of macro 'ASSERT_ARGS'
 1231 |     ASSERT_ARGS(named_argument_arity_error)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'assign_default_param_value':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:243:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  243 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_assign_default_param_value'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1273:5: note: in expansion of macro 'ASSERT_ARGS'
 1273 |     ASSERT_ARGS(assign_default_param_value)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arg_info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:244:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  244 |     , PARROT_ASSERT_ARG(arg_info) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_assign_default_param_value'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1273:5: note: in expansion of macro 'ASSERT_ARGS'
 1273 |     ASSERT_ARGS(assign_default_param_value)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'accessor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:245:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  245 |     , PARROT_ASSERT_ARG(accessor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_assign_default_param_value'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1273:5: note: in expansion of macro 'ASSERT_ARGS'
 1273 |     ASSERT_ARGS(assign_default_param_value)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'fill_params':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:257:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  257 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fill_params'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:814:5: note: in expansion of macro 'ASSERT_ARGS'
  814 |     ASSERT_ARGS(fill_params)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:258:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  258 |     , PARROT_ASSERT_ARG(raw_sig) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fill_params'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:814:5: note: in expansion of macro 'ASSERT_ARGS'
  814 |     ASSERT_ARGS(fill_params)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arg_info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:259:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  259 |     , PARROT_ASSERT_ARG(arg_info) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fill_params'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:814:5: note: in expansion of macro 'ASSERT_ARGS'
  814 |     ASSERT_ARGS(fill_params)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'accessor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:260:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  260 |     , PARROT_ASSERT_ARG(accessor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fill_params'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:814:5: note: in expansion of macro 'ASSERT_ARGS'
  814 |     ASSERT_ARGS(fill_params)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'Parrot_pcc_fill_params_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:325:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  325 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_fill_params_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1316:5: note: in expansion of macro 'ASSERT_ARGS'
 1316 |     ASSERT_ARGS(Parrot_pcc_fill_params_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:326:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  326 |     , PARROT_ASSERT_ARG(raw_sig) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_fill_params_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1316:5: note: in expansion of macro 'ASSERT_ARGS'
 1316 |     ASSERT_ARGS(Parrot_pcc_fill_params_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'raw_params' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:327:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  327 |     , PARROT_ASSERT_ARG(raw_params))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_fill_params_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1316:5: note: in expansion of macro 'ASSERT_ARGS'
 1316 |     ASSERT_ARGS(Parrot_pcc_fill_params_from_op)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'Parrot_pcc_split_signature_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:357:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  357 |        PARROT_ASSERT_ARG(signature) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_split_signature_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1430:5: note: in expansion of macro 'ASSERT_ARGS'
 1430 |     ASSERT_ARGS(Parrot_pcc_split_signature_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arg_sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:358:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  358 |     , PARROT_ASSERT_ARG(arg_sig) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_split_signature_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1430:5: note: in expansion of macro 'ASSERT_ARGS'
 1430 |     ASSERT_ARGS(Parrot_pcc_split_signature_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'return_sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:359:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  359 |     , PARROT_ASSERT_ARG(return_sig))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_split_signature_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1430:5: note: in expansion of macro 'ASSERT_ARGS'
 1430 |     ASSERT_ARGS(Parrot_pcc_split_signature_string)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'parse_signature_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:284:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  284 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parse_signature_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1461:5: note: in expansion of macro 'ASSERT_ARGS'
 1461 |     ASSERT_ARGS(parse_signature_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:285:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  285 |     , PARROT_ASSERT_ARG(signature) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parse_signature_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1461:5: note: in expansion of macro 'ASSERT_ARGS'
 1461 |     ASSERT_ARGS(parse_signature_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arg_flags' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:286:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  286 |     , PARROT_ASSERT_ARG(arg_flags))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parse_signature_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1461:5: note: in expansion of macro 'ASSERT_ARGS'
 1461 |     ASSERT_ARGS(parse_signature_string)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'set_call_from_varargs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:298:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  298 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_call_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:586:5: note: in expansion of macro 'ASSERT_ARGS'
  586 |     ASSERT_ARGS(set_call_from_varargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:299:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  299 |     , PARROT_ASSERT_ARG(signature) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_call_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:586:5: note: in expansion of macro 'ASSERT_ARGS'
  586 |     ASSERT_ARGS(set_call_from_varargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:300:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  300 |     , PARROT_ASSERT_ARG(sig) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_call_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:586:5: note: in expansion of macro 'ASSERT_ARGS'
  586 |     ASSERT_ARGS(set_call_from_varargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/args.c:301:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  301 |     , PARROT_ASSERT_ARG(args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_call_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:586:5: note: in expansion of macro 'ASSERT_ARGS'
  586 |     ASSERT_ARGS(set_call_from_varargs)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'Parrot_pcc_set_call_from_varargs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:340:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  340 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_call_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:660:5: note: in expansion of macro 'ASSERT_ARGS'
  660 |     ASSERT_ARGS(Parrot_pcc_set_call_from_varargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:341:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  341 |     , PARROT_ASSERT_ARG(signature) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_call_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:660:5: note: in expansion of macro 'ASSERT_ARGS'
  660 |     ASSERT_ARGS(Parrot_pcc_set_call_from_varargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:342:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  342 |     , PARROT_ASSERT_ARG(sig) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_call_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:660:5: note: in expansion of macro 'ASSERT_ARGS'
  660 |     ASSERT_ARGS(Parrot_pcc_set_call_from_varargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:343:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  343 |     , PARROT_ASSERT_ARG(args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_call_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:660:5: note: in expansion of macro 'ASSERT_ARGS'
  660 |     ASSERT_ARGS(Parrot_pcc_set_call_from_varargs)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'Parrot_pcc_set_call_from_c_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:335:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  335 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_call_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:532:5: note: in expansion of macro 'ASSERT_ARGS'
  532 |     ASSERT_ARGS(Parrot_pcc_set_call_from_c_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:336:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  336 |     , PARROT_ASSERT_ARG(signature) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_call_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:532:5: note: in expansion of macro 'ASSERT_ARGS'
  532 |     ASSERT_ARGS(Parrot_pcc_set_call_from_c_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:337:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  337 |     , PARROT_ASSERT_ARG(sig))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_call_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:532:5: note: in expansion of macro 'ASSERT_ARGS'
  532 |     ASSERT_ARGS(Parrot_pcc_set_call_from_c_args)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'Parrot_pcc_build_call_from_varargs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:306:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  306 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_build_call_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:687:5: note: in expansion of macro 'ASSERT_ARGS'
  687 |     ASSERT_ARGS(Parrot_pcc_build_call_from_varargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:307:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  307 |     , PARROT_ASSERT_ARG(sig) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_build_call_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:687:5: note: in expansion of macro 'ASSERT_ARGS'
  687 |     ASSERT_ARGS(Parrot_pcc_build_call_from_varargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:308:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  308 |     , PARROT_ASSERT_ARG(args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_build_call_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:687:5: note: in expansion of macro 'ASSERT_ARGS'
  687 |     ASSERT_ARGS(Parrot_pcc_build_call_from_varargs)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'Parrot_pcc_build_call_from_c_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:302:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  302 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_build_call_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:560:5: note: in expansion of macro 'ASSERT_ARGS'
  560 |     ASSERT_ARGS(Parrot_pcc_build_call_from_c_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:303:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  303 |     , PARROT_ASSERT_ARG(sig))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_build_call_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:560:5: note: in expansion of macro 'ASSERT_ARGS'
  560 |     ASSERT_ARGS(Parrot_pcc_build_call_from_c_args)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'Parrot_pcc_build_sig_object_from_varargs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:316:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  316 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_build_sig_object_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:722:5: note: in expansion of macro 'ASSERT_ARGS'
  722 |     ASSERT_ARGS(Parrot_pcc_build_sig_object_from_varargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:317:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  317 |     , PARROT_ASSERT_ARG(sig))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_build_sig_object_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:722:5: note: in expansion of macro 'ASSERT_ARGS'
  722 |     ASSERT_ARGS(Parrot_pcc_build_sig_object_from_varargs)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'Parrot_pcc_fill_params_from_varargs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:330:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  330 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_fill_params_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1390:5: note: in expansion of macro 'ASSERT_ARGS'
 1390 |     ASSERT_ARGS(Parrot_pcc_fill_params_from_varargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:331:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  331 |     , PARROT_ASSERT_ARG(signature) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_fill_params_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1390:5: note: in expansion of macro 'ASSERT_ARGS'
 1390 |     ASSERT_ARGS(Parrot_pcc_fill_params_from_varargs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:332:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  332 |     , PARROT_ASSERT_ARG(args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_fill_params_from_varargs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1390:5: note: in expansion of macro 'ASSERT_ARGS'
 1390 |     ASSERT_ARGS(Parrot_pcc_fill_params_from_varargs)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'Parrot_pcc_fill_params_from_c_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:320:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  320 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_fill_params_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1357:5: note: in expansion of macro 'ASSERT_ARGS'
 1357 |     ASSERT_ARGS(Parrot_pcc_fill_params_from_c_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'call_object' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:321:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  321 |     , PARROT_ASSERT_ARG(call_object) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_fill_params_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1357:5: note: in expansion of macro 'ASSERT_ARGS'
 1357 |     ASSERT_ARGS(Parrot_pcc_fill_params_from_c_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:322:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  322 |     , PARROT_ASSERT_ARG(signature))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_fill_params_from_c_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1357:5: note: in expansion of macro 'ASSERT_ARGS'
 1357 |     ASSERT_ARGS(Parrot_pcc_fill_params_from_c_args)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'Parrot_pcc_parse_signature_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:351:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  351 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_parse_signature_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1563:5: note: in expansion of macro 'ASSERT_ARGS'
 1563 |     ASSERT_ARGS(Parrot_pcc_parse_signature_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:352:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  352 |     , PARROT_ASSERT_ARG(signature) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_parse_signature_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1563:5: note: in expansion of macro 'ASSERT_ARGS'
 1563 |     ASSERT_ARGS(Parrot_pcc_parse_signature_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arg_flags' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:353:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  353 |     , PARROT_ASSERT_ARG(arg_flags) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_parse_signature_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1563:5: note: in expansion of macro 'ASSERT_ARGS'
 1563 |     ASSERT_ARGS(Parrot_pcc_parse_signature_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'return_flags' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:354:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  354 |     , PARROT_ASSERT_ARG(return_flags))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_parse_signature_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1563:5: note: in expansion of macro 'ASSERT_ARGS'
 1563 |     ASSERT_ARGS(Parrot_pcc_parse_signature_string)
      |     ^~~~~~~~~~~
src/call/args.c: In function 'Parrot_pcc_merge_signature_for_tailcall':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:346:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  346 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_merge_signature_for_tailcall'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1590:5: note: in expansion of macro 'ASSERT_ARGS'
 1590 |     ASSERT_ARGS(Parrot_pcc_merge_signature_for_tailcall)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/config.h:170,
                 from ./include/parrot/parrot.h:36,
                 from src/call/args.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'parent' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
./include/parrot/feature.h:68:46: note: in definition of macro 'EXPECT'
   68 | #  define EXPECT(expr,val)                  (expr)
      |                                              ^~~~
src/call/args.c:1591:9: note: in expansion of macro 'LIKELY'
 1591 |     if (LIKELY(PMC_IS_NULL(parent) || PMC_IS_NULL(tailcall) || (parent == tailcall)))
      |         ^~~~~~
src/call/args.c:1591:16: note: in expansion of macro 'PMC_IS_NULL'
 1591 |     if (LIKELY(PMC_IS_NULL(parent) || PMC_IS_NULL(tailcall) || (parent == tailcall)))
      |                ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/call/args.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'parent' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:347:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  347 |     , PARROT_ASSERT_ARG(parent) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_merge_signature_for_tailcall'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1590:5: note: in expansion of macro 'ASSERT_ARGS'
 1590 |     ASSERT_ARGS(Parrot_pcc_merge_signature_for_tailcall)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/config.h:170,
                 from ./include/parrot/parrot.h:36,
                 from src/call/args.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'tailcall' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
./include/parrot/feature.h:68:46: note: in definition of macro 'EXPECT'
   68 | #  define EXPECT(expr,val)                  (expr)
      |                                              ^~~~
src/call/args.c:1591:9: note: in expansion of macro 'LIKELY'
 1591 |     if (LIKELY(PMC_IS_NULL(parent) || PMC_IS_NULL(tailcall) || (parent == tailcall)))
      |         ^~~~~~
src/call/args.c:1591:39: note: in expansion of macro 'PMC_IS_NULL'
 1591 |     if (LIKELY(PMC_IS_NULL(parent) || PMC_IS_NULL(tailcall) || (parent == tailcall)))
      |                                       ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/call/args.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'tailcall' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:348:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  348 |     , PARROT_ASSERT_ARG(tailcall))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_merge_signature_for_tailcall'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/args.c:1590:5: note: in expansion of macro 'ASSERT_ARGS'
 1590 |     ASSERT_ARGS(Parrot_pcc_merge_signature_for_tailcall)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/interp/. -Isrc -o src/interp/inter_cb.o -c src/interp/inter_cb.c
In file included from ./include/parrot/parrot.h:261,
                 from src/interp/inter_cb.c:26:
src/interp/inter_cb.c: In function 'Parrot_make_cb':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:694:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  694 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_make_cb'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:80:5: note: in expansion of macro 'ASSERT_ARGS'
   80 |     ASSERT_ARGS(Parrot_make_cb)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:695:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  695 |     , PARROT_ASSERT_ARG(sub) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_make_cb'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:80:5: note: in expansion of macro 'ASSERT_ARGS'
   80 |     ASSERT_ARGS(Parrot_make_cb)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'user_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:696:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  696 |     , PARROT_ASSERT_ARG(user_data) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_make_cb'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:80:5: note: in expansion of macro 'ASSERT_ARGS'
   80 |     ASSERT_ARGS(Parrot_make_cb)
      |     ^~~~~~~~~~~
src/interp/inter_cb.c:101:8: warning: 'nonnull' argument 'cb_signature' compared to NULL [-Wnonnull-compare]
  101 |     if (STRING_length(cb_signature) == 3) {
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/interp/inter_cb.c:26:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cb_signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:697:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  697 |     , PARROT_ASSERT_ARG(cb_signature))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_make_cb'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:80:5: note: in expansion of macro 'ASSERT_ARGS'
   80 |     ASSERT_ARGS(Parrot_make_cb)
      |     ^~~~~~~~~~~
src/interp/inter_cb.c: In function 'Parrot_run_callback':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:699:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  699 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_run_callback'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:291:5: note: in expansion of macro 'ASSERT_ARGS'
  291 |     ASSERT_ARGS(Parrot_run_callback)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'user_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:700:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  700 |     , PARROT_ASSERT_ARG(user_data) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_run_callback'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:291:5: note: in expansion of macro 'ASSERT_ARGS'
  291 |     ASSERT_ARGS(Parrot_run_callback)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'external_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:701:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  701 |     , PARROT_ASSERT_ARG(external_data))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_run_callback'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:291:5: note: in expansion of macro 'ASSERT_ARGS'
  291 |     ASSERT_ARGS(Parrot_run_callback)
      |     ^~~~~~~~~~~
src/interp/inter_cb.c: In function 'callback_CD':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/interp/inter_cb.c:54:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   54 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_callback_CD'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:222:5: note: in expansion of macro 'ASSERT_ARGS'
  222 |     ASSERT_ARGS(callback_CD)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'external_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/interp/inter_cb.c:55:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   55 |     , PARROT_ASSERT_ARG(external_data) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_callback_CD'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:222:5: note: in expansion of macro 'ASSERT_ARGS'
  222 |     ASSERT_ARGS(callback_CD)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'user_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/interp/inter_cb.c:56:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   56 |     , PARROT_ASSERT_ARG(user_data))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_callback_CD'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:222:5: note: in expansion of macro 'ASSERT_ARGS'
  222 |     ASSERT_ARGS(callback_CD)
      |     ^~~~~~~~~~~
src/interp/inter_cb.c: In function 'verify_CD':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'external_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/interp/inter_cb.c:58:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   58 |        PARROT_ASSERT_ARG(external_data))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_verify_CD'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:164:5: note: in expansion of macro 'ASSERT_ARGS'
  164 |     ASSERT_ARGS(verify_CD)
      |     ^~~~~~~~~~~
src/interp/inter_cb.c: In function 'Parrot_callback_C':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'external_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:690:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  690 |        PARROT_ASSERT_ARG(external_data))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_callback_C'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:371:5: note: in expansion of macro 'ASSERT_ARGS'
  371 |     ASSERT_ARGS(Parrot_callback_C)
      |     ^~~~~~~~~~~
src/interp/inter_cb.c: In function 'Parrot_callback_D':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'user_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:692:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  692 |        PARROT_ASSERT_ARG(user_data))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_callback_D'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/inter_cb.c:379:5: note: in expansion of macro 'ASSERT_ARGS'
  379 |     ASSERT_ARGS(Parrot_callback_D)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/interp/. -Isrc -o src/interp/api.o -c src/interp/api.c
In file included from ./include/parrot/parrot.h:261,
                 from src/interp/api.c:20:
src/interp/api.c: In function 'Parrot_interp_is_env_var_set':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/interp/api.c:48:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   48 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_is_env_var_set'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:69:5: note: in expansion of macro 'ASSERT_ARGS'
   69 |     ASSERT_ARGS(Parrot_interp_is_env_var_set)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'var' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/interp/api.c:49:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   49 |     , PARROT_ASSERT_ARG(var))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_is_env_var_set'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:69:5: note: in expansion of macro 'ASSERT_ARGS'
   69 |     ASSERT_ARGS(Parrot_interp_is_env_var_set)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_init_stacktop':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:591:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  591 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_init_stacktop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:130:5: note: in expansion of macro 'ASSERT_ARGS'
  130 |     ASSERT_ARGS(Parrot_interp_init_stacktop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'stack_top' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:592:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  592 |     , PARROT_ASSERT_ARG(stack_top))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_init_stacktop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:130:5: note: in expansion of macro 'ASSERT_ARGS'
  130 |     ASSERT_ARGS(Parrot_interp_init_stacktop)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_initialize_interpreter':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:595:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  595 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_initialize_interpreter'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:250:5: note: in expansion of macro 'ASSERT_ARGS'
  250 |     ASSERT_ARGS(Parrot_interp_initialize_interpreter)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:596:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  596 |     , PARROT_ASSERT_ARG(args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_initialize_interpreter'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:250:5: note: in expansion of macro 'ASSERT_ARGS'
  250 |     ASSERT_ARGS(Parrot_interp_initialize_interpreter)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_clone':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:568:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  568 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_clone'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:384:5: note: in expansion of macro 'ASSERT_ARGS'
  384 |     ASSERT_ARGS(Parrot_interp_clone)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'clone_interp':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:558:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  558 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_clone_interp'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:515:5: note: in expansion of macro 'ASSERT_ARGS'
  515 |     ASSERT_ARGS(clone_interp)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:578:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  578 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:536:5: note: in expansion of macro 'ASSERT_ARGS'
  536 |     ASSERT_ARGS(Parrot_interp_destroy)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_really_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:645:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  645 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_really_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:562:5: note: in expansion of macro 'ASSERT_ARGS'
  562 |     ASSERT_ARGS(Parrot_interp_really_destroy)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_register_nci_method':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:612:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  612 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_register_nci_method'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:726:5: note: in expansion of macro 'ASSERT_ARGS'
  726 |     ASSERT_ARGS(Parrot_interp_register_nci_method)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'func' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:613:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  613 |     , PARROT_ASSERT_ARG(func) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_register_nci_method'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:726:5: note: in expansion of macro 'ASSERT_ARGS'
  726 |     ASSERT_ARGS(Parrot_interp_register_nci_method)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:614:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  614 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_register_nci_method'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:726:5: note: in expansion of macro 'ASSERT_ARGS'
  726 |     ASSERT_ARGS(Parrot_interp_register_nci_method)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'proto' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:615:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  615 |     , PARROT_ASSERT_ARG(proto))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_register_nci_method'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:726:5: note: in expansion of macro 'ASSERT_ARGS'
  726 |     ASSERT_ARGS(Parrot_interp_register_nci_method)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_register_native_pcc_method_in_ns':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:606:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  606 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_register_native_pcc_method_in_ns'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:759:5: note: in expansion of macro 'ASSERT_ARGS'
  759 |     ASSERT_ARGS(Parrot_interp_register_native_pcc_method_in_ns)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'func' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:607:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  607 |     , PARROT_ASSERT_ARG(func) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_register_native_pcc_method_in_ns'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:759:5: note: in expansion of macro 'ASSERT_ARGS'
  759 |     ASSERT_ARGS(Parrot_interp_register_native_pcc_method_in_ns)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:608:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  608 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_register_native_pcc_method_in_ns'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:759:5: note: in expansion of macro 'ASSERT_ARGS'
  759 |     ASSERT_ARGS(Parrot_interp_register_native_pcc_method_in_ns)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:609:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  609 |     , PARROT_ASSERT_ARG(signature))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_register_native_pcc_method_in_ns'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:759:5: note: in expansion of macro 'ASSERT_ARGS'
  759 |     ASSERT_ARGS(Parrot_interp_register_native_pcc_method_in_ns)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_mark_method_writes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:601:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  601 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_mark_method_writes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:785:5: note: in expansion of macro 'ASSERT_ARGS'
  785 |     ASSERT_ARGS(Parrot_interp_mark_method_writes)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:602:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  602 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_mark_method_writes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:785:5: note: in expansion of macro 'ASSERT_ARGS'
  785 |     ASSERT_ARGS(Parrot_interp_mark_method_writes)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_get_compiler':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:580:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  580 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_get_compiler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:809:5: note: in expansion of macro 'ASSERT_ARGS'
  809 |     ASSERT_ARGS(Parrot_interp_get_compiler)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'type' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:581:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  581 |     , PARROT_ASSERT_ARG(type))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_get_compiler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:809:5: note: in expansion of macro 'ASSERT_ARGS'
  809 |     ASSERT_ARGS(Parrot_interp_get_compiler)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_set_compiler':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:617:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  617 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_set_compiler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:835:5: note: in expansion of macro 'ASSERT_ARGS'
  835 |     ASSERT_ARGS(Parrot_interp_set_compiler)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'type' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:618:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  618 |     , PARROT_ASSERT_ARG(type) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_set_compiler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:835:5: note: in expansion of macro 'ASSERT_ARGS'
  835 |     ASSERT_ARGS(Parrot_interp_set_compiler)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'compiler' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:619:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  619 |     , PARROT_ASSERT_ARG(compiler))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_set_compiler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:835:5: note: in expansion of macro 'ASSERT_ARGS'
  835 |     ASSERT_ARGS(Parrot_interp_set_compiler)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_compile_file':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:570:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  570 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_compile_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:869:5: note: in expansion of macro 'ASSERT_ARGS'
  869 |     ASSERT_ARGS(Parrot_interp_compile_file)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'compiler' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:571:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  571 |     , PARROT_ASSERT_ARG(compiler) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_compile_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:869:5: note: in expansion of macro 'ASSERT_ARGS'
  869 |     ASSERT_ARGS(Parrot_interp_compile_file)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'fullname' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:572:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  572 |     , PARROT_ASSERT_ARG(fullname))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_compile_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:869:5: note: in expansion of macro 'ASSERT_ARGS'
  869 |     ASSERT_ARGS(Parrot_interp_compile_file)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_compile_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:574:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  574 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_compile_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:911:5: note: in expansion of macro 'ASSERT_ARGS'
  911 |     ASSERT_ARGS(Parrot_interp_compile_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'compiler' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:575:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  575 |     , PARROT_ASSERT_ARG(compiler) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_compile_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:911:5: note: in expansion of macro 'ASSERT_ARGS'
  911 |     ASSERT_ARGS(Parrot_interp_compile_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'code' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:576:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  576 |     , PARROT_ASSERT_ARG(code))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_compile_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:911:5: note: in expansion of macro 'ASSERT_ARGS'
  911 |     ASSERT_ARGS(Parrot_interp_compile_string)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_info':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:585:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  585 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:945:5: note: in expansion of macro 'ASSERT_ARGS'
  945 |     ASSERT_ARGS(Parrot_interp_info)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_info_p':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:587:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  587 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_info_p'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1043:5: note: in expansion of macro 'ASSERT_ARGS'
 1043 |     ASSERT_ARGS(Parrot_interp_info_p)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_info_s':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:589:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  589 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_info_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1092:5: note: in expansion of macro 'ASSERT_ARGS'
 1092 |     ASSERT_ARGS(Parrot_interp_info_s)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_get_from_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:583:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  583 |        PARROT_ASSERT_ARG(interp_pmc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_get_from_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1192:5: note: in expansion of macro 'ASSERT_ARGS'
 1192 |     ASSERT_ARGS(Parrot_interp_get_from_pmc)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_set_flag':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:627:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  627 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_set_flag'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1215:5: note: in expansion of macro 'ASSERT_ARGS'
 1215 |     ASSERT_ARGS(Parrot_interp_set_flag)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_set_debug':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:621:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  621 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_set_debug'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1244:5: note: in expansion of macro 'ASSERT_ARGS'
 1244 |     ASSERT_ARGS(Parrot_interp_set_debug)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_set_executable_name':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:624:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  624 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_set_executable_name'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1265:5: note: in expansion of macro 'ASSERT_ARGS'
 1265 |     ASSERT_ARGS(Parrot_interp_set_executable_name)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/interpreter.h:625:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  625 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_set_executable_name'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1265:5: note: in expansion of macro 'ASSERT_ARGS'
 1265 |     ASSERT_ARGS(Parrot_interp_set_executable_name)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_set_trace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:631:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  631 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_set_trace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1287:5: note: in expansion of macro 'ASSERT_ARGS'
 1287 |     ASSERT_ARGS(Parrot_interp_set_trace)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_clear_flag':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:564:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  564 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_clear_flag'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1307:5: note: in expansion of macro 'ASSERT_ARGS'
 1307 |     ASSERT_ARGS(Parrot_interp_clear_flag)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_clear_debug':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:562:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  562 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_clear_debug'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1326:5: note: in expansion of macro 'ASSERT_ARGS'
 1326 |     ASSERT_ARGS(Parrot_interp_clear_debug)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_clear_trace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:566:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  566 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_clear_trace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1345:5: note: in expansion of macro 'ASSERT_ARGS'
 1345 |     ASSERT_ARGS(Parrot_interp_clear_trace)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_test_flag':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:637:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  637 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_test_flag'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1365:5: note: in expansion of macro 'ASSERT_ARGS'
 1365 |     ASSERT_ARGS(Parrot_interp_test_flag)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_test_debug':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:635:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  635 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_test_debug'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1385:5: note: in expansion of macro 'ASSERT_ARGS'
 1385 |     ASSERT_ARGS(Parrot_interp_test_debug)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_test_trace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:639:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  639 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_test_trace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1405:5: note: in expansion of macro 'ASSERT_ARGS'
 1405 |     ASSERT_ARGS(Parrot_interp_test_trace)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_set_run_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:629:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  629 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_set_run_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1424:5: note: in expansion of macro 'ASSERT_ARGS'
 1424 |     ASSERT_ARGS(Parrot_interp_set_run_core)
      |     ^~~~~~~~~~~
src/interp/api.c: In function 'Parrot_interp_set_warnings':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/interpreter.h:633:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  633 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_interp_set_warnings'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/interp/api.c:1474:5: note: in expansion of macro 'ASSERT_ARGS'
 1474 |     ASSERT_ARGS(Parrot_interp_set_warnings)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/call/. -Isrc -o src/call/ops.o -c src/call/ops.c
In file included from ./include/parrot/parrot.h:261,
                 from src/call/ops.c:21:
src/call/ops.c: In function 'reset_runloop_id_counter':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:164:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  164 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_reset_runloop_id_counter'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/ops.c:150:5: note: in expansion of macro 'ASSERT_ARGS'
  150 |     ASSERT_ARGS(reset_runloop_id_counter)
      |     ^~~~~~~~~~~
src/call/ops.c: In function 'Parrot_runloop_new_jump_point':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:160:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  160 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runloop_new_jump_point'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/ops.c:176:5: note: in expansion of macro 'ASSERT_ARGS'
  176 |     ASSERT_ARGS(Parrot_runloop_new_jump_point)
      |     ^~~~~~~~~~~
src/call/ops.c: In function 'Parrot_runloop_free_jump_point':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:158:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  158 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runloop_free_jump_point'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/ops.c:207:5: note: in expansion of macro 'ASSERT_ARGS'
  207 |     ASSERT_ARGS(Parrot_runloop_free_jump_point)
      |     ^~~~~~~~~~~
src/call/ops.c: In function 'new_runloop_jump_point':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:155:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  155 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_new_runloop_jump_point'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/ops.c:232:5: note: in expansion of macro 'ASSERT_ARGS'
  232 |     ASSERT_ARGS(new_runloop_jump_point)
      |     ^~~~~~~~~~~
src/call/ops.c: In function 'free_runloop_jump_point':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:153:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  153 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_runloop_jump_point'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/ops.c:251:5: note: in expansion of macro 'ASSERT_ARGS'
  251 |     ASSERT_ARGS(free_runloop_jump_point)
      |     ^~~~~~~~~~~
src/call/ops.c: In function 'free_runloops_until':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/ops.c:42:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   42 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_runloops_until'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/ops.c:287:5: note: in expansion of macro 'ASSERT_ARGS'
  287 |     ASSERT_ARGS(free_runloops_until)
      |     ^~~~~~~~~~~
src/call/ops.c: In function 'runops':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:166:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  166 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/ops.c:62:5: note: in expansion of macro 'ASSERT_ARGS'
   62 |     ASSERT_ARGS(runops)
      |     ^~~~~~~~~~~
src/call/ops.c: In function 'really_destroy_runloop_jump_points':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/ops.c:45:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   45 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_really_destroy_runloop_jump_points'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/ops.c:309:5: note: in expansion of macro 'ASSERT_ARGS'
  309 |     ASSERT_ARGS(really_destroy_runloop_jump_points)
      |     ^~~~~~~~~~~
src/call/ops.c: In function 'destroy_runloop_jump_points':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:162:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  162 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_destroy_runloop_jump_points'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/ops.c:269:5: note: in expansion of macro 'ASSERT_ARGS'
  269 |     ASSERT_ARGS(destroy_runloop_jump_points)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/call/. -Isrc -o src/call/context.o -c src/call/context.c
In file included from ./include/parrot/parrot.h:261,
                 from src/call/context.c:16:
src/call/context.c: In function 'Parrot_pcc_get_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:554:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  554 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:148:5: note: in expansion of macro 'ASSERT_ARGS'
  148 |     ASSERT_ARGS(Parrot_pcc_get_sub)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_set_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:568:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  568 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:168:5: note: in expansion of macro 'ASSERT_ARGS'
  168 |     ASSERT_ARGS(Parrot_pcc_set_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:569:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  569 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:168:5: note: in expansion of macro 'ASSERT_ARGS'
  168 |     ASSERT_ARGS(Parrot_pcc_set_sub)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'init_context':
src/call/context.c:239:23: warning: 'nonnull' argument 'pmcctx' compared to NULL [-Wnonnull-compare]
  239 |     PARROT_ASSERT_MSG(!PMC_IS_NULL(pmcctx), "Can't initialise Null CallContext");
./include/parrot/exceptions.h:302:37: note: in definition of macro 'PARROT_ASSERT_MSG'
  302 | #  define PARROT_ASSERT_MSG(x, s) ((x) ? (0) : (Parrot_confess(s, __FILE__, __LINE__), 0))
      |                                     ^
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmcctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/context.c:116:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  116 |        PARROT_ASSERT_ARG(pmcctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:236:5: note: in expansion of macro 'ASSERT_ARGS'
  236 |     ASSERT_ARGS(init_context)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'calculate_registers_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'number_regs_used' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/call/context.c:111:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  111 |        PARROT_ASSERT_ARG(number_regs_used))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_calculate_registers_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:358:5: note: in expansion of macro 'ASSERT_ARGS'
  358 |     ASSERT_ARGS(calculate_registers_size)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_calculate_registers_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/context.c:119:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_calculate_registers_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:384:5: note: in expansion of macro 'ASSERT_ARGS'
  384 |     ASSERT_ARGS(Parrot_pcc_calculate_registers_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'number_regs_used' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/context.c:120:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  120 |     , PARROT_ASSERT_ARG(number_regs_used))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_calculate_registers_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:384:5: note: in expansion of macro 'ASSERT_ARGS'
  384 |     ASSERT_ARGS(Parrot_pcc_calculate_registers_size)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'clear_regs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/context.c:113:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  113 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_clear_regs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:450:5: note: in expansion of macro 'ASSERT_ARGS'
  450 |     ASSERT_ARGS(clear_regs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/context.c:114:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  114 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_clear_regs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:450:5: note: in expansion of macro 'ASSERT_ARGS'
  450 |     ASSERT_ARGS(clear_regs)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'allocate_registers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/context.c:107:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_allocate_registers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:401:5: note: in expansion of macro 'ASSERT_ARGS'
  401 |     ASSERT_ARGS(allocate_registers)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmcctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/context.c:108:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  108 |     , PARROT_ASSERT_ARG(pmcctx) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_allocate_registers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:401:5: note: in expansion of macro 'ASSERT_ARGS'
  401 |     ASSERT_ARGS(allocate_registers)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'number_regs_used' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/context.c:109:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  109 |     , PARROT_ASSERT_ARG(number_regs_used))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_allocate_registers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:401:5: note: in expansion of macro 'ASSERT_ARGS'
  401 |     ASSERT_ARGS(allocate_registers)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_allocate_registers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:584:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  584 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_allocate_registers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:488:5: note: in expansion of macro 'ASSERT_ARGS'
  488 |     ASSERT_ARGS(Parrot_pcc_allocate_registers)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmcctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:585:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  585 |     , PARROT_ASSERT_ARG(pmcctx) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_allocate_registers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:488:5: note: in expansion of macro 'ASSERT_ARGS'
  488 |     ASSERT_ARGS(Parrot_pcc_allocate_registers)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'number_regs_used' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:586:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  586 |     , PARROT_ASSERT_ARG(number_regs_used))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_allocate_registers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:488:5: note: in expansion of macro 'ASSERT_ARGS'
  488 |     ASSERT_ARGS(Parrot_pcc_allocate_registers)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_free_registers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:588:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  588 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_free_registers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:510:5: note: in expansion of macro 'ASSERT_ARGS'
  510 |     ASSERT_ARGS(Parrot_pcc_free_registers)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmcctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:589:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  589 |     , PARROT_ASSERT_ARG(pmcctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_free_registers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:510:5: note: in expansion of macro 'ASSERT_ARGS'
  510 |     ASSERT_ARGS(Parrot_pcc_free_registers)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_alloc_context':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:578:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  578 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_alloc_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:543:5: note: in expansion of macro 'ASSERT_ARGS'
  543 |     ASSERT_ARGS(Parrot_alloc_context)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'number_regs_used' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:579:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  579 |     , PARROT_ASSERT_ARG(number_regs_used))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_alloc_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:543:5: note: in expansion of macro 'ASSERT_ARGS'
  543 |     ASSERT_ARGS(Parrot_alloc_context)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_allocate_empty_context':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:582:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  582 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_allocate_empty_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:567:5: note: in expansion of macro 'ASSERT_ARGS'
  567 |     ASSERT_ARGS(Parrot_pcc_allocate_empty_context)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_init_context':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:591:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  591 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_init_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:587:5: note: in expansion of macro 'ASSERT_ARGS'
  587 |     ASSERT_ARGS(Parrot_pcc_init_context)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_get_INTVAL_reg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:539:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  539 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_INTVAL_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:650:5: note: in expansion of macro 'ASSERT_ARGS'
  650 |     ASSERT_ARGS(Parrot_pcc_get_INTVAL_reg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:540:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  540 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_INTVAL_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:650:5: note: in expansion of macro 'ASSERT_ARGS'
  650 |     ASSERT_ARGS(Parrot_pcc_get_INTVAL_reg)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_get_FLOATVAL_reg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:536:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  536 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_FLOATVAL_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:681:5: note: in expansion of macro 'ASSERT_ARGS'
  681 |     ASSERT_ARGS(Parrot_pcc_get_FLOATVAL_reg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:537:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  537 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_FLOATVAL_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:681:5: note: in expansion of macro 'ASSERT_ARGS'
  681 |     ASSERT_ARGS(Parrot_pcc_get_FLOATVAL_reg)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_get_STRING_reg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:551:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  551 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_STRING_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:712:5: note: in expansion of macro 'ASSERT_ARGS'
  712 |     ASSERT_ARGS(Parrot_pcc_get_STRING_reg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:552:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  552 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_STRING_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:712:5: note: in expansion of macro 'ASSERT_ARGS'
  712 |     ASSERT_ARGS(Parrot_pcc_get_STRING_reg)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_get_PMC_reg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:542:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  542 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_PMC_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:740:5: note: in expansion of macro 'ASSERT_ARGS'
  740 |     ASSERT_ARGS(Parrot_pcc_get_PMC_reg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:543:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  543 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_PMC_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:740:5: note: in expansion of macro 'ASSERT_ARGS'
  740 |     ASSERT_ARGS(Parrot_pcc_get_PMC_reg)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_get_regs_used':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:549:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  549 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_regs_used'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:765:5: note: in expansion of macro 'ASSERT_ARGS'
  765 |     ASSERT_ARGS(Parrot_pcc_get_regs_used)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_get_regs_ni':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:545:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  545 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_regs_ni'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:785:5: note: in expansion of macro 'ASSERT_ARGS'
  785 |     ASSERT_ARGS(Parrot_pcc_get_regs_ni)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_set_regs_ni':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:562:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  562 |        PARROT_ASSERT_ARG(ctx) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_regs_ni'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:803:5: note: in expansion of macro 'ASSERT_ARGS'
  803 |     ASSERT_ARGS(Parrot_pcc_set_regs_ni)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:563:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  563 |     , PARROT_ASSERT_ARG(bp))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_regs_ni'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:803:5: note: in expansion of macro 'ASSERT_ARGS'
  803 |     ASSERT_ARGS(Parrot_pcc_set_regs_ni)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_get_regs_ps':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:547:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  547 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_regs_ps'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:823:5: note: in expansion of macro 'ASSERT_ARGS'
  823 |     ASSERT_ARGS(Parrot_pcc_get_regs_ps)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_set_regs_ps':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:565:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  565 |        PARROT_ASSERT_ARG(ctx) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_regs_ps'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:841:5: note: in expansion of macro 'ASSERT_ARGS'
  841 |     ASSERT_ARGS(Parrot_pcc_set_regs_ps)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bp_ps' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:566:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  566 |     , PARROT_ASSERT_ARG(bp_ps))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_regs_ps'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:841:5: note: in expansion of macro 'ASSERT_ARGS'
  841 |     ASSERT_ARGS(Parrot_pcc_set_regs_ps)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_reuse_continuation':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:556:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  556 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_reuse_continuation'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:879:5: note: in expansion of macro 'ASSERT_ARGS'
  879 |     ASSERT_ARGS(Parrot_pcc_reuse_continuation)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'call_context' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:557:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  557 |     , PARROT_ASSERT_ARG(call_context))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_reuse_continuation'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:879:5: note: in expansion of macro 'ASSERT_ARGS'
  879 |     ASSERT_ARGS(Parrot_pcc_reuse_continuation)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'set_context':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/context.c:122:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  122 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:925:5: note: in expansion of macro 'ASSERT_ARGS'
  925 |     ASSERT_ARGS(set_context)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/call/context.c:123:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  123 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:925:5: note: in expansion of macro 'ASSERT_ARGS'
  925 |     ASSERT_ARGS(set_context)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pop_context':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:571:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  571 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pop_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:334:5: note: in expansion of macro 'ASSERT_ARGS'
  334 |     ASSERT_ARGS(Parrot_pop_context)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_set_new_context':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:596:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  596 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_set_new_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:609:5: note: in expansion of macro 'ASSERT_ARGS'
  609 |     ASSERT_ARGS(Parrot_set_new_context)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'number_regs_used' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:597:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  597 |     , PARROT_ASSERT_ARG(number_regs_used))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_set_new_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:609:5: note: in expansion of macro 'ASSERT_ARGS'
  609 |     ASSERT_ARGS(Parrot_set_new_context)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'create_initial_context':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/call.h:576:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  576 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_create_initial_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:209:5: note: in expansion of macro 'ASSERT_ARGS'
  209 |     ASSERT_ARGS(create_initial_context)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_push_context':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:573:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  573 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_push_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:307:5: note: in expansion of macro 'ASSERT_ARGS'
  307 |     ASSERT_ARGS(Parrot_push_context)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'n_regs_used' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:574:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  574 |     , PARROT_ASSERT_ARG(n_regs_used))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_push_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:307:5: note: in expansion of macro 'ASSERT_ARGS'
  307 |     ASSERT_ARGS(Parrot_push_context)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_set_context_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:559:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  559 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_context_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:859:5: note: in expansion of macro 'ASSERT_ARGS'
  859 |     ASSERT_ARGS(Parrot_pcc_set_context_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:560:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  560 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_context_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:859:5: note: in expansion of macro 'ASSERT_ARGS'
  859 |     ASSERT_ARGS(Parrot_pcc_set_context_func)
      |     ^~~~~~~~~~~
src/call/context.c: In function 'Parrot_pcc_unproxy_context':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:593:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  593 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_unproxy_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:947:5: note: in expansion of macro 'ASSERT_ARGS'
  947 |     ASSERT_ARGS(Parrot_pcc_unproxy_context)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'proxy' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/call.h:594:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  594 |     , PARROT_ASSERT_ARG(proxy))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_unproxy_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context.c:947:5: note: in expansion of macro 'ASSERT_ARGS'
  947 |     ASSERT_ARGS(Parrot_pcc_unproxy_context)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/call/. -Isrc -o src/call/context_accessors.o -c src/call/context_accessors.c
In file included from ./include/parrot/parrot.h:261,
                 from src/call/context_accessors.c:16:
src/call/context_accessors.c: In function 'Parrot_pcc_get_num_constants_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:353:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  353 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_num_constants_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:74:5: note: in expansion of macro 'ASSERT_ARGS'
   74 |     ASSERT_ARGS(Parrot_pcc_get_num_constants_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_str_constants_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:371:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  371 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_str_constants_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:84:5: note: in expansion of macro 'ASSERT_ARGS'
   84 |     ASSERT_ARGS(Parrot_pcc_get_str_constants_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_pmc_constants_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:363:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  363 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_pmc_constants_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:94:5: note: in expansion of macro 'ASSERT_ARGS'
   94 |     ASSERT_ARGS(Parrot_pcc_get_pmc_constants_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_set_constants_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:384:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  384 |        PARROT_ASSERT_ARG(ctx) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_constants_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:105:5: note: in expansion of macro 'ASSERT_ARGS'
  105 |     ASSERT_ARGS(Parrot_pcc_set_constants_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:385:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  385 |     , PARROT_ASSERT_ARG(ct))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_constants_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:105:5: note: in expansion of macro 'ASSERT_ARGS'
  105 |     ASSERT_ARGS(Parrot_pcc_set_constants_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_recursion_depth_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:366:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  366 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_recursion_depth_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:129:5: note: in expansion of macro 'ASSERT_ARGS'
  129 |     ASSERT_ARGS(Parrot_pcc_get_recursion_depth_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_set_recursion_depth_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:411:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  411 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_recursion_depth_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:150:5: note: in expansion of macro 'ASSERT_ARGS'
  150 |     ASSERT_ARGS(Parrot_pcc_set_recursion_depth_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_inc_recursion_depth_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:377:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  377 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_inc_recursion_depth_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:169:5: note: in expansion of macro 'ASSERT_ARGS'
  169 |     ASSERT_ARGS(Parrot_pcc_inc_recursion_depth_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_dec_recursion_depth_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:325:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  325 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_dec_recursion_depth_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:188:5: note: in expansion of macro 'ASSERT_ARGS'
  188 |     ASSERT_ARGS(Parrot_pcc_dec_recursion_depth_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_caller_ctx_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:334:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  334 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_caller_ctx_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:212:5: note: in expansion of macro 'ASSERT_ARGS'
  212 |     ASSERT_ARGS(Parrot_pcc_get_caller_ctx_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_set_caller_ctx_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:380:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  380 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_caller_ctx_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:221:5: note: in expansion of macro 'ASSERT_ARGS'
  221 |     ASSERT_ARGS(Parrot_pcc_set_caller_ctx_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:381:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  381 |     , PARROT_ASSERT_ARG(ctx) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_caller_ctx_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:221:5: note: in expansion of macro 'ASSERT_ARGS'
  221 |     ASSERT_ARGS(Parrot_pcc_set_caller_ctx_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'caller_ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:382:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  382 |     , PARROT_ASSERT_ARG(caller_ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_caller_ctx_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:221:5: note: in expansion of macro 'ASSERT_ARGS'
  221 |     ASSERT_ARGS(Parrot_pcc_set_caller_ctx_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_outer_ctx_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:355:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  355 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_outer_ctx_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:247:5: note: in expansion of macro 'ASSERT_ARGS'
  247 |     ASSERT_ARGS(Parrot_pcc_get_outer_ctx_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_set_outer_ctx_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:404:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  404 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_outer_ctx_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:256:5: note: in expansion of macro 'ASSERT_ARGS'
  256 |     ASSERT_ARGS(Parrot_pcc_set_outer_ctx_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:405:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  405 |     , PARROT_ASSERT_ARG(ctx) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_outer_ctx_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:256:5: note: in expansion of macro 'ASSERT_ARGS'
  256 |     ASSERT_ARGS(Parrot_pcc_set_outer_ctx_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'outer_ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:406:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  406 |     , PARROT_ASSERT_ARG(outer_ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_outer_ctx_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:256:5: note: in expansion of macro 'ASSERT_ARGS'
  256 |     ASSERT_ARGS(Parrot_pcc_set_outer_ctx_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_lex_pad_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:345:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  345 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_lex_pad_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:281:5: note: in expansion of macro 'ASSERT_ARGS'
  281 |     ASSERT_ARGS(Parrot_pcc_get_lex_pad_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_set_lex_pad_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:397:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  397 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_lex_pad_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:290:5: note: in expansion of macro 'ASSERT_ARGS'
  290 |     ASSERT_ARGS(Parrot_pcc_set_lex_pad_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:398:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  398 |     , PARROT_ASSERT_ARG(ctx) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_lex_pad_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:290:5: note: in expansion of macro 'ASSERT_ARGS'
  290 |     ASSERT_ARGS(Parrot_pcc_set_lex_pad_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lex_pad' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:399:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  399 |     , PARROT_ASSERT_ARG(lex_pad))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_lex_pad_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:290:5: note: in expansion of macro 'ASSERT_ARGS'
  290 |     ASSERT_ARGS(Parrot_pcc_set_lex_pad_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_namespace_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:347:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  347 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_namespace_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:315:5: note: in expansion of macro 'ASSERT_ARGS'
  315 |     ASSERT_ARGS(Parrot_pcc_get_namespace_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_set_namespace_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:401:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  401 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_namespace_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:324:5: note: in expansion of macro 'ASSERT_ARGS'
  324 |     ASSERT_ARGS(Parrot_pcc_set_namespace_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:402:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  402 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_namespace_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:324:5: note: in expansion of macro 'ASSERT_ARGS'
  324 |     ASSERT_ARGS(Parrot_pcc_set_namespace_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_HLL_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:343:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  343 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_HLL_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:347:5: note: in expansion of macro 'ASSERT_ARGS'
  347 |     ASSERT_ARGS(Parrot_pcc_get_HLL_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_set_HLL_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:395:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  395 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_HLL_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:356:5: note: in expansion of macro 'ASSERT_ARGS'
  356 |     ASSERT_ARGS(Parrot_pcc_set_HLL_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_handlers_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:341:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  341 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_handlers_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:380:5: note: in expansion of macro 'ASSERT_ARGS'
  380 |     ASSERT_ARGS(Parrot_pcc_get_handlers_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_set_handlers_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:391:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  391 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_handlers_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:390:5: note: in expansion of macro 'ASSERT_ARGS'
  390 |     ASSERT_ARGS(Parrot_pcc_set_handlers_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:392:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  392 |     , PARROT_ASSERT_ARG(ctx) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_handlers_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:390:5: note: in expansion of macro 'ASSERT_ARGS'
  390 |     ASSERT_ARGS(Parrot_pcc_set_handlers_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handlers' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:393:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  393 |     , PARROT_ASSERT_ARG(handlers))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_handlers_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:390:5: note: in expansion of macro 'ASSERT_ARGS'
  390 |     ASSERT_ARGS(Parrot_pcc_set_handlers_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_continuation_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:339:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  339 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_continuation_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:415:5: note: in expansion of macro 'ASSERT_ARGS'
  415 |     ASSERT_ARGS(Parrot_pcc_get_continuation_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_set_continuation_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:388:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  388 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_continuation_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:424:5: note: in expansion of macro 'ASSERT_ARGS'
  424 |     ASSERT_ARGS(Parrot_pcc_set_continuation_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:389:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  389 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_continuation_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:424:5: note: in expansion of macro 'ASSERT_ARGS'
  424 |     ASSERT_ARGS(Parrot_pcc_set_continuation_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_signature_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:368:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  368 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_signature_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:449:5: note: in expansion of macro 'ASSERT_ARGS'
  449 |     ASSERT_ARGS(Parrot_pcc_get_signature_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_set_signature_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:413:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  413 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_signature_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:458:5: note: in expansion of macro 'ASSERT_ARGS'
  458 |     ASSERT_ARGS(Parrot_pcc_set_signature_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/context.h:414:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  414 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_signature_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:458:5: note: in expansion of macro 'ASSERT_ARGS'
  458 |     ASSERT_ARGS(Parrot_pcc_set_signature_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_pc_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:357:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  357 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_pc_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:484:5: note: in expansion of macro 'ASSERT_ARGS'
  484 |     ASSERT_ARGS(Parrot_pcc_get_pc_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_set_pc_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:408:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  408 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_set_pc_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:493:5: note: in expansion of macro 'ASSERT_ARGS'
  493 |     ASSERT_ARGS(Parrot_pcc_set_pc_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_warnings_on_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:427:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  427 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_warnings_on_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:513:5: note: in expansion of macro 'ASSERT_ARGS'
  513 |     ASSERT_ARGS(Parrot_pcc_warnings_on_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_warnings_off_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:425:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  425 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_warnings_off_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:536:5: note: in expansion of macro 'ASSERT_ARGS'
  536 |     ASSERT_ARGS(Parrot_pcc_warnings_off_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_warnings_test_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:429:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  429 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_warnings_test_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:559:5: note: in expansion of macro 'ASSERT_ARGS'
  559 |     ASSERT_ARGS(Parrot_pcc_warnings_test_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_errors_on_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:329:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  329 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_errors_on_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:578:5: note: in expansion of macro 'ASSERT_ARGS'
  578 |     ASSERT_ARGS(Parrot_pcc_errors_on_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_errors_off_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:327:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  327 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_errors_off_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:598:5: note: in expansion of macro 'ASSERT_ARGS'
  598 |     ASSERT_ARGS(Parrot_pcc_errors_off_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_errors_test_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:331:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  331 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_errors_test_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:619:5: note: in expansion of macro 'ASSERT_ARGS'
  619 |     ASSERT_ARGS(Parrot_pcc_errors_test_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_trace_flags_on_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:420:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  420 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_trace_flags_on_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:639:5: note: in expansion of macro 'ASSERT_ARGS'
  639 |     ASSERT_ARGS(Parrot_pcc_trace_flags_on_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_trace_flags_off_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:417:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  417 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_trace_flags_off_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:660:5: note: in expansion of macro 'ASSERT_ARGS'
  660 |     ASSERT_ARGS(Parrot_pcc_trace_flags_off_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_trace_flags_test_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:423:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  423 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_trace_flags_test_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:681:5: note: in expansion of macro 'ASSERT_ARGS'
  681 |     ASSERT_ARGS(Parrot_pcc_trace_flags_test_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_num_constant_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:350:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  350 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_num_constant_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:710:5: note: in expansion of macro 'ASSERT_ARGS'
  710 |     ASSERT_ARGS(Parrot_pcc_get_num_constant_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_string_constant_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:374:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  374 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_string_constant_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:721:5: note: in expansion of macro 'ASSERT_ARGS'
  721 |     ASSERT_ARGS(Parrot_pcc_get_string_constant_func)
      |     ^~~~~~~~~~~
src/call/context_accessors.c: In function 'Parrot_pcc_get_pmc_constant_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/context.h:360:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  360 |        PARROT_ASSERT_ARG(ctx))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pcc_get_pmc_constant_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/call/context_accessors.c:732:5: note: in expansion of macro 'ASSERT_ARGS'
  732 |     ASSERT_ARGS(Parrot_pcc_get_pmc_constant_func)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/key.o -c src/key.c
In file included from ./include/parrot/parrot.h:261,
                 from src/key.c:20:
src/key.c: In function 'Parrot_key_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/key.h:173:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  173 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:44:5: note: in expansion of macro 'ASSERT_ARGS'
   44 |     ASSERT_ARGS(Parrot_key_new)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_new_integer':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/key.h:177:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  177 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_new_integer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:65:5: note: in expansion of macro 'ASSERT_ARGS'
   65 |     ASSERT_ARGS(Parrot_key_new_integer)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_new_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:179:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  179 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_new_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:91:5: note: in expansion of macro 'ASSERT_ARGS'
   91 |     ASSERT_ARGS(Parrot_key_new_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:180:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  180 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_new_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:91:5: note: in expansion of macro 'ASSERT_ARGS'
   91 |     ASSERT_ARGS(Parrot_key_new_string)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_new_cstring':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/key.h:175:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  175 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_new_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:118:5: note: in expansion of macro 'ASSERT_ARGS'
  118 |     ASSERT_ARGS(Parrot_key_new_cstring)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_set_integer':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:188:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  188 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_set_integer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:136:5: note: in expansion of macro 'ASSERT_ARGS'
  136 |     ASSERT_ARGS(Parrot_key_set_integer)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:189:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  189 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_set_integer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:136:5: note: in expansion of macro 'ASSERT_ARGS'
  136 |     ASSERT_ARGS(Parrot_key_set_integer)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_set_register':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:191:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  191 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_set_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:160:5: note: in expansion of macro 'ASSERT_ARGS'
  160 |     ASSERT_ARGS(Parrot_key_set_register)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:192:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  192 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_set_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:160:5: note: in expansion of macro 'ASSERT_ARGS'
  160 |     ASSERT_ARGS(Parrot_key_set_register)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_set_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:194:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  194 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_set_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:184:5: note: in expansion of macro 'ASSERT_ARGS'
  184 |     ASSERT_ARGS(Parrot_key_set_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:195:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  195 |     , PARROT_ASSERT_ARG(key) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_set_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:184:5: note: in expansion of macro 'ASSERT_ARGS'
  184 |     ASSERT_ARGS(Parrot_key_set_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:196:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  196 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_set_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:184:5: note: in expansion of macro 'ASSERT_ARGS'
  184 |     ASSERT_ARGS(Parrot_key_set_string)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_type':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/key.h:203:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  203 |        PARROT_ASSERT_ARG(key))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:208:5: note: in expansion of macro 'ASSERT_ARGS'
  208 |     ASSERT_ARGS(Parrot_key_type)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_integer':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:167:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  167 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_integer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:230:5: note: in expansion of macro 'ASSERT_ARGS'
  230 |     ASSERT_ARGS(Parrot_key_integer)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:168:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  168 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_integer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:230:5: note: in expansion of macro 'ASSERT_ARGS'
  230 |     ASSERT_ARGS(Parrot_key_integer)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:200:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  200 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:286:5: note: in expansion of macro 'ASSERT_ARGS'
  286 |     ASSERT_ARGS(Parrot_key_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:201:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  201 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:286:5: note: in expansion of macro 'ASSERT_ARGS'
  286 |     ASSERT_ARGS(Parrot_key_string)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:185:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  185 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:345:5: note: in expansion of macro 'ASSERT_ARGS'
  345 |     ASSERT_ARGS(Parrot_key_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:186:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  186 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:345:5: note: in expansion of macro 'ASSERT_ARGS'
  345 |     ASSERT_ARGS(Parrot_key_pmc)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_next':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:182:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  182 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_next'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:374:5: note: in expansion of macro 'ASSERT_ARGS'
  374 |     ASSERT_ARGS(Parrot_key_next)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:183:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  183 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_next'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:374:5: note: in expansion of macro 'ASSERT_ARGS'
  374 |     ASSERT_ARGS(Parrot_key_next)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_append':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:163:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  163 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_append'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:407:5: note: in expansion of macro 'ASSERT_ARGS'
  407 |     ASSERT_ARGS(Parrot_key_append)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key1' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:164:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  164 |     , PARROT_ASSERT_ARG(key1) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_append'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:407:5: note: in expansion of macro 'ASSERT_ARGS'
  407 |     ASSERT_ARGS(Parrot_key_append)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key2' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:165:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |     , PARROT_ASSERT_ARG(key2))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_append'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:407:5: note: in expansion of macro 'ASSERT_ARGS'
  407 |     ASSERT_ARGS(Parrot_key_append)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:170:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  170 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:438:5: note: in expansion of macro 'ASSERT_ARGS'
  438 |     ASSERT_ARGS(Parrot_key_mark)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/key.h:171:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  171 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:438:5: note: in expansion of macro 'ASSERT_ARGS'
  438 |     ASSERT_ARGS(Parrot_key_mark)
      |     ^~~~~~~~~~~
src/key.c: In function 'Parrot_key_set_to_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/key.h:198:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  198 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_key_set_to_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/key.c:473:5: note: in expansion of macro 'ASSERT_ARGS'
  473 |     ASSERT_ARGS(Parrot_key_set_to_string)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/library.o -c src/library.c
In file included from ./include/parrot/parrot.h:261,
                 from src/library.c:22:
src/library.c: In function 'get_search_paths':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/library.c:91:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   91 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_search_paths'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:343:5: note: in expansion of macro 'ASSERT_ARGS'
  343 |     ASSERT_ARGS(get_search_paths)
      |     ^~~~~~~~~~~
src/library.c: In function 'is_abs_path':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:93:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   93 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_is_abs_path'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:374:5: note: in expansion of macro 'ASSERT_ARGS'
  374 |     ASSERT_ARGS(is_abs_path)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/library.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'file' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/library.c:375:19: note: in expansion of macro 'STRING_length'
  375 |     UINTVAL len = STRING_length(file);
      |                   ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/library.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'file' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:94:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   94 |     , PARROT_ASSERT_ARG(file))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_is_abs_path'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:374:5: note: in expansion of macro 'ASSERT_ARGS'
  374 |     ASSERT_ARGS(is_abs_path)
      |     ^~~~~~~~~~~
src/library.c: In function 'path_guarantee_trailing_separator':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:101:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  101 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_path_guarantee_trailing_separator'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:466:5: note: in expansion of macro 'ASSERT_ARGS'
  466 |     ASSERT_ARGS(path_guarantee_trailing_separator)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:102:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  102 |     , PARROT_ASSERT_ARG(path))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_path_guarantee_trailing_separator'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:466:5: note: in expansion of macro 'ASSERT_ARGS'
  466 |     ASSERT_ARGS(path_guarantee_trailing_separator)
      |     ^~~~~~~~~~~
src/library.c: In function 'path_concat':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:96:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   96 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_path_concat'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:495:5: note: in expansion of macro 'ASSERT_ARGS'
  495 |     ASSERT_ARGS(path_concat)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'l_path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:97:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   97 |     , PARROT_ASSERT_ARG(l_path) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_path_concat'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:495:5: note: in expansion of macro 'ASSERT_ARGS'
  495 |     ASSERT_ARGS(path_concat)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r_path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:98:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   98 |     , PARROT_ASSERT_ARG(r_path))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_path_concat'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:495:5: note: in expansion of macro 'ASSERT_ARGS'
  495 |     ASSERT_ARGS(path_concat)
      |     ^~~~~~~~~~~
src/library.c: In function 'add_env_paths':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:84:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_env_paths'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:519:5: note: in expansion of macro 'ASSERT_ARGS'
  519 |     ASSERT_ARGS(add_env_paths)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'libpath' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:85:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   85 |     , PARROT_ASSERT_ARG(libpath) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_env_paths'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:519:5: note: in expansion of macro 'ASSERT_ARGS'
  519 |     ASSERT_ARGS(add_env_paths)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/library.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'envstr' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
./include/parrot/string.h:41:54: note: in definition of macro 'STRING_substr'
   41 |     ((src)->encoding)->substr((i), (src), (offset), (count))
      |                                                      ^~~~~
src/library.c:540:58: note: in expansion of macro 'STRING_length'
  540 |             entry = STRING_substr(interp, envstr, start, STRING_length(envstr) - start);
      |                                                          ^~~~~~~~~~~~~
src/library.c:521:9: warning: 'nonnull' argument 'envstr' compared to NULL [-Wnonnull-compare]
  521 |     if (!STRING_IS_NULL(envstr) && !STRING_IS_EMPTY(envstr)) {
In file included from ./include/parrot/parrot.h:261,
                 from src/library.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'envstr' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:86:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   86 |     , PARROT_ASSERT_ARG(envstr))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_env_paths'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:519:5: note: in expansion of macro 'ASSERT_ARGS'
  519 |     ASSERT_ARGS(add_env_paths)
      |     ^~~~~~~~~~~
src/library.c: In function 'parrot_init_library_paths':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/library.h:155:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  155 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_init_library_paths'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:147:5: note: in expansion of macro 'ASSERT_ARGS'
  147 |     ASSERT_ARGS(parrot_init_library_paths)
      |     ^~~~~~~~~~~
src/library.c: In function 'Parrot_lib_update_paths_from_config_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/library.h:136:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  136 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_lib_update_paths_from_config_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:233:5: note: in expansion of macro 'ASSERT_ARGS'
  233 |     ASSERT_ARGS(Parrot_lib_update_paths_from_config_hash)
      |     ^~~~~~~~~~~
src/library.c: In function 'try_load_path':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:107:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_try_load_path'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:570:5: note: in expansion of macro 'ASSERT_ARGS'
  570 |     ASSERT_ARGS(try_load_path)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:108:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  108 |     , PARROT_ASSERT_ARG(path))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_try_load_path'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:570:5: note: in expansion of macro 'ASSERT_ARGS'
  570 |     ASSERT_ARGS(try_load_path)
      |     ^~~~~~~~~~~
src/library.c: In function 'try_bytecode_extensions':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:104:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_try_bytecode_extensions'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:600:5: note: in expansion of macro 'ASSERT_ARGS'
  600 |     ASSERT_ARGS(try_bytecode_extensions)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/library.c:105:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  105 |     , PARROT_ASSERT_ARG(path))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_try_bytecode_extensions'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:600:5: note: in expansion of macro 'ASSERT_ARGS'
  600 |     ASSERT_ARGS(try_bytecode_extensions)
      |     ^~~~~~~~~~~
src/library.c: In function 'Parrot_lib_add_path':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:125:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  125 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_lib_add_path'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:680:5: note: in expansion of macro 'ASSERT_ARGS'
  680 |     ASSERT_ARGS(Parrot_lib_add_path)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path_str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:126:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  126 |     , PARROT_ASSERT_ARG(path_str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_lib_add_path'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:680:5: note: in expansion of macro 'ASSERT_ARGS'
  680 |     ASSERT_ARGS(Parrot_lib_add_path)
      |     ^~~~~~~~~~~
src/library.c: In function 'Parrot_lib_add_path_from_cstring':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:129:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  129 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_lib_add_path_from_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:705:5: note: in expansion of macro 'ASSERT_ARGS'
  705 |     ASSERT_ARGS(Parrot_lib_add_path_from_cstring)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:130:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  130 |     , PARROT_ASSERT_ARG(path))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_lib_add_path_from_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:705:5: note: in expansion of macro 'ASSERT_ARGS'
  705 |     ASSERT_ARGS(Parrot_lib_add_path_from_cstring)
      |     ^~~~~~~~~~~
src/library.c: In function 'Parrot_get_runtime_path':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/library.h:123:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  123 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_get_runtime_path'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:846:5: note: in expansion of macro 'ASSERT_ARGS'
  846 |     ASSERT_ARGS(Parrot_get_runtime_path)
      |     ^~~~~~~~~~~
src/library.c: In function 'Parrot_locate_runtime_file_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:142:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  142 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_locate_runtime_file_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:731:5: note: in expansion of macro 'ASSERT_ARGS'
  731 |     ASSERT_ARGS(Parrot_locate_runtime_file_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'file' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:143:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  143 |     , PARROT_ASSERT_ARG(file))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_locate_runtime_file_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:731:5: note: in expansion of macro 'ASSERT_ARGS'
  731 |     ASSERT_ARGS(Parrot_locate_runtime_file_str)
      |     ^~~~~~~~~~~
src/library.c: In function 'Parrot_locate_runtime_file':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:138:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  138 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_locate_runtime_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:817:5: note: in expansion of macro 'ASSERT_ARGS'
  817 |     ASSERT_ARGS(Parrot_locate_runtime_file)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'file_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:139:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  139 |     , PARROT_ASSERT_ARG(file_name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_locate_runtime_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:817:5: note: in expansion of macro 'ASSERT_ARGS'
  817 |     ASSERT_ARGS(Parrot_locate_runtime_file)
      |     ^~~~~~~~~~~
src/library.c: In function 'Parrot_split_path_ext':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:145:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_split_path_ext'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:887:5: note: in expansion of macro 'ASSERT_ARGS'
  887 |     ASSERT_ARGS(Parrot_split_path_ext)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/library.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'in' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/library.c:896:24: note: in expansion of macro 'STRING_length'
  896 |     const INTVAL len = STRING_length(in);
      |                        ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/library.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'in' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:146:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  146 |     , PARROT_ASSERT_ARG(in) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_split_path_ext'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:887:5: note: in expansion of macro 'ASSERT_ARGS'
  887 |     ASSERT_ARGS(Parrot_split_path_ext)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'wo_ext' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:147:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  147 |     , PARROT_ASSERT_ARG(wo_ext) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_split_path_ext'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:887:5: note: in expansion of macro 'ASSERT_ARGS'
  887 |     ASSERT_ARGS(Parrot_split_path_ext)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ext' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:148:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  148 |     , PARROT_ASSERT_ARG(ext))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_split_path_ext'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:887:5: note: in expansion of macro 'ASSERT_ARGS'
  887 |     ASSERT_ARGS(Parrot_split_path_ext)
      |     ^~~~~~~~~~~
src/library.c: In function 'parrot_split_path_ext':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:150:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  150 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_split_path_ext'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:954:5: note: in expansion of macro 'ASSERT_ARGS'
  954 |     ASSERT_ARGS(parrot_split_path_ext)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'in' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:151:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  151 |     , PARROT_ASSERT_ARG(in) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_split_path_ext'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:954:5: note: in expansion of macro 'ASSERT_ARGS'
  954 |     ASSERT_ARGS(parrot_split_path_ext)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'wo_ext' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:152:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |     , PARROT_ASSERT_ARG(wo_ext) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_split_path_ext'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:954:5: note: in expansion of macro 'ASSERT_ARGS'
  954 |     ASSERT_ARGS(parrot_split_path_ext)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ext' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/library.h:153:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  153 |     , PARROT_ASSERT_ARG(ext))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_split_path_ext'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:954:5: note: in expansion of macro 'ASSERT_ARGS'
  954 |     ASSERT_ARGS(parrot_split_path_ext)
      |     ^~~~~~~~~~~
src/library.c: In function 'Parrot_lib_search_paths_as_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/library.h:133:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  133 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_lib_search_paths_as_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/library.c:978:5: note: in expansion of macro 'ASSERT_ARGS'
  978 |     ASSERT_ARGS(Parrot_lib_search_paths_as_string)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/list.o -c src/list.c
In file included from ./include/parrot/parrot.h:261,
                 from src/list.c:16:
src/list.c: In function 'Parrot_list_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/list.h:153:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  153 |        PARROT_ASSERT_ARG(list))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_list_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/list.c:64:5: note: in expansion of macro 'ASSERT_ARGS'
   64 |     ASSERT_ARGS(Parrot_list_destroy)
      |     ^~~~~~~~~~~
src/list.c: In function 'Parrot_list_append':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/list.h:145:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |        PARROT_ASSERT_ARG(list) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_list_append'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/list.c:84:5: note: in expansion of macro 'ASSERT_ARGS'
   84 |     ASSERT_ARGS(Parrot_list_append)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'item' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/list.h:146:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  146 |     , PARROT_ASSERT_ARG(item))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_list_append'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/list.c:84:5: note: in expansion of macro 'ASSERT_ARGS'
   84 |     ASSERT_ARGS(Parrot_list_append)
      |     ^~~~~~~~~~~
src/list.c: In function 'Parrot_list_remove':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/list.h:158:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  158 |        PARROT_ASSERT_ARG(list) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_list_remove'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/list.c:120:5: note: in expansion of macro 'ASSERT_ARGS'
  120 |     ASSERT_ARGS(Parrot_list_remove)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'item' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/list.h:159:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  159 |     , PARROT_ASSERT_ARG(item))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_list_remove'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/list.c:120:5: note: in expansion of macro 'ASSERT_ARGS'
  120 |     ASSERT_ARGS(Parrot_list_remove)
      |     ^~~~~~~~~~~
src/list.c: In function 'Parrot_list_pop':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/list.h:156:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  156 |        PARROT_ASSERT_ARG(list))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_list_pop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/list.c:158:5: note: in expansion of macro 'ASSERT_ARGS'
  158 |     ASSERT_ARGS(Parrot_list_pop)
      |     ^~~~~~~~~~~
src/list.c: In function 'Parrot_list_check':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/list.h:148:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  148 |        PARROT_ASSERT_ARG(list))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_list_check'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/list.c:181:5: note: in expansion of macro 'ASSERT_ARGS'
  181 |     ASSERT_ARGS(Parrot_list_check)
      |     ^~~~~~~~~~~
src/list.c: In function 'Parrot_list_contains':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/list.h:150:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  150 |        PARROT_ASSERT_ARG(list) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_list_contains'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/list.c:214:5: note: in expansion of macro 'ASSERT_ARGS'
  214 |     ASSERT_ARGS(Parrot_list_contains)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'item' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/list.h:151:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  151 |     , PARROT_ASSERT_ARG(item))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_list_contains'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/list.c:214:5: note: in expansion of macro 'ASSERT_ARGS'
  214 |     ASSERT_ARGS(Parrot_list_contains)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/pointer_array.o -c src/pointer_array.c
In file included from ./include/parrot/parrot.h:261,
                 from src/pointer_array.c:16:
src/pointer_array.c: In function 'Parrot_pa_count_allocated':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/pointer_array.h:184:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  184 |        PARROT_ASSERT_ARG(self))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pa_count_allocated'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pointer_array.c:82:5: note: in expansion of macro 'ASSERT_ARGS'
   82 |     ASSERT_ARGS(Parrot_pa_count_allocated)
      |     ^~~~~~~~~~~
src/pointer_array.c: In function 'Parrot_pa_count_used':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/pointer_array.h:186:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  186 |        PARROT_ASSERT_ARG(self))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pa_count_used'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pointer_array.c:100:5: note: in expansion of macro 'ASSERT_ARGS'
  100 |     ASSERT_ARGS(Parrot_pa_count_used)
      |     ^~~~~~~~~~~
src/pointer_array.c: In function 'Parrot_pa_is_owned':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pointer_array.h:180:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  180 |        PARROT_ASSERT_ARG(self) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pa_is_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pointer_array.c:123:5: note: in expansion of macro 'ASSERT_ARGS'
  123 |     ASSERT_ARGS(Parrot_pa_is_owned)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'orig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pointer_array.h:181:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  181 |     , PARROT_ASSERT_ARG(orig))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pa_is_owned'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pointer_array.c:123:5: note: in expansion of macro 'ASSERT_ARGS'
  123 |     ASSERT_ARGS(Parrot_pa_is_owned)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Wno-format-nonliteral \
  -Isrc/string/. -o src/string/sprintf.o -c src/string/sprintf.c
In file included from ./include/parrot/parrot.h:261,
                 from src/string/sprintf.c:40:
src/string/sprintf.c: In function 'Parrot_vsprintf_s':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:832:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  832 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vsprintf_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:63:5: note: in expansion of macro 'ASSERT_ARGS'
   63 |     ASSERT_ARGS(Parrot_vsprintf_s)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pat' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:833:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  833 |     , PARROT_ASSERT_ARG(pat))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vsprintf_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:63:5: note: in expansion of macro 'ASSERT_ARGS'
   63 |     ASSERT_ARGS(Parrot_vsprintf_s)
      |     ^~~~~~~~~~~
src/string/sprintf.c: In function 'Parrot_vsprintf_c':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:829:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  829 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vsprintf_c'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:87:5: note: in expansion of macro 'ASSERT_ARGS'
   87 |     ASSERT_ARGS(Parrot_vsprintf_c)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pat' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:830:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  830 |     , PARROT_ASSERT_ARG(pat))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vsprintf_c'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:87:5: note: in expansion of macro 'ASSERT_ARGS'
   87 |     ASSERT_ARGS(Parrot_vsprintf_c)
      |     ^~~~~~~~~~~
src/string/sprintf.c: In function 'Parrot_vsnprintf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:825:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  825 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vsnprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:115:5: note: in expansion of macro 'ASSERT_ARGS'
  115 |     ASSERT_ARGS(Parrot_vsnprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'targ' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:826:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  826 |     , PARROT_ASSERT_ARG(targ) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vsnprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:115:5: note: in expansion of macro 'ASSERT_ARGS'
  115 |     ASSERT_ARGS(Parrot_vsnprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pat' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:827:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  827 |     , PARROT_ASSERT_ARG(pat))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vsnprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:115:5: note: in expansion of macro 'ASSERT_ARGS'
  115 |     ASSERT_ARGS(Parrot_vsnprintf)
      |     ^~~~~~~~~~~
src/string/sprintf.c: In function 'Parrot_sprintf_s':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:818:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  818 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sprintf_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:153:5: note: in expansion of macro 'ASSERT_ARGS'
  153 |     ASSERT_ARGS(Parrot_sprintf_s)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pat' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:819:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  819 |     , PARROT_ASSERT_ARG(pat))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sprintf_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:153:5: note: in expansion of macro 'ASSERT_ARGS'
  153 |     ASSERT_ARGS(Parrot_sprintf_s)
      |     ^~~~~~~~~~~
src/string/sprintf.c: In function 'Parrot_sprintf_c':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:815:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  815 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sprintf_c'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:181:5: note: in expansion of macro 'ASSERT_ARGS'
  181 |     ASSERT_ARGS(Parrot_sprintf_c)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pat' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:816:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  816 |     , PARROT_ASSERT_ARG(pat))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sprintf_c'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:181:5: note: in expansion of macro 'ASSERT_ARGS'
  181 |     ASSERT_ARGS(Parrot_sprintf_c)
      |     ^~~~~~~~~~~
src/string/sprintf.c: In function 'Parrot_snprintf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:811:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  811 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_snprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:209:5: note: in expansion of macro 'ASSERT_ARGS'
  209 |     ASSERT_ARGS(Parrot_snprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'targ' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:812:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  812 |     , PARROT_ASSERT_ARG(targ) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_snprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:209:5: note: in expansion of macro 'ASSERT_ARGS'
  209 |     ASSERT_ARGS(Parrot_snprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pat' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:813:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  813 |     , PARROT_ASSERT_ARG(pat))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_snprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:209:5: note: in expansion of macro 'ASSERT_ARGS'
  209 |     ASSERT_ARGS(Parrot_snprintf)
      |     ^~~~~~~~~~~
src/string/sprintf.c: In function 'Parrot_psprintf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:804:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  804 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_psprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:236:5: note: in expansion of macro 'ASSERT_ARGS'
  236 |     ASSERT_ARGS(Parrot_psprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pat' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:805:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  805 |     , PARROT_ASSERT_ARG(pat) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_psprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:236:5: note: in expansion of macro 'ASSERT_ARGS'
  236 |     ASSERT_ARGS(Parrot_psprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ary' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:806:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  806 |     , PARROT_ASSERT_ARG(ary))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_psprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:236:5: note: in expansion of macro 'ASSERT_ARGS'
  236 |     ASSERT_ARGS(Parrot_psprintf)
      |     ^~~~~~~~~~~
src/string/sprintf.c: In function 'Parrot_secret_snprintf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:808:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  808 |        PARROT_ASSERT_ARG(buffer) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_secret_snprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:261:5: note: in expansion of macro 'ASSERT_ARGS'
  261 |     ASSERT_ARGS(Parrot_secret_snprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'format' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:809:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  809 |     , PARROT_ASSERT_ARG(format))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_secret_snprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:261:5: note: in expansion of macro 'ASSERT_ARGS'
  261 |     ASSERT_ARGS(Parrot_secret_snprintf)
      |     ^~~~~~~~~~~
src/string/sprintf.c: In function 'Parrot_vfprintf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:821:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  821 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vfprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:300:5: note: in expansion of macro 'ASSERT_ARGS'
  300 |     ASSERT_ARGS(Parrot_vfprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pio' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:822:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  822 |     , PARROT_ASSERT_ARG(pio) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vfprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:300:5: note: in expansion of macro 'ASSERT_ARGS'
  300 |     ASSERT_ARGS(Parrot_vfprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:823:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  823 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vfprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:300:5: note: in expansion of macro 'ASSERT_ARGS'
  300 |     ASSERT_ARGS(Parrot_vfprintf)
      |     ^~~~~~~~~~~
src/string/sprintf.c: In function 'Parrot_fprintf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:798:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  798 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_fprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:311:5: note: in expansion of macro 'ASSERT_ARGS'
  311 |     ASSERT_ARGS(Parrot_fprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pio' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:799:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  799 |     , PARROT_ASSERT_ARG(pio) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_fprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:311:5: note: in expansion of macro 'ASSERT_ARGS'
  311 |     ASSERT_ARGS(Parrot_fprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/string_funcs.h:800:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  800 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_fprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:311:5: note: in expansion of macro 'ASSERT_ARGS'
  311 |     ASSERT_ARGS(Parrot_fprintf)
      |     ^~~~~~~~~~~
src/string/sprintf.c: In function 'Parrot_printf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:802:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  802 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_printf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:326:5: note: in expansion of macro 'ASSERT_ARGS'
  326 |     ASSERT_ARGS(Parrot_printf)
      |     ^~~~~~~~~~~
src/string/sprintf.c: In function 'Parrot_eprintf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/string_funcs.h:796:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  796 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_eprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/sprintf.c:344:5: note: in expansion of macro 'ASSERT_ARGS'
  344 |     ASSERT_ARGS(Parrot_eprintf)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/multidispatch.o -c src/multidispatch.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/namespace.o -c src/namespace.c
In file included from ./include/parrot/parrot.h:261,
                 from src/namespace.c:16:
src/namespace.c: In function 'internal_ns_maybe_create':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:94:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   94 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_internal_ns_maybe_create'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:252:5: note: in expansion of macro 'ASSERT_ARGS'
  252 |     ASSERT_ARGS(internal_ns_maybe_create)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ns' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:95:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   95 |     , PARROT_ASSERT_ARG(ns) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_internal_ns_maybe_create'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:252:5: note: in expansion of macro 'ASSERT_ARGS'
  252 |     ASSERT_ARGS(internal_ns_maybe_create)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:96:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   96 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_internal_ns_maybe_create'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:252:5: note: in expansion of macro 'ASSERT_ARGS'
  252 |     ASSERT_ARGS(internal_ns_maybe_create)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'internal_ns_keyed_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:90:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   90 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_internal_ns_keyed_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:132:5: note: in expansion of macro 'ASSERT_ARGS'
  132 |     ASSERT_ARGS(internal_ns_keyed_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'base_ns' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:91:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   91 |     , PARROT_ASSERT_ARG(base_ns) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_internal_ns_keyed_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:132:5: note: in expansion of macro 'ASSERT_ARGS'
  132 |     ASSERT_ARGS(internal_ns_keyed_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:92:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   92 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_internal_ns_keyed_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:132:5: note: in expansion of macro 'ASSERT_ARGS'
  132 |     ASSERT_ARGS(internal_ns_keyed_str)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'internal_ns_keyed_key':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:86:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   86 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_internal_ns_keyed_key'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:163:5: note: in expansion of macro 'ASSERT_ARGS'
  163 |     ASSERT_ARGS(internal_ns_keyed_key)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ns' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:87:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   87 |     , PARROT_ASSERT_ARG(ns) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_internal_ns_keyed_key'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:163:5: note: in expansion of macro 'ASSERT_ARGS'
  163 |     ASSERT_ARGS(internal_ns_keyed_key)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:88:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   88 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_internal_ns_keyed_key'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:163:5: note: in expansion of macro 'ASSERT_ARGS'
  163 |     ASSERT_ARGS(internal_ns_keyed_key)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'internal_ns_keyed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:82:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   82 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_internal_ns_keyed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:203:5: note: in expansion of macro 'ASSERT_ARGS'
  203 |     ASSERT_ARGS(internal_ns_keyed)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'base_ns' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:83:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   83 |     , PARROT_ASSERT_ARG(base_ns) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_internal_ns_keyed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:203:5: note: in expansion of macro 'ASSERT_ARGS'
  203 |     ASSERT_ARGS(internal_ns_keyed)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc_key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:84:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |     , PARROT_ASSERT_ARG(pmc_key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_internal_ns_keyed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:203:5: note: in expansion of macro 'ASSERT_ARGS'
  203 |     ASSERT_ARGS(internal_ns_keyed)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'store_sub_in_multi':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:98:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   98 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_sub_in_multi'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:320:5: note: in expansion of macro 'ASSERT_ARGS'
  320 |     ASSERT_ARGS(store_sub_in_multi)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:99:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   99 |     , PARROT_ASSERT_ARG(sub_pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_sub_in_multi'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:320:5: note: in expansion of macro 'ASSERT_ARGS'
  320 |     ASSERT_ARGS(store_sub_in_multi)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ns' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:100:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  100 |     , PARROT_ASSERT_ARG(ns))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_sub_in_multi'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:320:5: note: in expansion of macro 'ASSERT_ARGS'
  320 |     ASSERT_ARGS(store_sub_in_multi)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_get_namespace_keyed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:157:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  157 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_get_namespace_keyed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:367:5: note: in expansion of macro 'ASSERT_ARGS'
  367 |     ASSERT_ARGS(Parrot_ns_get_namespace_keyed)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'base_ns' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:158:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  158 |     , PARROT_ASSERT_ARG(base_ns) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_get_namespace_keyed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:367:5: note: in expansion of macro 'ASSERT_ARGS'
  367 |     ASSERT_ARGS(Parrot_ns_get_namespace_keyed)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc_key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:159:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  159 |     , PARROT_ASSERT_ARG(pmc_key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_get_namespace_keyed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:367:5: note: in expansion of macro 'ASSERT_ARGS'
  367 |     ASSERT_ARGS(Parrot_ns_get_namespace_keyed)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_get_namespace_keyed_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:162:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  162 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_get_namespace_keyed_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:390:5: note: in expansion of macro 'ASSERT_ARGS'
  390 |     ASSERT_ARGS(Parrot_ns_get_namespace_keyed_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'base_ns' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:163:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  163 |     , PARROT_ASSERT_ARG(base_ns))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_get_namespace_keyed_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:390:5: note: in expansion of macro 'ASSERT_ARGS'
  390 |     ASSERT_ARGS(Parrot_ns_get_namespace_keyed_str)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_make_namespace_keyed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:172:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  172 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_make_namespace_keyed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:414:5: note: in expansion of macro 'ASSERT_ARGS'
  414 |     ASSERT_ARGS(Parrot_ns_make_namespace_keyed)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'base_ns' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:173:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  173 |     , PARROT_ASSERT_ARG(base_ns) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_make_namespace_keyed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:414:5: note: in expansion of macro 'ASSERT_ARGS'
  414 |     ASSERT_ARGS(Parrot_ns_make_namespace_keyed)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc_key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:174:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  174 |     , PARROT_ASSERT_ARG(pmc_key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_make_namespace_keyed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:414:5: note: in expansion of macro 'ASSERT_ARGS'
  414 |     ASSERT_ARGS(Parrot_ns_make_namespace_keyed)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_make_namespace_keyed_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:177:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  177 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_make_namespace_keyed_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:438:5: note: in expansion of macro 'ASSERT_ARGS'
  438 |     ASSERT_ARGS(Parrot_ns_make_namespace_keyed_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'base_ns' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:178:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  178 |     , PARROT_ASSERT_ARG(base_ns) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_make_namespace_keyed_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:438:5: note: in expansion of macro 'ASSERT_ARGS'
  438 |     ASSERT_ARGS(Parrot_ns_make_namespace_keyed_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str_key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:179:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  179 |     , PARROT_ASSERT_ARG(str_key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_make_namespace_keyed_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:438:5: note: in expansion of macro 'ASSERT_ARGS'
  438 |     ASSERT_ARGS(Parrot_ns_make_namespace_keyed_str)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'get_namespace_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:79:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   79 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_namespace_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:286:5: note: in expansion of macro 'ASSERT_ARGS'
  286 |     ASSERT_ARGS(get_namespace_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/namespace.c:80:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   80 |     , PARROT_ASSERT_ARG(sub_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_namespace_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:286:5: note: in expansion of macro 'ASSERT_ARGS'
  286 |     ASSERT_ARGS(get_namespace_pmc)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_make_namespace_autobase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:168:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  168 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_make_namespace_autobase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:461:5: note: in expansion of macro 'ASSERT_ARGS'
  461 |     ASSERT_ARGS(Parrot_ns_make_namespace_autobase)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:169:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  169 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_make_namespace_autobase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:461:5: note: in expansion of macro 'ASSERT_ARGS'
  461 |     ASSERT_ARGS(Parrot_ns_make_namespace_autobase)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_get_name':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:154:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  154 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_get_name'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:488:5: note: in expansion of macro 'ASSERT_ARGS'
  488 |     ASSERT_ARGS(Parrot_ns_get_name)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument '_namespace' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:155:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  155 |     , PARROT_ASSERT_ARG(_namespace))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_get_name'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:488:5: note: in expansion of macro 'ASSERT_ARGS'
  488 |     ASSERT_ARGS(Parrot_ns_get_name)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_get_global':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/namespace.h:152:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_get_global'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:520:5: note: in expansion of macro 'ASSERT_ARGS'
  520 |     ASSERT_ARGS(Parrot_ns_get_global)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_set_global':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:181:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  181 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_set_global'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:543:5: note: in expansion of macro 'ASSERT_ARGS'
  543 |     ASSERT_ARGS(Parrot_ns_set_global)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ns' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:182:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  182 |     , PARROT_ASSERT_ARG(ns))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_set_global'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:543:5: note: in expansion of macro 'ASSERT_ARGS'
  543 |     ASSERT_ARGS(Parrot_ns_set_global)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_find_namespace_global':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/namespace.h:150:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  150 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_find_namespace_global'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:570:5: note: in expansion of macro 'ASSERT_ARGS'
  570 |     ASSERT_ARGS(Parrot_ns_find_namespace_global)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_find_current_namespace_global':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/namespace.h:140:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  140 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_find_current_namespace_global'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:606:5: note: in expansion of macro 'ASSERT_ARGS'
  606 |     ASSERT_ARGS(Parrot_ns_find_current_namespace_global)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_store_global':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/namespace.h:184:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  184 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_store_global'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:628:5: note: in expansion of macro 'ASSERT_ARGS'
  628 |     ASSERT_ARGS(Parrot_ns_store_global)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_find_global_from_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:142:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  142 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_find_global_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:655:5: note: in expansion of macro 'ASSERT_ARGS'
  655 |     ASSERT_ARGS(Parrot_ns_find_global_from_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ns' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:143:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  143 |     , PARROT_ASSERT_ARG(ns))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_find_global_from_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:655:5: note: in expansion of macro 'ASSERT_ARGS'
  655 |     ASSERT_ARGS(Parrot_ns_find_global_from_op)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_find_named_item':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:145:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_find_named_item'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:685:5: note: in expansion of macro 'ASSERT_ARGS'
  685 |     ASSERT_ARGS(Parrot_ns_find_named_item)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:146:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  146 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_find_named_item'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:685:5: note: in expansion of macro 'ASSERT_ARGS'
  685 |     ASSERT_ARGS(Parrot_ns_find_named_item)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'next_unused' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:147:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  147 |     , PARROT_ASSERT_ARG(next_unused))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_find_named_item'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:685:5: note: in expansion of macro 'ASSERT_ARGS'
  685 |     ASSERT_ARGS(Parrot_ns_find_named_item)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_store_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:186:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  186 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_store_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:723:5: note: in expansion of macro 'ASSERT_ARGS'
  723 |     ASSERT_ARGS(Parrot_ns_store_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/namespace.h:187:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  187 |     , PARROT_ASSERT_ARG(sub_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_store_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:723:5: note: in expansion of macro 'ASSERT_ARGS'
  723 |     ASSERT_ARGS(Parrot_ns_store_sub)
      |     ^~~~~~~~~~~
src/namespace.c: In function 'Parrot_ns_get_root_namespace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/namespace.h:165:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ns_get_root_namespace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/namespace.c:778:5: note: in expansion of macro 'ASSERT_ARGS'
  778 |     ASSERT_ARGS(Parrot_ns_get_root_namespace)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/nci/. -Isrc -o src/nci/api.o -c src/nci/api.c
In file included from ./include/parrot/parrot.h:261,
                 from src/nci/api.c:21:
src/nci/api.c: In function 'build_call_func':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/nci.h:32:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   32 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_call_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/nci/api.c:43:5: note: in expansion of macro 'ASSERT_ARGS'
   43 |     ASSERT_ARGS(build_call_func)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/nci.h:33:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   33 |     , PARROT_ASSERT_ARG(sig))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_call_func'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/nci/api.c:43:5: note: in expansion of macro 'ASSERT_ARGS'
   43 |     ASSERT_ARGS(build_call_func)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/nci/. -Isrc -o src/nci/signatures.o -c src/nci/signatures.c
In file included from ./include/parrot/parrot.h:261,
                 from src/nci/signatures.c:20:
src/nci/signatures.c: In function 'Parrot_nci_parse_signature':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/nci.h:75:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   75 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_nci_parse_signature'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/nci/signatures.c:52:5: note: in expansion of macro 'ASSERT_ARGS'
   52 |     ASSERT_ARGS(Parrot_nci_parse_signature)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sig_str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/nci.h:76:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   76 |     , PARROT_ASSERT_ARG(sig_str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_nci_parse_signature'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/nci/signatures.c:52:5: note: in expansion of macro 'ASSERT_ARGS'
   52 |     ASSERT_ARGS(Parrot_nci_parse_signature)
      |     ^~~~~~~~~~~
src/nci/signatures.c: In function 'ncidt_to_pcc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/nci/signatures.c:33:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   33 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ncidt_to_pcc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/nci/signatures.c:151:5: note: in expansion of macro 'ASSERT_ARGS'
  151 |     ASSERT_ARGS(ncidt_to_pcc)
      |     ^~~~~~~~~~~
src/nci/signatures.c: In function 'Parrot_nci_sig_to_pcc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/nci.h:81:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   81 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_nci_sig_to_pcc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/nci/signatures.c:204:5: note: in expansion of macro 'ASSERT_ARGS'
  204 |     ASSERT_ARGS(Parrot_nci_sig_to_pcc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sig_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/nci.h:82:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   82 |     , PARROT_ASSERT_ARG(sig_pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_nci_sig_to_pcc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/nci/signatures.c:204:5: note: in expansion of macro 'ASSERT_ARGS'
  204 |     ASSERT_ARGS(Parrot_nci_sig_to_pcc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'params_sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/nci.h:83:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   83 |     , PARROT_ASSERT_ARG(params_sig) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_nci_sig_to_pcc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/nci/signatures.c:204:5: note: in expansion of macro 'ASSERT_ARGS'
  204 |     ASSERT_ARGS(Parrot_nci_sig_to_pcc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ret_sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/nci.h:84:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |     , PARROT_ASSERT_ARG(ret_sig))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_nci_sig_to_pcc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/nci/signatures.c:204:5: note: in expansion of macro 'ASSERT_ARGS'
  204 |     ASSERT_ARGS(Parrot_nci_sig_to_pcc)
      |     ^~~~~~~~~~~
src/nci/signatures.c: In function 'Parrot_nci_describe_sig':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/nci.h:78:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   78 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_nci_describe_sig'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/nci/signatures.c:273:5: note: in expansion of macro 'ASSERT_ARGS'
  273 |     ASSERT_ARGS(Parrot_nci_describe_sig)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sig' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/nci.h:79:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   79 |     , PARROT_ASSERT_ARG(sig))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_nci_describe_sig'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/nci/signatures.c:273:5: note: in expansion of macro 'ASSERT_ARGS'
  273 |     ASSERT_ARGS(Parrot_nci_describe_sig)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/nci/. -Isrc -o src/nci/core_thunks.o -c src/nci/core_thunks.c
src/nci/core_thunks.c: In function 'Parrot_nci_load_core_thunks':
src/nci/core_thunks.c:662:1: warning: stack usage is 688 bytes [-Wstack-usage=]
  662 | Parrot_nci_load_core_thunks(PARROT_INTERP) {
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden \
  -Isrc/nci/. -o src/nci/extra_thunks.o -c src/nci/extra_thunks.c
src/nci/extra_thunks.c: In function 'Parrot_nci_load_extra_thunks':
src/nci/extra_thunks.c:3278:1: warning: stack usage is 2768 bytes [-Wstack-usage=]
 3278 | Parrot_nci_load_extra_thunks(PARROT_INTERP) {
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/oo.o -c src/oo.c
In file included from ./include/parrot/parrot.h:261,
                 from src/oo.c:20:
src/oo.c: In function 'debug_trace_find_meth':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/oo.c:67:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   67 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_debug_trace_find_meth'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:104:5: note: in expansion of macro 'ASSERT_ARGS'
  104 |     ASSERT_ARGS(debug_trace_find_meth)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument '_class' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/oo.c:68:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   68 |     , PARROT_ASSERT_ARG(_class) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_debug_trace_find_meth'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:104:5: note: in expansion of macro 'ASSERT_ARGS'
  104 |     ASSERT_ARGS(debug_trace_find_meth)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/oo.c:69:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   69 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_debug_trace_find_meth'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:104:5: note: in expansion of macro 'ASSERT_ARGS'
  104 |     ASSERT_ARGS(debug_trace_find_meth)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_oo_extract_methods_from_namespace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:235:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  235 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_extract_methods_from_namespace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:156:5: note: in expansion of macro 'ASSERT_ARGS'
  156 |     ASSERT_ARGS(Parrot_oo_extract_methods_from_namespace)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:236:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  236 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_extract_methods_from_namespace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:156:5: note: in expansion of macro 'ASSERT_ARGS'
  156 |     ASSERT_ARGS(Parrot_oo_extract_methods_from_namespace)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/oo.c:20:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'ns' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/oo.c:161:9: note: in expansion of macro 'PMC_IS_NULL'
  161 |     if (PMC_IS_NULL(ns))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/oo.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ns' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:237:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  237 |     , PARROT_ASSERT_ARG(ns))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_extract_methods_from_namespace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:156:5: note: in expansion of macro 'ASSERT_ARGS'
  156 |     ASSERT_ARGS(Parrot_oo_extract_methods_from_namespace)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_oo_clone_object':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:231:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  231 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_clone_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:293:5: note: in expansion of macro 'ASSERT_ARGS'
  293 |     ASSERT_ARGS(Parrot_oo_clone_object)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:232:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  232 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_clone_object'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:293:5: note: in expansion of macro 'ASSERT_ARGS'
  293 |     ASSERT_ARGS(Parrot_oo_clone_object)
      |     ^~~~~~~~~~~
src/oo.c: In function 'get_pmc_proxy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/oo.c:74:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   74 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_pmc_proxy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:375:5: note: in expansion of macro 'ASSERT_ARGS'
  375 |     ASSERT_ARGS(get_pmc_proxy)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_oo_get_class':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:217:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  217 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_get_class'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:223:5: note: in expansion of macro 'ASSERT_ARGS'
  223 |     ASSERT_ARGS(Parrot_oo_get_class)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/oo.c:20:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/oo.c:226:9: note: in expansion of macro 'PMC_IS_NULL'
  226 |     if (PMC_IS_NULL(key))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/oo.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:218:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  218 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_get_class'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:223:5: note: in expansion of macro 'ASSERT_ARGS'
  223 |     ASSERT_ARGS(Parrot_oo_get_class)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_oo_get_class_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/oo.h:220:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  220 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_get_class_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:424:5: note: in expansion of macro 'ASSERT_ARGS'
  424 |     ASSERT_ARGS(Parrot_oo_get_class_str)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_oo_new_class_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:222:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  222 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_new_class_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:460:5: note: in expansion of macro 'ASSERT_ARGS'
  460 |     ASSERT_ARGS(Parrot_oo_new_class_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'classtype' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:223:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  223 |     , PARROT_ASSERT_ARG(classtype))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_new_class_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:460:5: note: in expansion of macro 'ASSERT_ARGS'
  460 |     ASSERT_ARGS(Parrot_oo_new_class_pmc)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_oo_newclass_from_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:239:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  239 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_newclass_from_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:480:5: note: in expansion of macro 'ASSERT_ARGS'
  480 |     ASSERT_ARGS(Parrot_oo_newclass_from_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:240:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  240 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_newclass_from_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:480:5: note: in expansion of macro 'ASSERT_ARGS'
  480 |     ASSERT_ARGS(Parrot_oo_newclass_from_str)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_oo_find_vtable_override_for_class':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:213:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  213 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_find_vtable_override_for_class'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:514:5: note: in expansion of macro 'ASSERT_ARGS'
  514 |     ASSERT_ARGS(Parrot_oo_find_vtable_override_for_class)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'classobj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:214:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  214 |     , PARROT_ASSERT_ARG(classobj) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_find_vtable_override_for_class'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:514:5: note: in expansion of macro 'ASSERT_ARGS'
  514 |     ASSERT_ARGS(Parrot_oo_find_vtable_override_for_class)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:215:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  215 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_find_vtable_override_for_class'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:514:5: note: in expansion of macro 'ASSERT_ARGS'
  514 |     ASSERT_ARGS(Parrot_oo_find_vtable_override_for_class)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_oo_find_vtable_override':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:208:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  208 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_find_vtable_override'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:541:5: note: in expansion of macro 'ASSERT_ARGS'
  541 |     ASSERT_ARGS(Parrot_oo_find_vtable_override)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'classobj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:209:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  209 |     , PARROT_ASSERT_ARG(classobj) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_find_vtable_override'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:541:5: note: in expansion of macro 'ASSERT_ARGS'
  541 |     ASSERT_ARGS(Parrot_oo_find_vtable_override)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:210:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  210 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_find_vtable_override'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:541:5: note: in expansion of macro 'ASSERT_ARGS'
  541 |     ASSERT_ARGS(Parrot_oo_find_vtable_override)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_get_vtable_index':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:200:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  200 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_get_vtable_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:586:5: note: in expansion of macro 'ASSERT_ARGS'
  586 |     ASSERT_ARGS(Parrot_get_vtable_index)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:201:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  201 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_get_vtable_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:586:5: note: in expansion of macro 'ASSERT_ARGS'
  586 |     ASSERT_ARGS(Parrot_get_vtable_index)
      |     ^~~~~~~~~~~
src/oo.c: In function 'fail_if_type_exists':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/oo.c:71:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   71 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fail_if_type_exists'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:663:5: note: in expansion of macro 'ASSERT_ARGS'
  663 |     ASSERT_ARGS(fail_if_type_exists)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/oo.c:72:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   72 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fail_if_type_exists'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:663:5: note: in expansion of macro 'ASSERT_ARGS'
  663 |     ASSERT_ARGS(fail_if_type_exists)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_oo_register_type':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:242:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  242 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_register_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:709:5: note: in expansion of macro 'ASSERT_ARGS'
  709 |     ASSERT_ARGS(Parrot_oo_register_type)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:243:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  243 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_register_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:709:5: note: in expansion of macro 'ASSERT_ARGS'
  709 |     ASSERT_ARGS(Parrot_oo_register_type)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument '_namespace' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:244:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  244 |     , PARROT_ASSERT_ARG(_namespace))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_oo_register_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:709:5: note: in expansion of macro 'ASSERT_ARGS'
  709 |     ASSERT_ARGS(Parrot_oo_register_type)
      |     ^~~~~~~~~~~
src/oo.c: In function 'mark_object_cache':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/oo.h:229:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  229 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mark_object_cache'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:752:5: note: in expansion of macro 'ASSERT_ARGS'
  752 |     ASSERT_ARGS(mark_object_cache)
      |     ^~~~~~~~~~~
src/oo.c: In function 'init_object_cache':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/oo.h:227:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  227 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_object_cache'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:787:5: note: in expansion of macro 'ASSERT_ARGS'
  787 |     ASSERT_ARGS(init_object_cache)
      |     ^~~~~~~~~~~
src/oo.c: In function 'invalidate_type_caches':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/oo.c:78:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   78 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_invalidate_type_caches'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:836:5: note: in expansion of macro 'ASSERT_ARGS'
  836 |     ASSERT_ARGS(invalidate_type_caches)
      |     ^~~~~~~~~~~
src/oo.c: In function 'destroy_object_cache':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/oo.h:225:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  225 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_destroy_object_cache'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:807:5: note: in expansion of macro 'ASSERT_ARGS'
  807 |     ASSERT_ARGS(destroy_object_cache)
      |     ^~~~~~~~~~~
src/oo.c: In function 'invalidate_all_caches':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/oo.c:76:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   76 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_invalidate_all_caches'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:875:5: note: in expansion of macro 'ASSERT_ARGS'
  875 |     ASSERT_ARGS(invalidate_all_caches)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_invalidate_method_cache':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/oo.h:205:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  205 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_invalidate_method_cache'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:897:5: note: in expansion of macro 'ASSERT_ARGS'
  897 |     ASSERT_ARGS(Parrot_invalidate_method_cache)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_find_method_direct':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:192:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  192 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_find_method_direct'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:939:5: note: in expansion of macro 'ASSERT_ARGS'
  939 |     ASSERT_ARGS(Parrot_find_method_direct)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument '_class' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:193:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  193 |     , PARROT_ASSERT_ARG(_class) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_find_method_direct'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:939:5: note: in expansion of macro 'ASSERT_ARGS'
  939 |     ASSERT_ARGS(Parrot_find_method_direct)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'method_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:194:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  194 |     , PARROT_ASSERT_ARG(method_name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_find_method_direct'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:939:5: note: in expansion of macro 'ASSERT_ARGS'
  939 |     ASSERT_ARGS(Parrot_find_method_direct)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_find_method_with_cache':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:196:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  196 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_find_method_with_cache'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1003:5: note: in expansion of macro 'ASSERT_ARGS'
 1003 |     ASSERT_ARGS(Parrot_find_method_with_cache)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument '_class' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:197:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  197 |     , PARROT_ASSERT_ARG(_class) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_find_method_with_cache'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1003:5: note: in expansion of macro 'ASSERT_ARGS'
 1003 |     ASSERT_ARGS(Parrot_find_method_with_cache)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'method_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:198:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  198 |     , PARROT_ASSERT_ARG(method_name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_find_method_with_cache'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1003:5: note: in expansion of macro 'ASSERT_ARGS'
 1003 |     ASSERT_ARGS(Parrot_find_method_with_cache)
      |     ^~~~~~~~~~~
src/oo.c: In function 'C3_merge':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/oo.c:64:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   64 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_C3_merge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1073:5: note: in expansion of macro 'ASSERT_ARGS'
 1073 |     ASSERT_ARGS(C3_merge)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'merge_list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/oo.c:65:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   65 |     , PARROT_ASSERT_ARG(merge_list))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_C3_merge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1073:5: note: in expansion of macro 'ASSERT_ARGS'
 1073 |     ASSERT_ARGS(C3_merge)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_ComputeMRO_C3':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:189:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  189 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ComputeMRO_C3'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1176:5: note: in expansion of macro 'ASSERT_ARGS'
 1176 |     ASSERT_ARGS(Parrot_ComputeMRO_C3)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument '_class' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:190:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  190 |     , PARROT_ASSERT_ARG(_class))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ComputeMRO_C3'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1176:5: note: in expansion of macro 'ASSERT_ARGS'
 1176 |     ASSERT_ARGS(Parrot_ComputeMRO_C3)
      |     ^~~~~~~~~~~
src/oo.c: In function 'Parrot_ComposeRole':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:182:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  182 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ComposeRole'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1258:5: note: in expansion of macro 'ASSERT_ARGS'
 1258 |     ASSERT_ARGS(Parrot_ComposeRole)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'role' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:183:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  183 |     , PARROT_ASSERT_ARG(role) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ComposeRole'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1258:5: note: in expansion of macro 'ASSERT_ARGS'
 1258 |     ASSERT_ARGS(Parrot_ComposeRole)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'exclude' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:184:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  184 |     , PARROT_ASSERT_ARG(exclude) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ComposeRole'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1258:5: note: in expansion of macro 'ASSERT_ARGS'
 1258 |     ASSERT_ARGS(Parrot_ComposeRole)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'alias' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:185:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  185 |     , PARROT_ASSERT_ARG(alias) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ComposeRole'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1258:5: note: in expansion of macro 'ASSERT_ARGS'
 1258 |     ASSERT_ARGS(Parrot_ComposeRole)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'methods_hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:186:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  186 |     , PARROT_ASSERT_ARG(methods_hash) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ComposeRole'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1258:5: note: in expansion of macro 'ASSERT_ARGS'
 1258 |     ASSERT_ARGS(Parrot_ComposeRole)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'roles_list' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/oo.h:187:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  187 |     , PARROT_ASSERT_ARG(roles_list))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_ComposeRole'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/oo.c:1258:5: note: in expansion of macro 'ASSERT_ARGS'
 1258 |     ASSERT_ARGS(Parrot_ComposeRole)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/packfile/. -Isrc -o src/packfile/object_serialization.o -c src/packfile/object_serialization.c
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/object_serialization.c:24:
src/packfile/object_serialization.c: In function 'Parrot_freeze':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:190:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  190 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:55:5: note: in expansion of macro 'ASSERT_ARGS'
   55 |     ASSERT_ARGS(Parrot_freeze)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:191:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  191 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:55:5: note: in expansion of macro 'ASSERT_ARGS'
   55 |     ASSERT_ARGS(Parrot_freeze)
      |     ^~~~~~~~~~~
src/packfile/object_serialization.c: In function 'Parrot_freeze_pbc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:193:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  193 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze_pbc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:80:5: note: in expansion of macro 'ASSERT_ARGS'
   80 |     ASSERT_ARGS(Parrot_freeze_pbc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:194:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  194 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze_pbc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:80:5: note: in expansion of macro 'ASSERT_ARGS'
   80 |     ASSERT_ARGS(Parrot_freeze_pbc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:195:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  195 |     , PARROT_ASSERT_ARG(pf) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze_pbc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:80:5: note: in expansion of macro 'ASSERT_ARGS'
   80 |     ASSERT_ARGS(Parrot_freeze_pbc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:196:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  196 |     , PARROT_ASSERT_ARG(cursor) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze_pbc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:80:5: note: in expansion of macro 'ASSERT_ARGS'
   80 |     ASSERT_ARGS(Parrot_freeze_pbc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seen' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:197:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  197 |     , PARROT_ASSERT_ARG(seen))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze_pbc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:80:5: note: in expansion of macro 'ASSERT_ARGS'
   80 |     ASSERT_ARGS(Parrot_freeze_pbc)
      |     ^~~~~~~~~~~
src/packfile/object_serialization.c: In function 'Parrot_freeze_pbc_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:199:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  199 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze_pbc_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:115:5: note: in expansion of macro 'ASSERT_ARGS'
  115 |     ASSERT_ARGS(Parrot_freeze_pbc_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:200:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  200 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze_pbc_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:115:5: note: in expansion of macro 'ASSERT_ARGS'
  115 |     ASSERT_ARGS(Parrot_freeze_pbc_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:201:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  201 |     , PARROT_ASSERT_ARG(pf) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze_pbc_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:115:5: note: in expansion of macro 'ASSERT_ARGS'
  115 |     ASSERT_ARGS(Parrot_freeze_pbc_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seen' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:202:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  202 |     , PARROT_ASSERT_ARG(seen))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze_pbc_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:115:5: note: in expansion of macro 'ASSERT_ARGS'
  115 |     ASSERT_ARGS(Parrot_freeze_pbc_size)
      |     ^~~~~~~~~~~
src/packfile/object_serialization.c: In function 'Parrot_freeze_strings':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:204:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  204 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze_strings'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:148:5: note: in expansion of macro 'ASSERT_ARGS'
  148 |     ASSERT_ARGS(Parrot_freeze_strings)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:205:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  205 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_freeze_strings'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:148:5: note: in expansion of macro 'ASSERT_ARGS'
  148 |     ASSERT_ARGS(Parrot_freeze_strings)
      |     ^~~~~~~~~~~
src/packfile/object_serialization.c: In function 'Parrot_pf_verify_image_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:217:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  217 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_verify_image_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:168:5: note: in expansion of macro 'ASSERT_ARGS'
  168 |     ASSERT_ARGS(Parrot_pf_verify_image_string)
      |     ^~~~~~~~~~~
src/packfile/object_serialization.c:169:8: warning: 'nonnull' argument 'image' compared to NULL [-Wnonnull-compare]
  169 |     if (STRING_length(image) < 16)
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/object_serialization.c:24:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'image' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:218:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  218 |     , PARROT_ASSERT_ARG(image))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_verify_image_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:168:5: note: in expansion of macro 'ASSERT_ARGS'
  168 |     ASSERT_ARGS(Parrot_pf_verify_image_string)
      |     ^~~~~~~~~~~
src/packfile/object_serialization.c: In function 'Parrot_thaw':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:207:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  207 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thaw'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:210:5: note: in expansion of macro 'ASSERT_ARGS'
  210 |     ASSERT_ARGS(Parrot_thaw)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'image' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:208:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  208 |     , PARROT_ASSERT_ARG(image))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thaw'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:210:5: note: in expansion of macro 'ASSERT_ARGS'
  210 |     ASSERT_ARGS(Parrot_thaw)
      |     ^~~~~~~~~~~
src/packfile/object_serialization.c: In function 'Parrot_thaw_pbc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:213:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  213 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thaw_pbc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:262:5: note: in expansion of macro 'ASSERT_ARGS'
  262 |     ASSERT_ARGS(Parrot_thaw_pbc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:214:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  214 |     , PARROT_ASSERT_ARG(ct) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thaw_pbc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:262:5: note: in expansion of macro 'ASSERT_ARGS'
  262 |     ASSERT_ARGS(Parrot_thaw_pbc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:215:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  215 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thaw_pbc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:262:5: note: in expansion of macro 'ASSERT_ARGS'
  262 |     ASSERT_ARGS(Parrot_thaw_pbc)
      |     ^~~~~~~~~~~
src/packfile/object_serialization.c: In function 'Parrot_thaw_constants':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:210:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  210 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thaw_constants'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:288:5: note: in expansion of macro 'ASSERT_ARGS'
  288 |     ASSERT_ARGS(Parrot_thaw_constants)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'image' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:211:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  211 |     , PARROT_ASSERT_ARG(image))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thaw_constants'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:288:5: note: in expansion of macro 'ASSERT_ARGS'
  288 |     ASSERT_ARGS(Parrot_thaw_constants)
      |     ^~~~~~~~~~~
src/packfile/object_serialization.c: In function 'Parrot_clone':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:187:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  187 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_clone'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:310:5: note: in expansion of macro 'ASSERT_ARGS'
  310 |     ASSERT_ARGS(Parrot_clone)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc_freeze.h:188:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  188 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_clone'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/object_serialization.c:310:5: note: in expansion of macro 'ASSERT_ARGS'
  310 |     ASSERT_ARGS(Parrot_clone)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/pmc.o -c src/pmc.c
In file included from ./include/parrot/parrot.h:261,
                 from src/pmc.c:20:
src/pmc.c: In function 'Parrot_pmc_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:225:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  225 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:169:5: note: in expansion of macro 'ASSERT_ARGS'
  169 |     ASSERT_ARGS(Parrot_pmc_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:226:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  226 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:169:5: note: in expansion of macro 'ASSERT_ARGS'
  169 |     ASSERT_ARGS(Parrot_pmc_destroy)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'check_pmc_reuse_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/pmc.c:102:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  102 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_pmc_reuse_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:461:5: note: in expansion of macro 'ASSERT_ARGS'
  461 |     ASSERT_ARGS(check_pmc_reuse_flags)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_reuse_noinit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:118:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  118 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_reuse_noinit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:346:5: note: in expansion of macro 'ASSERT_ARGS'
  346 |     ASSERT_ARGS(Parrot_pmc_reuse_noinit)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:119:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_reuse_noinit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:346:5: note: in expansion of macro 'ASSERT_ARGS'
  346 |     ASSERT_ARGS(Parrot_pmc_reuse_noinit)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_reuse':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:263:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  263 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_reuse'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:286:5: note: in expansion of macro 'ASSERT_ARGS'
  286 |     ASSERT_ARGS(Parrot_pmc_reuse)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:264:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  264 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_reuse'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:286:5: note: in expansion of macro 'ASSERT_ARGS'
  286 |     ASSERT_ARGS(Parrot_pmc_reuse)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_reuse_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:270:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  270 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_reuse_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:320:5: note: in expansion of macro 'ASSERT_ARGS'
  320 |     ASSERT_ARGS(Parrot_pmc_reuse_init)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:271:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  271 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_reuse_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:320:5: note: in expansion of macro 'ASSERT_ARGS'
  320 |     ASSERT_ARGS(Parrot_pmc_reuse_init)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'init' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:272:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  272 |     , PARROT_ASSERT_ARG(init))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_reuse_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:320:5: note: in expansion of macro 'ASSERT_ARGS'
  320 |     ASSERT_ARGS(Parrot_pmc_reuse_init)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_reuse_by_class':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:266:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  266 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_reuse_by_class'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:399:5: note: in expansion of macro 'ASSERT_ARGS'
  399 |     ASSERT_ARGS(Parrot_pmc_reuse_by_class)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:267:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  267 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_reuse_by_class'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:399:5: note: in expansion of macro 'ASSERT_ARGS'
  399 |     ASSERT_ARGS(Parrot_pmc_reuse_by_class)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'class_' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:268:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  268 |     , PARROT_ASSERT_ARG(class_))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_reuse_by_class'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:399:5: note: in expansion of macro 'ASSERT_ARGS'
  399 |     ASSERT_ARGS(Parrot_pmc_reuse_by_class)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'get_new_pmc_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/pmc.c:111:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  111 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_new_pmc_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:508:5: note: in expansion of macro 'ASSERT_ARGS'
  508 |     ASSERT_ARGS(get_new_pmc_header)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/pmc.h:247:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  247 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:208:5: note: in expansion of macro 'ASSERT_ARGS'
  208 |     ASSERT_ARGS(Parrot_pmc_new)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_new_noinit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/pmc.h:257:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  257 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_new_noinit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:601:5: note: in expansion of macro 'ASSERT_ARGS'
  601 |     ASSERT_ARGS(Parrot_pmc_new_noinit)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_new_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:252:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  252 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_new_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:626:5: note: in expansion of macro 'ASSERT_ARGS'
  626 |     ASSERT_ARGS(Parrot_pmc_new_init)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'init' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:253:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  253 |     , PARROT_ASSERT_ARG(init))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_new_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:626:5: note: in expansion of macro 'ASSERT_ARGS'
  626 |     ASSERT_ARGS(Parrot_pmc_new_init)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_new_init_int':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/pmc.h:255:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  255 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_new_init_int'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:655:5: note: in expansion of macro 'ASSERT_ARGS'
  655 |     ASSERT_ARGS(Parrot_pmc_new_init_int)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_new_temporary':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/pmc.h:285:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  285 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_new_temporary'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:703:5: note: in expansion of macro 'ASSERT_ARGS'
  703 |     ASSERT_ARGS(Parrot_pmc_new_temporary)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_free_temporary':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:279:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  279 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_free_temporary'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:726:5: note: in expansion of macro 'ASSERT_ARGS'
  726 |     ASSERT_ARGS(Parrot_pmc_free_temporary)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:280:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  280 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_free_temporary'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:726:5: note: in expansion of macro 'ASSERT_ARGS'
  726 |     ASSERT_ARGS(Parrot_pmc_free_temporary)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_get_new_vtable_index':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/pmc.h:283:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  283 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_get_new_vtable_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:745:5: note: in expansion of macro 'ASSERT_ARGS'
  745 |     ASSERT_ARGS(Parrot_pmc_get_new_vtable_index)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_get_type_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/pmc.h:237:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  237 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_get_type_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:806:5: note: in expansion of macro 'ASSERT_ARGS'
  806 |     ASSERT_ARGS(Parrot_pmc_get_type_str)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_register_new_type':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:260:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  260 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_register_new_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:770:5: note: in expansion of macro 'ASSERT_ARGS'
  770 |     ASSERT_ARGS(Parrot_pmc_register_new_type)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:261:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  261 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_register_new_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:770:5: note: in expansion of macro 'ASSERT_ARGS'
  770 |     ASSERT_ARGS(Parrot_pmc_register_new_type)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_box_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/pmc.h:217:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  217 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_box_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:846:5: note: in expansion of macro 'ASSERT_ARGS'
  846 |     ASSERT_ARGS(Parrot_pmc_box_string)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_box_number':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/pmc.h:215:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  215 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_box_number'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:871:5: note: in expansion of macro 'ASSERT_ARGS'
  871 |     ASSERT_ARGS(Parrot_pmc_box_number)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_box_integer':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/pmc.h:213:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  213 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_box_integer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:895:5: note: in expansion of macro 'ASSERT_ARGS'
  895 |     ASSERT_ARGS(Parrot_pmc_box_integer)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_box_c_string_array':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:210:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  210 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_box_c_string_array'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:918:5: note: in expansion of macro 'ASSERT_ARGS'
  918 |     ASSERT_ARGS(Parrot_pmc_box_c_string_array)
      |     ^~~~~~~~~~~
src/pmc.c:921:8: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  921 |     if (s != NULL && count > 0) {
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/pmc.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:211:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  211 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_box_c_string_array'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:918:5: note: in expansion of macro 'ASSERT_ARGS'
  918 |     ASSERT_ARGS(Parrot_pmc_box_c_string_array)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_get_type':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:234:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  234 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_get_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:947:5: note: in expansion of macro 'ASSERT_ARGS'
  947 |     ASSERT_ARGS(Parrot_pmc_get_type)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:235:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  235 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_get_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:947:5: note: in expansion of macro 'ASSERT_ARGS'
  947 |     ASSERT_ARGS(Parrot_pmc_get_type)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_new_from_type':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:249:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  249 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_new_from_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:241:5: note: in expansion of macro 'ASSERT_ARGS'
  241 |     ASSERT_ARGS(Parrot_pmc_new_from_type)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:250:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  250 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_new_from_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:241:5: note: in expansion of macro 'ASSERT_ARGS'
  241 |     ASSERT_ARGS(Parrot_pmc_new_from_type)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'create_class_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/pmc.c:109:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  109 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_create_class_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:974:5: note: in expansion of macro 'ASSERT_ARGS'
  974 |     ASSERT_ARGS(create_class_pmc)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_create_mro':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/pmc.h:219:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  219 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_create_mro'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1013:5: note: in expansion of macro 'ASSERT_ARGS'
 1013 |     ASSERT_ARGS(Parrot_pmc_create_mro)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_gc_register':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:228:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  228 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_gc_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1085:5: note: in expansion of macro 'ASSERT_ARGS'
 1085 |     ASSERT_ARGS(Parrot_pmc_gc_register)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:229:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  229 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_gc_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1085:5: note: in expansion of macro 'ASSERT_ARGS'
 1085 |     ASSERT_ARGS(Parrot_pmc_gc_register)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_gc_unregister':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:231:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  231 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_gc_unregister'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1109:5: note: in expansion of macro 'ASSERT_ARGS'
 1109 |     ASSERT_ARGS(Parrot_pmc_gc_unregister)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:232:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  232 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_gc_unregister'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1109:5: note: in expansion of macro 'ASSERT_ARGS'
 1109 |     ASSERT_ARGS(Parrot_pmc_gc_unregister)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_type_does':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:287:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  287 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_type_does'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1131:5: note: in expansion of macro 'ASSERT_ARGS'
 1131 |     ASSERT_ARGS(Parrot_pmc_type_does)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'role' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:288:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  288 |     , PARROT_ASSERT_ARG(role))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_type_does'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1131:5: note: in expansion of macro 'ASSERT_ARGS'
 1131 |     ASSERT_ARGS(Parrot_pmc_type_does)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_delprop':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:221:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  221 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_delprop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1225:5: note: in expansion of macro 'ASSERT_ARGS'
 1225 |     ASSERT_ARGS(Parrot_pmc_delprop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:222:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  222 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_delprop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1225:5: note: in expansion of macro 'ASSERT_ARGS'
 1225 |     ASSERT_ARGS(Parrot_pmc_delprop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:223:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  223 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_delprop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1225:5: note: in expansion of macro 'ASSERT_ARGS'
 1225 |     ASSERT_ARGS(Parrot_pmc_delprop)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'check_set_std_props':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:104:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_set_std_props'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1275:5: note: in expansion of macro 'ASSERT_ARGS'
 1275 |     ASSERT_ARGS(check_set_std_props)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:105:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  105 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_set_std_props'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1275:5: note: in expansion of macro 'ASSERT_ARGS'
 1275 |     ASSERT_ARGS(check_set_std_props)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:106:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |     , PARROT_ASSERT_ARG(key) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_set_std_props'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1275:5: note: in expansion of macro 'ASSERT_ARGS'
 1275 |     ASSERT_ARGS(check_set_std_props)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:107:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_set_std_props'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1275:5: note: in expansion of macro 'ASSERT_ARGS'
 1275 |     ASSERT_ARGS(check_set_std_props)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'propagate_std_props':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:121:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  121 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_propagate_std_props'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1317:5: note: in expansion of macro 'ASSERT_ARGS'
 1317 |     ASSERT_ARGS(propagate_std_props)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:122:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  122 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_propagate_std_props'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1317:5: note: in expansion of macro 'ASSERT_ARGS'
 1317 |     ASSERT_ARGS(propagate_std_props)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'prop_hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:123:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  123 |     , PARROT_ASSERT_ARG(prop_hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_propagate_std_props'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1317:5: note: in expansion of macro 'ASSERT_ARGS'
 1317 |     ASSERT_ARGS(propagate_std_props)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'has_pending_std_props':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/pmc.c:113:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  113 |        PARROT_ASSERT_ARG(self))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_has_pending_std_props'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1340:5: note: in expansion of macro 'ASSERT_ARGS'
 1340 |     ASSERT_ARGS(has_pending_std_props)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'check_get_std_props':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:98:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   98 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_get_std_props'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1366:5: note: in expansion of macro 'ASSERT_ARGS'
 1366 |     ASSERT_ARGS(check_get_std_props)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:99:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   99 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_get_std_props'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1366:5: note: in expansion of macro 'ASSERT_ARGS'
 1366 |     ASSERT_ARGS(check_get_std_props)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:100:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  100 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_get_std_props'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1366:5: note: in expansion of macro 'ASSERT_ARGS'
 1366 |     ASSERT_ARGS(check_get_std_props)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_getprop':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:239:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  239 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_getprop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1179:5: note: in expansion of macro 'ASSERT_ARGS'
 1179 |     ASSERT_ARGS(Parrot_pmc_getprop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:240:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  240 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_getprop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1179:5: note: in expansion of macro 'ASSERT_ARGS'
 1179 |     ASSERT_ARGS(Parrot_pmc_getprop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:241:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  241 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_getprop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1179:5: note: in expansion of macro 'ASSERT_ARGS'
 1179 |     ASSERT_ARGS(Parrot_pmc_getprop)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'make_prop_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:115:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  115 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_make_prop_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1394:5: note: in expansion of macro 'ASSERT_ARGS'
 1394 |     ASSERT_ARGS(make_prop_hash)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/pmc.c:116:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  116 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_make_prop_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1394:5: note: in expansion of macro 'ASSERT_ARGS'
 1394 |     ASSERT_ARGS(make_prop_hash)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_setprop':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:274:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  274 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_setprop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1201:5: note: in expansion of macro 'ASSERT_ARGS'
 1201 |     ASSERT_ARGS(Parrot_pmc_setprop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:275:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  275 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_setprop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1201:5: note: in expansion of macro 'ASSERT_ARGS'
 1201 |     ASSERT_ARGS(Parrot_pmc_setprop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:276:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  276 |     , PARROT_ASSERT_ARG(key) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_setprop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1201:5: note: in expansion of macro 'ASSERT_ARGS'
 1201 |     ASSERT_ARGS(Parrot_pmc_setprop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:277:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  277 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_setprop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1201:5: note: in expansion of macro 'ASSERT_ARGS'
 1201 |     ASSERT_ARGS(Parrot_pmc_setprop)
      |     ^~~~~~~~~~~
src/pmc.c: In function 'Parrot_pmc_getprops':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:243:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  243 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_getprops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1245:5: note: in expansion of macro 'ASSERT_ARGS'
 1245 |     ASSERT_ARGS(Parrot_pmc_getprops)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/pmc.h:244:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  244 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pmc_getprops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/pmc.c:1245:5: note: in expansion of macro 'ASSERT_ARGS'
 1245 |     ASSERT_ARGS(Parrot_pmc_getprops)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/runcore/. -Isrc -o src/runcore/main.o -c src/runcore/main.c
In file included from ./include/parrot/parrot.h:261,
                 from src/runcore/main.c:20:
src/runcore/main.c: In function 'Parrot_runcore_register':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_api.h:115:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  115 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:99:5: note: in expansion of macro 'ASSERT_ARGS'
   99 |     ASSERT_ARGS(Parrot_runcore_register)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'coredata' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_api.h:116:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  116 |     , PARROT_ASSERT_ARG(coredata))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:99:5: note: in expansion of macro 'ASSERT_ARGS'
   99 |     ASSERT_ARGS(Parrot_runcore_register)
      |     ^~~~~~~~~~~
src/runcore/main.c: In function 'Parrot_runcore_switch':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_api.h:118:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  118 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_switch'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:125:5: note: in expansion of macro 'ASSERT_ARGS'
  125 |     ASSERT_ARGS(Parrot_runcore_switch)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_api.h:119:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_switch'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:125:5: note: in expansion of macro 'ASSERT_ARGS'
  125 |     ASSERT_ARGS(Parrot_runcore_switch)
      |     ^~~~~~~~~~~
src/runcore/main.c: In function 'Parrot_runcore_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_api.h:126:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  126 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:63:5: note: in expansion of macro 'ASSERT_ARGS'
   63 |     ASSERT_ARGS(Parrot_runcore_init)
      |     ^~~~~~~~~~~
src/runcore/main.c: In function 'get_dynamic_op_lib_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lib' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/runcore/main.c:46:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   46 |        PARROT_ASSERT_ARG(lib))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_dynamic_op_lib_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:165:5: note: in expansion of macro 'ASSERT_ARGS'
  165 |     ASSERT_ARGS(get_dynamic_op_lib_init)
      |     ^~~~~~~~~~~
src/runcore/main.c: In function 'prepare_for_run':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_api.h:128:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  128 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_prepare_for_run'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:184:5: note: in expansion of macro 'ASSERT_ARGS'
  184 |     ASSERT_ARGS(prepare_for_run)
      |     ^~~~~~~~~~~
src/runcore/main.c: In function 'runops_int':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_api.h:130:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  130 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_int'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:208:5: note: in expansion of macro 'ASSERT_ARGS'
  208 |     ASSERT_ARGS(runops_int)
      |     ^~~~~~~~~~~
src/runcore/main.c: In function 'Parrot_runcore_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_api.h:124:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  124 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:247:5: note: in expansion of macro 'ASSERT_ARGS'
  247 |     ASSERT_ARGS(Parrot_runcore_destroy)
      |     ^~~~~~~~~~~
src/runcore/main.c: In function 'parrot_hash_oplib':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_api.h:121:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  121 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_hash_oplib'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:351:5: note: in expansion of macro 'ASSERT_ARGS'
  351 |     ASSERT_ARGS(parrot_hash_oplib)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lib' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_api.h:122:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  122 |     , PARROT_ASSERT_ARG(lib))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_parrot_hash_oplib'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:351:5: note: in expansion of macro 'ASSERT_ARGS'
  351 |     ASSERT_ARGS(parrot_hash_oplib)
      |     ^~~~~~~~~~~
src/runcore/main.c: In function 'Parrot_dynop_register':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_api.h:106:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dynop_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:294:5: note: in expansion of macro 'ASSERT_ARGS'
  294 |     ASSERT_ARGS(Parrot_dynop_register)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lib_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_api.h:107:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |     , PARROT_ASSERT_ARG(lib_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_dynop_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:294:5: note: in expansion of macro 'ASSERT_ARGS'
  294 |     ASSERT_ARGS(Parrot_dynop_register)
      |     ^~~~~~~~~~~
src/runcore/main.c: In function 'dynop_register':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_api.h:103:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  103 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dynop_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:334:5: note: in expansion of macro 'ASSERT_ARGS'
  334 |     ASSERT_ARGS(dynop_register)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lib_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_api.h:104:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |     , PARROT_ASSERT_ARG(lib_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dynop_register'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:334:5: note: in expansion of macro 'ASSERT_ARGS'
  334 |     ASSERT_ARGS(dynop_register)
      |     ^~~~~~~~~~~
src/runcore/main.c: In function 'Parrot_runcore_disable_event_checking':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_api.h:110:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  110 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_disable_event_checking'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:385:5: note: in expansion of macro 'ASSERT_ARGS'
  385 |     ASSERT_ARGS(Parrot_runcore_disable_event_checking)
      |     ^~~~~~~~~~~
src/runcore/main.c: In function 'Parrot_runcore_enable_event_checking':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_api.h:113:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  113 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_enable_event_checking'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/main.c:413:5: note: in expansion of macro 'ASSERT_ARGS'
  413 |     ASSERT_ARGS(Parrot_runcore_enable_event_checking)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/runcore/. -Isrc -o src/runcore/cores.o -c src/runcore/cores.c
In file included from ./include/parrot/parrot.h:261,
                 from ./include/parrot/runcore_api.h:13,
                 from src/runcore/cores.c:240:
src/runcore/cores.c: In function 'runops_exec_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:307:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  307 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_exec_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:772:5: note: in expansion of macro 'ASSERT_ARGS'
  772 |     ASSERT_ARGS(runops_exec_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:308:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  308 |     , PARROT_ASSERT_ARG(runcore) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_exec_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:772:5: note: in expansion of macro 'ASSERT_ARGS'
  772 |     ASSERT_ARGS(runops_exec_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:309:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  309 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_exec_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:772:5: note: in expansion of macro 'ASSERT_ARGS'
  772 |     ASSERT_ARGS(runops_exec_core)
      |     ^~~~~~~~~~~
src/runcore/cores.c: In function 'runops_fast_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:311:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  311 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_fast_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:491:5: note: in expansion of macro 'ASSERT_ARGS'
  491 |     ASSERT_ARGS(runops_fast_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:312:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  312 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_fast_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:491:5: note: in expansion of macro 'ASSERT_ARGS'
  491 |     ASSERT_ARGS(runops_fast_core)
      |     ^~~~~~~~~~~
src/runcore/cores.c: In function 'runops_gc_debug_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:314:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  314 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_gc_debug_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:653:5: note: in expansion of macro 'ASSERT_ARGS'
  653 |     ASSERT_ARGS(runops_gc_debug_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:315:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  315 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_gc_debug_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:653:5: note: in expansion of macro 'ASSERT_ARGS'
  653 |     ASSERT_ARGS(runops_gc_debug_core)
      |     ^~~~~~~~~~~
src/runcore/cores.c: In function 'runops_debugger_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:304:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  304 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_debugger_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:688:5: note: in expansion of macro 'ASSERT_ARGS'
  688 |     ASSERT_ARGS(runops_debugger_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:305:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  305 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_debugger_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:688:5: note: in expansion of macro 'ASSERT_ARGS'
  688 |     ASSERT_ARGS(runops_debugger_core)
      |     ^~~~~~~~~~~
src/runcore/cores.c: In function 'Parrot_runcore_slow_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_api.h:169:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  169 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_slow_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:339:5: note: in expansion of macro 'ASSERT_ARGS'
  339 |     ASSERT_ARGS(Parrot_runcore_slow_init)
      |     ^~~~~~~~~~~
src/runcore/cores.c: In function 'Parrot_runcore_fast_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_api.h:165:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_fast_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:369:5: note: in expansion of macro 'ASSERT_ARGS'
  369 |     ASSERT_ARGS(Parrot_runcore_fast_init)
      |     ^~~~~~~~~~~
src/runcore/cores.c: In function 'Parrot_runcore_exec_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_api.h:163:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  163 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_exec_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:399:5: note: in expansion of macro 'ASSERT_ARGS'
  399 |     ASSERT_ARGS(Parrot_runcore_exec_init)
      |     ^~~~~~~~~~~
src/runcore/cores.c: In function 'Parrot_runcore_gc_debug_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_api.h:167:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  167 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_gc_debug_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:427:5: note: in expansion of macro 'ASSERT_ARGS'
  427 |     ASSERT_ARGS(Parrot_runcore_gc_debug_init)
      |     ^~~~~~~~~~~
src/runcore/cores.c: In function 'Parrot_runcore_debugger_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_api.h:161:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  161 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_debugger_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:457:5: note: in expansion of macro 'ASSERT_ARGS'
  457 |     ASSERT_ARGS(Parrot_runcore_debugger_init)
      |     ^~~~~~~~~~~
src/runcore/cores.c: In function 'runops_trace_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:320:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  320 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_trace_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:530:5: note: in expansion of macro 'ASSERT_ARGS'
  530 |     ASSERT_ARGS(runops_trace_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:321:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  321 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_trace_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:530:5: note: in expansion of macro 'ASSERT_ARGS'
  530 |     ASSERT_ARGS(runops_trace_core)
      |     ^~~~~~~~~~~
src/runcore/cores.c: In function 'runops_slow_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:317:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  317 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_slow_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:616:5: note: in expansion of macro 'ASSERT_ARGS'
  616 |     ASSERT_ARGS(runops_slow_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/cores.c:318:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  318 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_slow_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:616:5: note: in expansion of macro 'ASSERT_ARGS'
  616 |     ASSERT_ARGS(runops_slow_core)
      |     ^~~~~~~~~~~
src/runcore/cores.c: In function 'get_core_op_lib_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_api.h:159:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  159 |        PARROT_ASSERT_ARG(runcore))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_core_op_lib_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/cores.c:750:5: note: in expansion of macro 'ASSERT_ARGS'
  750 |     ASSERT_ARGS(get_core_op_lib_init)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/runcore/. -Isrc -o src/runcore/profiling.o -c src/runcore/profiling.c
In file included from ./include/parrot/parrot.h:261,
                 from ./include/parrot/runcore_api.h:13,
                 from src/runcore/profiling.c:20:
src/runcore/profiling.c: In function 'init_null_output':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:174:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  174 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_null_output'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:968:5: note: in expansion of macro 'ASSERT_ARGS'
  968 |     ASSERT_ARGS(init_null_output)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:175:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  175 |     , PARROT_ASSERT_ARG(runcore))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_null_output'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:968:5: note: in expansion of macro 'ASSERT_ARGS'
  968 |     ASSERT_ARGS(init_null_output)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'destroy_profiling_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:157:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  157 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_destroy_profiling_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:787:5: note: in expansion of macro 'ASSERT_ARGS'
  787 |     ASSERT_ARGS(destroy_profiling_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:158:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  158 |     , PARROT_ASSERT_ARG(runcore))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_destroy_profiling_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:787:5: note: in expansion of macro 'ASSERT_ARGS'
  787 |     ASSERT_ARGS(destroy_profiling_core)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'record_values_ascii_pprof':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:200:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  200 |        PARROT_ASSERT_ARG(runcore) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_values_ascii_pprof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:818:5: note: in expansion of macro 'ASSERT_ARGS'
  818 |     ASSERT_ARGS(record_values_ascii_pprof)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pprof_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:201:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  201 |     , PARROT_ASSERT_ARG(pprof_data))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_values_ascii_pprof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:818:5: note: in expansion of macro 'ASSERT_ARGS'
  818 |     ASSERT_ARGS(record_values_ascii_pprof)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'init_basic_output':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:171:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  171 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_basic_output'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:882:5: note: in expansion of macro 'ASSERT_ARGS'
  882 |     ASSERT_ARGS(init_basic_output)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:172:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  172 |     , PARROT_ASSERT_ARG(runcore))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_basic_output'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:882:5: note: in expansion of macro 'ASSERT_ARGS'
  882 |     ASSERT_ARGS(init_basic_output)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'destroy_basic_output':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/runcore/profiling.c:155:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  155 |        PARROT_ASSERT_ARG(runcore))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_destroy_basic_output'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:949:5: note: in expansion of macro 'ASSERT_ARGS'
  949 |     ASSERT_ARGS(destroy_basic_output)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'Parrot_runcore_profiling_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_profiling.h:158:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  158 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_profiling_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:230:5: note: in expansion of macro 'ASSERT_ARGS'
  230 |     ASSERT_ARGS(Parrot_runcore_profiling_init)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'get_line_num_from_cache':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:164:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  164 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_line_num_from_cache'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:489:5: note: in expansion of macro 'ASSERT_ARGS'
  489 |     ASSERT_ARGS(get_line_num_from_cache)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:165:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |     , PARROT_ASSERT_ARG(runcore) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_line_num_from_cache'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:489:5: note: in expansion of macro 'ASSERT_ARGS'
  489 |     ASSERT_ARGS(get_line_num_from_cache)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:166:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  166 |     , PARROT_ASSERT_ARG(ctx_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_line_num_from_cache'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:489:5: note: in expansion of macro 'ASSERT_ARGS'
  489 |     ASSERT_ARGS(get_line_num_from_cache)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'record_annotations':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:181:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  181 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_annotations'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:522:5: note: in expansion of macro 'ASSERT_ARGS'
  522 |     ASSERT_ARGS(record_annotations)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:182:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  182 |     , PARROT_ASSERT_ARG(runcore) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_annotations'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:522:5: note: in expansion of macro 'ASSERT_ARGS'
  522 |     ASSERT_ARGS(record_annotations)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pprof_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:183:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  183 |     , PARROT_ASSERT_ARG(pprof_data) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_annotations'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:522:5: note: in expansion of macro 'ASSERT_ARGS'
  522 |     ASSERT_ARGS(record_annotations)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:184:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  184 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_annotations'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:522:5: note: in expansion of macro 'ASSERT_ARGS'
  522 |     ASSERT_ARGS(record_annotations)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'record_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:195:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  195 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:565:5: note: in expansion of macro 'ASSERT_ARGS'
  565 |     ASSERT_ARGS(record_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:196:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  196 |     , PARROT_ASSERT_ARG(runcore) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:565:5: note: in expansion of macro 'ASSERT_ARGS'
  565 |     ASSERT_ARGS(record_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pprof_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:197:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  197 |     , PARROT_ASSERT_ARG(pprof_data) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:565:5: note: in expansion of macro 'ASSERT_ARGS'
  565 |     ASSERT_ARGS(record_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'op_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:198:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  198 |     , PARROT_ASSERT_ARG(op_name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:565:5: note: in expansion of macro 'ASSERT_ARGS'
  565 |     ASSERT_ARGS(record_op)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'store_postop_time':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:211:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  211 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_postop_time'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:596:5: note: in expansion of macro 'ASSERT_ARGS'
  596 |     ASSERT_ARGS(store_postop_time)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:212:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  212 |     , PARROT_ASSERT_ARG(runcore))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_postop_time'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:596:5: note: in expansion of macro 'ASSERT_ARGS'
  596 |     ASSERT_ARGS(store_postop_time)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'get_ns_cstr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:168:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  168 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_ns_cstr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:679:5: note: in expansion of macro 'ASSERT_ARGS'
  679 |     ASSERT_ARGS(get_ns_cstr)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:169:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  169 |     , PARROT_ASSERT_ARG(ctx_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_ns_cstr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:679:5: note: in expansion of macro 'ASSERT_ARGS'
  679 |     ASSERT_ARGS(get_ns_cstr)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'get_filename_cstr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:160:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  160 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_filename_cstr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:725:5: note: in expansion of macro 'ASSERT_ARGS'
  725 |     ASSERT_ARGS(get_filename_cstr)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:161:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  161 |     , PARROT_ASSERT_ARG(ctx_pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_filename_cstr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:725:5: note: in expansion of macro 'ASSERT_ARGS'
  725 |     ASSERT_ARGS(get_filename_cstr)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:162:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  162 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_filename_cstr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:725:5: note: in expansion of macro 'ASSERT_ARGS'
  725 |     ASSERT_ARGS(get_filename_cstr)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'record_ctx_info':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:189:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  189 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_ctx_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:441:5: note: in expansion of macro 'ASSERT_ARGS'
  441 |     ASSERT_ARGS(record_ctx_info)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:190:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  190 |     , PARROT_ASSERT_ARG(runcore) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_ctx_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:441:5: note: in expansion of macro 'ASSERT_ARGS'
  441 |     ASSERT_ARGS(record_ctx_info)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pprof_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:191:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  191 |     , PARROT_ASSERT_ARG(pprof_data) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_ctx_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:441:5: note: in expansion of macro 'ASSERT_ARGS'
  441 |     ASSERT_ARGS(record_ctx_info)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:192:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  192 |     , PARROT_ASSERT_ARG(ctx_pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_ctx_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:441:5: note: in expansion of macro 'ASSERT_ARGS'
  441 |     ASSERT_ARGS(record_ctx_info)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:193:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  193 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_ctx_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:441:5: note: in expansion of macro 'ASSERT_ARGS'
  441 |     ASSERT_ARGS(record_ctx_info)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'record_bogus_parent_runloop':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:186:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  186 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_bogus_parent_runloop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:754:5: note: in expansion of macro 'ASSERT_ARGS'
  754 |     ASSERT_ARGS(record_bogus_parent_runloop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:187:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  187 |     , PARROT_ASSERT_ARG(runcore))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_bogus_parent_runloop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:754:5: note: in expansion of macro 'ASSERT_ARGS'
  754 |     ASSERT_ARGS(record_bogus_parent_runloop)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'record_version_and_cli':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:203:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  203 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_version_and_cli'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:628:5: note: in expansion of macro 'ASSERT_ARGS'
  628 |     ASSERT_ARGS(record_version_and_cli)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:204:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  204 |     , PARROT_ASSERT_ARG(runcore) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_version_and_cli'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:628:5: note: in expansion of macro 'ASSERT_ARGS'
  628 |     ASSERT_ARGS(record_version_and_cli)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pprof_data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:205:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  205 |     , PARROT_ASSERT_ARG(pprof_data))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_record_version_and_cli'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:628:5: note: in expansion of macro 'ASSERT_ARGS'
  628 |     ASSERT_ARGS(record_version_and_cli)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'runops_profiling_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:207:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  207 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_profiling_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:358:5: note: in expansion of macro 'ASSERT_ARGS'
  358 |     ASSERT_ARGS(runops_profiling_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:208:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  208 |     , PARROT_ASSERT_ARG(runcore) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_profiling_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:358:5: note: in expansion of macro 'ASSERT_ARGS'
  358 |     ASSERT_ARGS(runops_profiling_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:209:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  209 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_profiling_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:358:5: note: in expansion of macro 'ASSERT_ARGS'
  358 |     ASSERT_ARGS(runops_profiling_core)
      |     ^~~~~~~~~~~
src/runcore/profiling.c: In function 'init_profiling_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:177:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  177 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_profiling_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:264:5: note: in expansion of macro 'ASSERT_ARGS'
  264 |     ASSERT_ARGS(init_profiling_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:178:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  178 |     , PARROT_ASSERT_ARG(runcore) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_profiling_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:264:5: note: in expansion of macro 'ASSERT_ARGS'
  264 |     ASSERT_ARGS(init_profiling_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/profiling.c:179:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  179 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_profiling_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/profiling.c:264:5: note: in expansion of macro 'ASSERT_ARGS'
  264 |     ASSERT_ARGS(init_profiling_core)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/runcore/. -Isrc -o src/runcore/subprof.o -c src/runcore/subprof.c
In file included from ./include/parrot/parrot.h:261,
                 from ./include/parrot/runcore_api.h:13,
                 from src/runcore/subprof.c:20:
src/runcore/subprof.c: In function 'sptodebug':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:228:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  228 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sptodebug'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:263:5: note: in expansion of macro 'ASSERT_ARGS'
  263 |     ASSERT_ARGS(sptodebug)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'spdata' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:229:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  229 |     , PARROT_ASSERT_ARG(spdata) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sptodebug'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:263:5: note: in expansion of macro 'ASSERT_ARGS'
  263 |     ASSERT_ARGS(sptodebug)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:230:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  230 |     , PARROT_ASSERT_ARG(sp))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sptodebug'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:263:5: note: in expansion of macro 'ASSERT_ARGS'
  263 |     ASSERT_ARGS(sptodebug)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'str2cs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/runcore/subprof.c:232:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  232 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_str2cs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:314:5: note: in expansion of macro 'ASSERT_ARGS'
  314 |     ASSERT_ARGS(str2cs)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'findlineannotations':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:184:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  184 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_findlineannotations'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:343:5: note: in expansion of macro 'ASSERT_ARGS'
  343 |     ASSERT_ARGS(findlineannotations)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:185:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  185 |     , PARROT_ASSERT_ARG(sp) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_findlineannotations'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:343:5: note: in expansion of macro 'ASSERT_ARGS'
  343 |     ASSERT_ARGS(findlineannotations)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cntp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:186:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  186 |     , PARROT_ASSERT_ARG(cntp))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_findlineannotations'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:343:5: note: in expansion of macro 'ASSERT_ARGS'
  343 |     ASSERT_ARGS(findlineannotations)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'createlines':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:177:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  177 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_createlines'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:406:5: note: in expansion of macro 'ASSERT_ARGS'
  406 |     ASSERT_ARGS(createlines)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'spdata' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:178:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  178 |     , PARROT_ASSERT_ARG(spdata) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_createlines'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:406:5: note: in expansion of macro 'ASSERT_ARGS'
  406 |     ASSERT_ARGS(createlines)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:179:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  179 |     , PARROT_ASSERT_ARG(sp))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_createlines'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:406:5: note: in expansion of macro 'ASSERT_ARGS'
  406 |     ASSERT_ARGS(createlines)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'sub2subprofile':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:234:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  234 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sub2subprofile'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:525:5: note: in expansion of macro 'ASSERT_ARGS'
  525 |     ASSERT_ARGS(sub2subprofile)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'spdata' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:235:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  235 |     , PARROT_ASSERT_ARG(spdata) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sub2subprofile'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:525:5: note: in expansion of macro 'ASSERT_ARGS'
  525 |     ASSERT_ARGS(sub2subprofile)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'subpmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:236:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  236 |     , PARROT_ASSERT_ARG(subpmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sub2subprofile'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:525:5: note: in expansion of macro 'ASSERT_ARGS'
  525 |     ASSERT_ARGS(sub2subprofile)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'popcallchain':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'spdata' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/runcore/subprof.c:208:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  208 |        PARROT_ASSERT_ARG(spdata))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_popcallchain'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:573:5: note: in expansion of macro 'ASSERT_ARGS'
  573 |     ASSERT_ARGS(popcallchain)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'finishcallchain':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'spdata' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/runcore/subprof.c:188:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  188 |        PARROT_ASSERT_ARG(spdata))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_finishcallchain'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:613:5: note: in expansion of macro 'ASSERT_ARGS'
  613 |     ASSERT_ARGS(finishcallchain)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'buildcallchain':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:174:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  174 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_buildcallchain'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:660:5: note: in expansion of macro 'ASSERT_ARGS'
  660 |     ASSERT_ARGS(buildcallchain)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'spdata' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:175:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  175 |     , PARROT_ASSERT_ARG(spdata))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_buildcallchain'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:660:5: note: in expansion of macro 'ASSERT_ARGS'
  660 |     ASSERT_ARGS(buildcallchain)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'printspname':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:210:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  210 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_printspname'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:797:5: note: in expansion of macro 'ASSERT_ARGS'
  797 |     ASSERT_ARGS(printspname)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:211:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  211 |     , PARROT_ASSERT_ARG(sp))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_printspname'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:797:5: note: in expansion of macro 'ASSERT_ARGS'
  797 |     ASSERT_ARGS(printspname)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'dump_profile_data':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:181:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  181 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dump_profile_data'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:824:5: note: in expansion of macro 'ASSERT_ARGS'
  824 |     ASSERT_ARGS(dump_profile_data)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'spdata' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:182:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  182 |     , PARROT_ASSERT_ARG(spdata))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dump_profile_data'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:824:5: note: in expansion of macro 'ASSERT_ARGS'
  824 |     ASSERT_ARGS(dump_profile_data)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'free_subprofile':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/runcore/subprof.c:193:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  193 |        PARROT_ASSERT_ARG(sp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_subprofile'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:971:5: note: in expansion of macro 'ASSERT_ARGS'
  971 |     ASSERT_ARGS(free_subprofile)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'free_profile_data':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:190:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  190 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_profile_data'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1006:5: note: in expansion of macro 'ASSERT_ARGS'
 1006 |     ASSERT_ARGS(free_profile_data)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'spdata' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:191:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  191 |     , PARROT_ASSERT_ARG(spdata))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_profile_data'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1006:5: note: in expansion of macro 'ASSERT_ARGS'
 1006 |     ASSERT_ARGS(free_profile_data)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'runops_subprof_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:213:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  213 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_subprof_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1227:5: note: in expansion of macro 'ASSERT_ARGS'
 1227 |     ASSERT_ARGS(runops_subprof_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:214:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  214 |     , PARROT_ASSERT_ARG(runcore))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_subprof_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1227:5: note: in expansion of macro 'ASSERT_ARGS'
 1227 |     ASSERT_ARGS(runops_subprof_destroy)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'sync_callchainchange':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:238:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  238 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sync_callchainchange'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1087:5: note: in expansion of macro 'ASSERT_ARGS'
 1087 |     ASSERT_ARGS(sync_callchainchange)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'spdata' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:239:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  239 |     , PARROT_ASSERT_ARG(spdata) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sync_callchainchange'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1087:5: note: in expansion of macro 'ASSERT_ARGS'
 1087 |     ASSERT_ARGS(sync_callchainchange)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:240:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  240 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sync_callchainchange'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1087:5: note: in expansion of macro 'ASSERT_ARGS'
 1087 |     ASSERT_ARGS(sync_callchainchange)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'sync_hll_linechange':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'spdata' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/runcore/subprof.c:242:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  242 |        PARROT_ASSERT_ARG(spdata))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sync_hll_linechange'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1138:5: note: in expansion of macro 'ASSERT_ARGS'
 1138 |     ASSERT_ARGS(sync_hll_linechange)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'get_subprofiledata':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:195:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  195 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_subprofiledata'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1180:5: note: in expansion of macro 'ASSERT_ARGS'
 1180 |     ASSERT_ARGS(get_subprofiledata)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:196:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  196 |     , PARROT_ASSERT_ARG(runcore))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_subprofiledata'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1180:5: note: in expansion of macro 'ASSERT_ARGS'
 1180 |     ASSERT_ARGS(get_subprofiledata)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'runops_subprof_sub_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:224:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  224 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_subprof_sub_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1254:5: note: in expansion of macro 'ASSERT_ARGS'
 1254 |     ASSERT_ARGS(runops_subprof_sub_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:225:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  225 |     , PARROT_ASSERT_ARG(runcore) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_subprof_sub_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1254:5: note: in expansion of macro 'ASSERT_ARGS'
 1254 |     ASSERT_ARGS(runops_subprof_sub_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:226:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  226 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_subprof_sub_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1254:5: note: in expansion of macro 'ASSERT_ARGS'
 1254 |     ASSERT_ARGS(runops_subprof_sub_core)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'runops_subprof_hll_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:216:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  216 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_subprof_hll_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1350:5: note: in expansion of macro 'ASSERT_ARGS'
 1350 |     ASSERT_ARGS(runops_subprof_hll_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:217:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  217 |     , PARROT_ASSERT_ARG(runcore) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_subprof_hll_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1350:5: note: in expansion of macro 'ASSERT_ARGS'
 1350 |     ASSERT_ARGS(runops_subprof_hll_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:218:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  218 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_subprof_hll_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1350:5: note: in expansion of macro 'ASSERT_ARGS'
 1350 |     ASSERT_ARGS(runops_subprof_hll_core)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'runops_subprof_ops_core':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:220:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  220 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_subprof_ops_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1488:5: note: in expansion of macro 'ASSERT_ARGS'
 1488 |     ASSERT_ARGS(runops_subprof_ops_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'runcore' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:221:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  221 |     , PARROT_ASSERT_ARG(runcore) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_subprof_ops_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1488:5: note: in expansion of macro 'ASSERT_ARGS'
 1488 |     ASSERT_ARGS(runops_subprof_ops_core)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/subprof.c:222:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  222 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_runops_subprof_ops_core'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1488:5: note: in expansion of macro 'ASSERT_ARGS'
 1488 |     ASSERT_ARGS(runops_subprof_ops_core)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'Parrot_runcore_subprof_sub_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/runcore/subprof.c:206:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  206 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_subprof_sub_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1316:5: note: in expansion of macro 'ASSERT_ARGS'
 1316 |     ASSERT_ARGS(Parrot_runcore_subprof_sub_init)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'Parrot_runcore_subprof_hll_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/runcore/subprof.c:200:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  200 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_subprof_hll_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1453:5: note: in expansion of macro 'ASSERT_ARGS'
 1453 |     ASSERT_ARGS(Parrot_runcore_subprof_hll_init)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'Parrot_runcore_subprof_ops_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/runcore/subprof.c:203:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  203 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_subprof_ops_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1551:5: note: in expansion of macro 'ASSERT_ARGS'
 1551 |     ASSERT_ARGS(Parrot_runcore_subprof_ops_init)
      |     ^~~~~~~~~~~
src/runcore/subprof.c: In function 'Parrot_runcore_subprof_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_subprof.h:125:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  125 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_runcore_subprof_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/subprof.c:1581:5: note: in expansion of macro 'ASSERT_ARGS'
 1581 |     ASSERT_ARGS(Parrot_runcore_subprof_init)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/scheduler.o -c src/scheduler.c
In file included from ./include/parrot/parrot.h:261,
                 from src/scheduler.c:18:
src/scheduler.c: In function 'Parrot_cx_init_scheduler':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/scheduler.h:163:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  163 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_init_scheduler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:67:5: note: in expansion of macro 'ASSERT_ARGS'
   67 |     ASSERT_ARGS(Parrot_cx_init_scheduler)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_set_scheduler_alarm':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/scheduler.h:180:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  180 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_set_scheduler_alarm'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:194:5: note: in expansion of macro 'ASSERT_ARGS'
  194 |     ASSERT_ARGS(Parrot_cx_set_scheduler_alarm)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_runloop_wake':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:174:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  174 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_runloop_wake'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:398:5: note: in expansion of macro 'ASSERT_ARGS'
  398 |     ASSERT_ARGS(Parrot_cx_runloop_wake)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'scheduler' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:175:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  175 |     , PARROT_ASSERT_ARG(scheduler))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_runloop_wake'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:398:5: note: in expansion of macro 'ASSERT_ARGS'
  398 |     ASSERT_ARGS(Parrot_cx_runloop_wake)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_schedule_immediate':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:136:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  136 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_schedule_immediate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:508:5: note: in expansion of macro 'ASSERT_ARGS'
  508 |     ASSERT_ARGS(Parrot_cx_schedule_immediate)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'task_or_sub' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:137:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  137 |     , PARROT_ASSERT_ARG(task_or_sub))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_schedule_immediate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:508:5: note: in expansion of macro 'ASSERT_ARGS'
  508 |     ASSERT_ARGS(Parrot_cx_schedule_immediate)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_current_task':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/scheduler.h:157:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  157 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_current_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:546:5: note: in expansion of macro 'ASSERT_ARGS'
  546 |     ASSERT_ARGS(Parrot_cx_current_task)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_stop_task':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:148:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  148 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_stop_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:341:5: note: in expansion of macro 'ASSERT_ARGS'
  341 |     ASSERT_ARGS(Parrot_cx_stop_task)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'next' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:149:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  149 |     , PARROT_ASSERT_ARG(next))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_stop_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:341:5: note: in expansion of macro 'ASSERT_ARGS'
  341 |     ASSERT_ARGS(Parrot_cx_stop_task)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_preempt_task':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:170:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  170 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_preempt_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:377:5: note: in expansion of macro 'ASSERT_ARGS'
  377 |     ASSERT_ARGS(Parrot_cx_preempt_task)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'scheduler' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:171:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  171 |     , PARROT_ASSERT_ARG(scheduler) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_preempt_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:377:5: note: in expansion of macro 'ASSERT_ARGS'
  377 |     ASSERT_ARGS(Parrot_cx_preempt_task)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'next' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:172:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  172 |     , PARROT_ASSERT_ARG(next))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_preempt_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:377:5: note: in expansion of macro 'ASSERT_ARGS'
  377 |     ASSERT_ARGS(Parrot_cx_preempt_task)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_send_message':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:144:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  144 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_send_message'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:574:5: note: in expansion of macro 'ASSERT_ARGS'
  574 |     ASSERT_ARGS(Parrot_cx_send_message)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'messagetype' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:145:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |     , PARROT_ASSERT_ARG(messagetype) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_send_message'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:574:5: note: in expansion of macro 'ASSERT_ARGS'
  574 |     ASSERT_ARGS(Parrot_cx_send_message)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'payload_unused' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:146:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  146 |     , PARROT_ASSERT_ARG(payload_unused))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_send_message'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:574:5: note: in expansion of macro 'ASSERT_ARGS'
  574 |     ASSERT_ARGS(Parrot_cx_send_message)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_schedule_alarm':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:177:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  177 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_schedule_alarm'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:599:5: note: in expansion of macro 'ASSERT_ARGS'
  599 |     ASSERT_ARGS(Parrot_cx_schedule_alarm)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'alarm' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:178:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  178 |     , PARROT_ASSERT_ARG(alarm))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_schedule_alarm'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:599:5: note: in expansion of macro 'ASSERT_ARGS'
  599 |     ASSERT_ARGS(Parrot_cx_schedule_alarm)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_check_alarms':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:129:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  129 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_check_alarms'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:623:5: note: in expansion of macro 'ASSERT_ARGS'
  623 |     ASSERT_ARGS(Parrot_cx_check_alarms)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'scheduler' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:130:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  130 |     , PARROT_ASSERT_ARG(scheduler))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_check_alarms'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:623:5: note: in expansion of macro 'ASSERT_ARGS'
  623 |     ASSERT_ARGS(Parrot_cx_check_alarms)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_schedule_sleep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/scheduler.h:139:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  139 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_schedule_sleep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:677:5: note: in expansion of macro 'ASSERT_ARGS'
  677 |     ASSERT_ARGS(Parrot_cx_schedule_sleep)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_enable_preemption':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/scheduler.h:161:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  161 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_enable_preemption'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:714:5: note: in expansion of macro 'ASSERT_ARGS'
  714 |     ASSERT_ARGS(Parrot_cx_enable_preemption)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_schedule_task':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:141:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  141 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_schedule_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:421:5: note: in expansion of macro 'ASSERT_ARGS'
  421 |     ASSERT_ARGS(Parrot_cx_schedule_task)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'task_or_sub' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:142:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  142 |     , PARROT_ASSERT_ARG(task_or_sub))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_schedule_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:421:5: note: in expansion of macro 'ASSERT_ARGS'
  421 |     ASSERT_ARGS(Parrot_cx_schedule_task)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_disable_preemption':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/scheduler.h:159:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  159 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_disable_preemption'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:734:5: note: in expansion of macro 'ASSERT_ARGS'
  734 |     ASSERT_ARGS(Parrot_cx_disable_preemption)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_next_task':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:165:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_next_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:215:5: note: in expansion of macro 'ASSERT_ARGS'
  215 |     ASSERT_ARGS(Parrot_cx_next_task)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'scheduler' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:166:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  166 |     , PARROT_ASSERT_ARG(scheduler))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_next_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:215:5: note: in expansion of macro 'ASSERT_ARGS'
  215 |     ASSERT_ARGS(Parrot_cx_next_task)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_outer_runloop':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/scheduler.h:168:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  168 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_outer_runloop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:132:5: note: in expansion of macro 'ASSERT_ARGS'
  132 |     ASSERT_ARGS(Parrot_cx_outer_runloop)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_begin_execution':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:125:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  125 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_begin_execution'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:95:5: note: in expansion of macro 'ASSERT_ARGS'
   95 |     ASSERT_ARGS(Parrot_cx_begin_execution)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'main' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:126:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  126 |     , PARROT_ASSERT_ARG(main) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_begin_execution'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:95:5: note: in expansion of macro 'ASSERT_ARGS'
   95 |     ASSERT_ARGS(Parrot_cx_begin_execution)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'argv' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:127:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  127 |     , PARROT_ASSERT_ARG(argv))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_begin_execution'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:95:5: note: in expansion of macro 'ASSERT_ARGS'
   95 |     ASSERT_ARGS(Parrot_cx_begin_execution)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_preemption_enabled':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/scheduler.c:44:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   44 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_preemption_enabled'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:753:5: note: in expansion of macro 'ASSERT_ARGS'
  753 |     ASSERT_ARGS(Parrot_cx_preemption_enabled)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_check_quantum':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:151:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  151 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_check_quantum'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:315:5: note: in expansion of macro 'ASSERT_ARGS'
  315 |     ASSERT_ARGS(Parrot_cx_check_quantum)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'scheduler' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:152:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |     , PARROT_ASSERT_ARG(scheduler))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_check_quantum'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:315:5: note: in expansion of macro 'ASSERT_ARGS'
  315 |     ASSERT_ARGS(Parrot_cx_check_quantum)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_run_scheduler':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:132:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  132 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_run_scheduler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:279:5: note: in expansion of macro 'ASSERT_ARGS'
  279 |     ASSERT_ARGS(Parrot_cx_run_scheduler)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'scheduler' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:133:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  133 |     , PARROT_ASSERT_ARG(scheduler) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_run_scheduler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:279:5: note: in expansion of macro 'ASSERT_ARGS'
  279 |     ASSERT_ARGS(Parrot_cx_run_scheduler)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'next' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:134:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  134 |     , PARROT_ASSERT_ARG(next))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_run_scheduler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:279:5: note: in expansion of macro 'ASSERT_ARGS'
  279 |     ASSERT_ARGS(Parrot_cx_run_scheduler)
      |     ^~~~~~~~~~~
src/scheduler.c: In function 'Parrot_cx_check_scheduler':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:154:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  154 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_check_scheduler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:248:5: note: in expansion of macro 'ASSERT_ARGS'
  248 |     ASSERT_ARGS(Parrot_cx_check_scheduler)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'next' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/scheduler.h:155:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  155 |     , PARROT_ASSERT_ARG(next))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_check_scheduler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/scheduler.c:248:5: note: in expansion of macro 'ASSERT_ARGS'
  248 |     ASSERT_ARGS(Parrot_cx_check_scheduler)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/thread.o -c src/thread.c
In file included from ./include/parrot/parrot.h:261,
                 from src/thread.c:20:
src/thread.c: In function 'Parrot_thread_create':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/thread.h:204:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  204 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_create'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:75:5: note: in expansion of macro 'ASSERT_ARGS'
   75 |     ASSERT_ARGS(Parrot_thread_create)
      |     ^~~~~~~~~~~
src/thread.c: In function 'Parrot_thread_create_local_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:207:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  207 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_create_local_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:177:5: note: in expansion of macro 'ASSERT_ARGS'
  177 |     ASSERT_ARGS(Parrot_thread_create_local_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'thread' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:208:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  208 |     , PARROT_ASSERT_ARG(thread) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_create_local_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:177:5: note: in expansion of macro 'ASSERT_ARGS'
  177 |     ASSERT_ARGS(Parrot_thread_create_local_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:209:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  209 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_create_local_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:177:5: note: in expansion of macro 'ASSERT_ARGS'
  177 |     ASSERT_ARGS(Parrot_thread_create_local_sub)
      |     ^~~~~~~~~~~
src/thread.c: In function 'Parrot_thread_create_proxy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:216:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  216 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_create_proxy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:148:5: note: in expansion of macro 'ASSERT_ARGS'
  148 |     ASSERT_ARGS(Parrot_thread_create_proxy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'thread' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:217:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  217 |     , PARROT_ASSERT_ARG(thread) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_create_proxy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:148:5: note: in expansion of macro 'ASSERT_ARGS'
  148 |     ASSERT_ARGS(Parrot_thread_create_proxy)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/thread.c:20:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/thread.c:149:9: note: in expansion of macro 'PMC_IS_NULL'
  149 |     if (PMC_IS_NULL(pmc))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/thread.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:218:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  218 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_create_proxy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:148:5: note: in expansion of macro 'ASSERT_ARGS'
  148 |     ASSERT_ARGS(Parrot_thread_create_proxy)
      |     ^~~~~~~~~~~
src/thread.c: In function 'Parrot_thread_create_local_task':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:212:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  212 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_create_local_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:221:5: note: in expansion of macro 'ASSERT_ARGS'
  221 |     ASSERT_ARGS(Parrot_thread_create_local_task)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'thread_interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:213:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  213 |     , PARROT_ASSERT_ARG(thread_interp) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_create_local_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:221:5: note: in expansion of macro 'ASSERT_ARGS'
  221 |     ASSERT_ARGS(Parrot_thread_create_local_task)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'task' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:214:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  214 |     , PARROT_ASSERT_ARG(task))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_create_local_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:221:5: note: in expansion of macro 'ASSERT_ARGS'
  221 |     ASSERT_ARGS(Parrot_thread_create_local_task)
      |     ^~~~~~~~~~~
src/thread.c: In function 'Parrot_thread_wait_for_notification':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/thread.h:248:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  248 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_wait_for_notification'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:361:5: note: in expansion of macro 'ASSERT_ARGS'
  361 |     ASSERT_ARGS(Parrot_thread_wait_for_notification)
      |     ^~~~~~~~~~~
src/thread.c: In function 'Parrot_thread_notify_thread':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/thread.h:233:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  233 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_notify_thread'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:387:5: note: in expansion of macro 'ASSERT_ARGS'
  387 |     ASSERT_ARGS(Parrot_thread_notify_thread)
      |     ^~~~~~~~~~~
src/thread.c: In function 'Parrot_thread_schedule_task':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:239:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  239 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_schedule_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:274:5: note: in expansion of macro 'ASSERT_ARGS'
  274 |     ASSERT_ARGS(Parrot_thread_schedule_task)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'thread_interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:240:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  240 |     , PARROT_ASSERT_ARG(thread_interp) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_schedule_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:274:5: note: in expansion of macro 'ASSERT_ARGS'
  274 |     ASSERT_ARGS(Parrot_thread_schedule_task)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'task' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:241:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  241 |     , PARROT_ASSERT_ARG(task))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_schedule_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:274:5: note: in expansion of macro 'ASSERT_ARGS'
  274 |     ASSERT_ARGS(Parrot_thread_schedule_task)
      |     ^~~~~~~~~~~
src/thread.c: In function 'Parrot_thread_make_local_copy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:229:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  229 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_make_local_copy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:490:5: note: in expansion of macro 'ASSERT_ARGS'
  490 |     ASSERT_ARGS(Parrot_thread_make_local_copy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'from' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:230:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  230 |     , PARROT_ASSERT_ARG(from) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_make_local_copy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:490:5: note: in expansion of macro 'ASSERT_ARGS'
  490 |     ASSERT_ARGS(Parrot_thread_make_local_copy)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/thread.c:20:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'arg' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/thread.c:495:9: note: in expansion of macro 'PMC_IS_NULL'
  495 |     if (PMC_IS_NULL(arg))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/thread.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:231:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  231 |     , PARROT_ASSERT_ARG(arg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_make_local_copy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:490:5: note: in expansion of macro 'ASSERT_ARGS'
  490 |     ASSERT_ARGS(Parrot_thread_make_local_copy)
      |     ^~~~~~~~~~~
src/thread.c: In function 'Parrot_thread_transfer_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'destination' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:243:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  243 |        PARROT_ASSERT_ARG(destination) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_transfer_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:464:5: note: in expansion of macro 'ASSERT_ARGS'
  464 |     ASSERT_ARGS(Parrot_thread_transfer_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'source' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:244:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  244 |     , PARROT_ASSERT_ARG(source) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_transfer_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:464:5: note: in expansion of macro 'ASSERT_ARGS'
  464 |     ASSERT_ARGS(Parrot_thread_transfer_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:245:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  245 |     , PARROT_ASSERT_ARG(sub))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_transfer_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:464:5: note: in expansion of macro 'ASSERT_ARGS'
  464 |     ASSERT_ARGS(Parrot_thread_transfer_sub)
      |     ^~~~~~~~~~~
src/thread.c: In function 'Parrot_thread_make_local_args_copy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/thread.c:49:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   49 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_make_local_args_copy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:546:5: note: in expansion of macro 'ASSERT_ARGS'
  546 |     ASSERT_ARGS(Parrot_thread_make_local_args_copy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'source' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/thread.c:50:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   50 |     , PARROT_ASSERT_ARG(source))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_make_local_args_copy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:546:5: note: in expansion of macro 'ASSERT_ARGS'
  546 |     ASSERT_ARGS(Parrot_thread_make_local_args_copy)
      |     ^~~~~~~~~~~
src/thread.c: In function 'Parrot_thread_run':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:236:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  236 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_run'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:118:5: note: in expansion of macro 'ASSERT_ARGS'
  118 |     ASSERT_ARGS(Parrot_thread_run)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'thread_interp_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/thread.h:237:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  237 |     , PARROT_ASSERT_ARG(thread_interp_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_run'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:118:5: note: in expansion of macro 'ASSERT_ARGS'
  118 |     ASSERT_ARGS(Parrot_thread_run)
      |     ^~~~~~~~~~~
src/thread.c: In function 'Parrot_thread_init_threads_array':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/thread.h:225:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  225 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_init_threads_array'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:600:5: note: in expansion of macro 'ASSERT_ARGS'
  600 |     ASSERT_ARGS(Parrot_thread_init_threads_array)
      |     ^~~~~~~~~~~
src/thread.c: In function 'Parrot_thread_insert_thread':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'thread' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/thread.h:227:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  227 |        PARROT_ASSERT_ARG(thread))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_thread_insert_thread'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/thread.c:658:5: note: in expansion of macro 'ASSERT_ARGS'
  658 |     ASSERT_ARGS(Parrot_thread_insert_thread)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/events.o -c src/events.c
In file included from ./include/parrot/parrot.h:261,
                 from src/events.c:19:
src/events.c: In function 'Parrot_cx_add_handler_local':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:62:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   62 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_add_handler_local'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:45:5: note: in expansion of macro 'ASSERT_ARGS'
   45 |     ASSERT_ARGS(Parrot_cx_add_handler_local)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handler' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:63:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   63 |     , PARROT_ASSERT_ARG(handler))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_add_handler_local'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:45:5: note: in expansion of macro 'ASSERT_ARGS'
   45 |     ASSERT_ARGS(Parrot_cx_add_handler_local)
      |     ^~~~~~~~~~~
src/events.c: In function 'Parrot_cx_delete_handler_local':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/events.h:73:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   73 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_delete_handler_local'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:67:5: note: in expansion of macro 'ASSERT_ARGS'
   67 |     ASSERT_ARGS(Parrot_cx_delete_handler_local)
      |     ^~~~~~~~~~~
src/events.c: In function 'Parrot_cx_delete_upto_handler_local':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:80:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   80 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_delete_upto_handler_local'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:99:5: note: in expansion of macro 'ASSERT_ARGS'
   99 |     ASSERT_ARGS(Parrot_cx_delete_upto_handler_local)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handler' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:81:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   81 |     , PARROT_ASSERT_ARG(handler))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_delete_upto_handler_local'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:99:5: note: in expansion of macro 'ASSERT_ARGS'
   99 |     ASSERT_ARGS(Parrot_cx_delete_upto_handler_local)
      |     ^~~~~~~~~~~
src/events.c: In function 'Parrot_cx_count_handlers_local':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/events.h:66:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   66 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_count_handlers_local'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:128:5: note: in expansion of macro 'ASSERT_ARGS'
  128 |     ASSERT_ARGS(Parrot_cx_count_handlers_local)
      |     ^~~~~~~~~~~
src/events.c: In function 'Parrot_cx_add_handler':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:59:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   59 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_add_handler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:152:5: note: in expansion of macro 'ASSERT_ARGS'
  152 |     ASSERT_ARGS(Parrot_cx_add_handler)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handler' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:60:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   60 |     , PARROT_ASSERT_ARG(handler))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_add_handler'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:152:5: note: in expansion of macro 'ASSERT_ARGS'
  152 |     ASSERT_ARGS(Parrot_cx_add_handler)
      |     ^~~~~~~~~~~
src/events.c: In function 'Parrot_cx_delete_handler_typed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:76:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   76 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_delete_handler_typed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:177:5: note: in expansion of macro 'ASSERT_ARGS'
  177 |     ASSERT_ARGS(Parrot_cx_delete_handler_typed)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handler_type' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:77:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   77 |     , PARROT_ASSERT_ARG(handler_type))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_delete_handler_typed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:177:5: note: in expansion of macro 'ASSERT_ARGS'
  177 |     ASSERT_ARGS(Parrot_cx_delete_handler_typed)
      |     ^~~~~~~~~~~
src/events.c: In function 'Parrot_cx_count_handlers_typed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:69:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   69 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_count_handlers_typed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:201:5: note: in expansion of macro 'ASSERT_ARGS'
  201 |     ASSERT_ARGS(Parrot_cx_count_handlers_typed)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handler_type' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:70:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   70 |     , PARROT_ASSERT_ARG(handler_type))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_count_handlers_typed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:201:5: note: in expansion of macro 'ASSERT_ARGS'
  201 |     ASSERT_ARGS(Parrot_cx_count_handlers_typed)
      |     ^~~~~~~~~~~
src/events.c: In function 'Parrot_cx_find_handler_for_task':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:84:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_find_handler_for_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:238:5: note: in expansion of macro 'ASSERT_ARGS'
  238 |     ASSERT_ARGS(Parrot_cx_find_handler_for_task)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'task' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:85:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   85 |     , PARROT_ASSERT_ARG(task))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_find_handler_for_task'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:238:5: note: in expansion of macro 'ASSERT_ARGS'
  238 |     ASSERT_ARGS(Parrot_cx_find_handler_for_task)
      |     ^~~~~~~~~~~
src/events.c: In function 'Parrot_cx_find_handler_local':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:87:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   87 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_find_handler_local'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:274:5: note: in expansion of macro 'ASSERT_ARGS'
  274 |     ASSERT_ARGS(Parrot_cx_find_handler_local)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'task' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/events.h:88:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   88 |     , PARROT_ASSERT_ARG(task))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_cx_find_handler_local'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/events.c:274:5: note: in expansion of macro 'ASSERT_ARGS'
  274 |     ASSERT_ARGS(Parrot_cx_find_handler_local)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Wno-format-nonliteral \
  -Isrc/string/. -o src/string/spf_render.o -c src/string/spf_render.c
src/string/spf_render.c: In function 'Parrot_sprintf_format':
src/string/spf_render.c:895:24: warning: this statement may fall through [-Wimplicit-fallthrough=]
  895 |                     if (obj->getstring == pmc_core.getstring) {
      |                        ^
src/string/spf_render.c:908:19: note: here
  908 |                   case 's':
      |                   ^~~~
src/string/spf_render.c:583:32: warning: this statement may fall through [-Wimplicit-fallthrough=]
  583 |                     info.phase = PHASE_WIDTH;
      |                     ~~~~~~~~~~~^~~~~~~~~~~~~
src/string/spf_render.c:587:32: note: here
  587 |             /*@fallthrough@ */ case PHASE_WIDTH:
      |                                ^~~~
src/string/spf_render.c:621:32: warning: this statement may fall through [-Wimplicit-fallthrough=]
  621 |                     info.phase = PHASE_PREC;
      |                     ~~~~~~~~~~~^~~~~~~~~~~~
src/string/spf_render.c:625:32: note: here
  625 |             /*@fallthrough@ */ case PHASE_PREC:
      |                                ^~~~
src/string/spf_render.c:650:32: warning: this statement may fall through [-Wimplicit-fallthrough=]
  650 |                     info.phase = PHASE_TYPE;
      |                     ~~~~~~~~~~~^~~~~~~~~~~~
src/string/spf_render.c:653:32: note: here
  653 |             /*@fallthrough@ */ case PHASE_TYPE:
      |                                ^~~~
src/string/spf_render.c:685:32: warning: this statement may fall through [-Wimplicit-fallthrough=]
  685 |                     info.phase = PHASE_TERM;
      |                     ~~~~~~~~~~~^~~~~~~~~~~~
src/string/spf_render.c:689:32: note: here
  689 |             /*@fallthrough@ */ case PHASE_TERM:
      |                                ^~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/spf_render.c:22:
src/string/spf_render.c: In function 'handle_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_render.c:112:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  112 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_handle_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:148:5: note: in expansion of macro 'ASSERT_ARGS'
  148 |     ASSERT_ARGS(handle_flags)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_render.c:113:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  113 |     , PARROT_ASSERT_ARG(info) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_handle_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:148:5: note: in expansion of macro 'ASSERT_ARGS'
  148 |     ASSERT_ARGS(handle_flags)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_render.c:114:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  114 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_handle_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:148:5: note: in expansion of macro 'ASSERT_ARGS'
  148 |     ASSERT_ARGS(handle_flags)
      |     ^~~~~~~~~~~
src/string/spf_render.c: In function 'str_concat_w_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_render.c:116:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  116 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_str_concat_w_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:237:5: note: in expansion of macro 'ASSERT_ARGS'
  237 |     ASSERT_ARGS(str_concat_w_flags)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_render.c:117:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  117 |     , PARROT_ASSERT_ARG(sb) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_str_concat_w_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:237:5: note: in expansion of macro 'ASSERT_ARGS'
  237 |     ASSERT_ARGS(str_concat_w_flags)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_render.c:118:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  118 |     , PARROT_ASSERT_ARG(info) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_str_concat_w_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:237:5: note: in expansion of macro 'ASSERT_ARGS'
  237 |     ASSERT_ARGS(str_concat_w_flags)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_render.c:119:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_str_concat_w_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:237:5: note: in expansion of macro 'ASSERT_ARGS'
  237 |     ASSERT_ARGS(str_concat_w_flags)
      |     ^~~~~~~~~~~
src/string/spf_render.c: In function 'gen_sprintf_call':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'out' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_render.c:109:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  109 |        PARROT_ASSERT_ARG(out) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gen_sprintf_call'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:257:5: note: in expansion of macro 'ASSERT_ARGS'
  257 |     ASSERT_ARGS(gen_sprintf_call)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_render.c:110:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  110 |     , PARROT_ASSERT_ARG(info))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_gen_sprintf_call'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:257:5: note: in expansion of macro 'ASSERT_ARGS'
  257 |     ASSERT_ARGS(gen_sprintf_call)
      |     ^~~~~~~~~~~
src/string/spf_render.c: In function 'canonicalize_exponent':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'tc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_render.c:106:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |        PARROT_ASSERT_ARG(tc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_canonicalize_exponent'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:324:5: note: in expansion of macro 'ASSERT_ARGS'
  324 |     ASSERT_ARGS(canonicalize_exponent)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_render.c:107:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |     , PARROT_ASSERT_ARG(info))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_canonicalize_exponent'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:324:5: note: in expansion of macro 'ASSERT_ARGS'
  324 |     ASSERT_ARGS(canonicalize_exponent)
      |     ^~~~~~~~~~~
src/string/spf_render.c: In function 'Parrot_sprintf_format':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_private.h:89:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   89 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sprintf_format'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:419:5: note: in expansion of macro 'ASSERT_ARGS'
  419 |     ASSERT_ARGS(Parrot_sprintf_format)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pat' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_private.h:90:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   90 |     , PARROT_ASSERT_ARG(pat) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sprintf_format'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:419:5: note: in expansion of macro 'ASSERT_ARGS'
  419 |     ASSERT_ARGS(Parrot_sprintf_format)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_private.h:91:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   91 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sprintf_format'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_render.c:419:5: note: in expansion of macro 'ASSERT_ARGS'
  419 |     ASSERT_ARGS(Parrot_sprintf_format)
      |     ^~~~~~~~~~~
src/string/spf_render.c:417:1: warning: stack usage is 4592 bytes [-Wstack-usage=]
  417 | Parrot_sprintf_format(PARROT_INTERP, ARGIN(const STRING *pat), ARGMOD(SPRINTF_OBJ *obj))
      | ^~~~~~~~~~~~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/. -Isrc -o src/string/spf_vtable.o -c src/string/spf_vtable.c
In file included from ./include/parrot/parrot.h:261,
                 from src/string/spf_vtable.c:21:
src/string/spf_vtable.c: In function 'getptr_va':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/spf_vtable.c:142:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  142 |        PARROT_ASSERT_ARG(obj))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getptr_va'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:409:5: note: in expansion of macro 'ASSERT_ARGS'
  409 |     ASSERT_ARGS(getptr_va)
      |     ^~~~~~~~~~~
src/string/spf_vtable.c: In function 'getchr_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:121:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  121 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getchr_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:443:5: note: in expansion of macro 'ASSERT_ARGS'
  443 |     ASSERT_ARGS(getchr_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:122:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  122 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getchr_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:443:5: note: in expansion of macro 'ASSERT_ARGS'
  443 |     ASSERT_ARGS(getchr_pmc)
      |     ^~~~~~~~~~~
src/string/spf_vtable.c: In function 'getint_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:133:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  133 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getint_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:470:5: note: in expansion of macro 'ASSERT_ARGS'
  470 |     ASSERT_ARGS(getint_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:134:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  134 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getint_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:470:5: note: in expansion of macro 'ASSERT_ARGS'
  470 |     ASSERT_ARGS(getint_pmc)
      |     ^~~~~~~~~~~
src/string/spf_vtable.c: In function 'getuint_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:150:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  150 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getuint_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:509:5: note: in expansion of macro 'ASSERT_ARGS'
  509 |     ASSERT_ARGS(getuint_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:151:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  151 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getuint_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:509:5: note: in expansion of macro 'ASSERT_ARGS'
  509 |     ASSERT_ARGS(getuint_pmc)
      |     ^~~~~~~~~~~
src/string/spf_vtable.c: In function 'getfloat_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:127:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  127 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getfloat_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:548:5: note: in expansion of macro 'ASSERT_ARGS'
  548 |     ASSERT_ARGS(getfloat_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:128:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  128 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getfloat_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:548:5: note: in expansion of macro 'ASSERT_ARGS'
  548 |     ASSERT_ARGS(getfloat_pmc)
      |     ^~~~~~~~~~~
src/string/spf_vtable.c: In function 'getstring_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:144:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  144 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getstring_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:584:5: note: in expansion of macro 'ASSERT_ARGS'
  584 |     ASSERT_ARGS(getstring_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:145:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getstring_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:584:5: note: in expansion of macro 'ASSERT_ARGS'
  584 |     ASSERT_ARGS(getstring_pmc)
      |     ^~~~~~~~~~~
src/string/spf_vtable.c: In function 'getptr_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:139:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  139 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getptr_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:616:5: note: in expansion of macro 'ASSERT_ARGS'
  616 |     ASSERT_ARGS(getptr_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:140:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  140 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getptr_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:616:5: note: in expansion of macro 'ASSERT_ARGS'
  616 |     ASSERT_ARGS(getptr_pmc)
      |     ^~~~~~~~~~~
src/string/spf_vtable.c: In function 'getchr_va':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:124:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  124 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getchr_va'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:176:5: note: in expansion of macro 'ASSERT_ARGS'
  176 |     ASSERT_ARGS(getchr_va)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:125:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  125 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getchr_va'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:176:5: note: in expansion of macro 'ASSERT_ARGS'
  176 |     ASSERT_ARGS(getchr_va)
      |     ^~~~~~~~~~~
src/string/spf_vtable.c: In function 'getint_va':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:136:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  136 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getint_va'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:204:5: note: in expansion of macro 'ASSERT_ARGS'
  204 |     ASSERT_ARGS(getint_va)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:137:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  137 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getint_va'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:204:5: note: in expansion of macro 'ASSERT_ARGS'
  204 |     ASSERT_ARGS(getint_va)
      |     ^~~~~~~~~~~
src/string/spf_vtable.c: In function 'getuint_va':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:153:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  153 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getuint_va'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:257:5: note: in expansion of macro 'ASSERT_ARGS'
  257 |     ASSERT_ARGS(getuint_va)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:154:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  154 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getuint_va'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:257:5: note: in expansion of macro 'ASSERT_ARGS'
  257 |     ASSERT_ARGS(getuint_va)
      |     ^~~~~~~~~~~
src/string/spf_vtable.c: In function 'getfloat_va':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:130:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  130 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getfloat_va'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:310:5: note: in expansion of macro 'ASSERT_ARGS'
  310 |     ASSERT_ARGS(getfloat_va)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:131:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  131 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getfloat_va'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:310:5: note: in expansion of macro 'ASSERT_ARGS'
  310 |     ASSERT_ARGS(getfloat_va)
      |     ^~~~~~~~~~~
src/string/spf_vtable.c: In function 'getstring_va':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:147:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  147 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getstring_va'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:360:5: note: in expansion of macro 'ASSERT_ARGS'
  360 |     ASSERT_ARGS(getstring_va)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/spf_vtable.c:148:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  148 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_getstring_va'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/spf_vtable.c:360:5: note: in expansion of macro 'ASSERT_ARGS'
  360 |     ASSERT_ARGS(getstring_va)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/. -Isrc -o src/string/namealias.o -c src/string/namealias.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/sub.o -c src/sub.c
In file included from ./include/parrot/parrot.h:261,
                 from src/sub.c:20:
src/sub.c: In function 'Parrot_sub_find_pad':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:269:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  269 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_find_pad'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:322:5: note: in expansion of macro 'ASSERT_ARGS'
  322 |     ASSERT_ARGS(Parrot_sub_find_pad)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lex_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:270:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  270 |     , PARROT_ASSERT_ARG(lex_name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_find_pad'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:322:5: note: in expansion of macro 'ASSERT_ARGS'
  322 |     ASSERT_ARGS(Parrot_sub_find_pad)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:271:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  271 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_find_pad'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:322:5: note: in expansion of macro 'ASSERT_ARGS'
  322 |     ASSERT_ARGS(Parrot_sub_find_pad)
      |     ^~~~~~~~~~~
src/sub.c: In function 'Parrot_sub_find_dynamic_pad':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:265:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  265 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_find_dynamic_pad'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:358:5: note: in expansion of macro 'ASSERT_ARGS'
  358 |     ASSERT_ARGS(Parrot_sub_find_dynamic_pad)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lex_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:266:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  266 |     , PARROT_ASSERT_ARG(lex_name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_find_dynamic_pad'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:358:5: note: in expansion of macro 'ASSERT_ARGS'
  358 |     ASSERT_ARGS(Parrot_sub_find_dynamic_pad)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:267:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  267 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_find_dynamic_pad'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:358:5: note: in expansion of macro 'ASSERT_ARGS'
  358 |     ASSERT_ARGS(Parrot_sub_find_dynamic_pad)
      |     ^~~~~~~~~~~
src/sub.c: In function 'Parrot_sub_continuation_check':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:258:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  258 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_continuation_check'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:472:5: note: in expansion of macro 'ASSERT_ARGS'
  472 |     ASSERT_ARGS(Parrot_sub_continuation_check)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:259:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  259 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_continuation_check'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:472:5: note: in expansion of macro 'ASSERT_ARGS'
  472 |     ASSERT_ARGS(Parrot_sub_continuation_check)
      |     ^~~~~~~~~~~
src/sub.c: In function 'Parrot_get_sub_pmc_from_subclass':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:240:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  240 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_get_sub_pmc_from_subclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:551:5: note: in expansion of macro 'ASSERT_ARGS'
  551 |     ASSERT_ARGS(Parrot_get_sub_pmc_from_subclass)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'subclass' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:241:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  241 |     , PARROT_ASSERT_ARG(subclass))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_get_sub_pmc_from_subclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:551:5: note: in expansion of macro 'ASSERT_ARGS'
  551 |     ASSERT_ARGS(Parrot_get_sub_pmc_from_subclass)
      |     ^~~~~~~~~~~
src/sub.c: In function 'Parrot_sub_full_sub_name':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/sub.h:253:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  253 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_full_sub_name'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:47:5: note: in expansion of macro 'ASSERT_ARGS'
   47 |     ASSERT_ARGS(Parrot_sub_full_sub_name)
      |     ^~~~~~~~~~~
src/sub.c: In function 'Parrot_sub_continuation_rewind_environment':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:262:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  262 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_continuation_rewind_environment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:493:5: note: in expansion of macro 'ASSERT_ARGS'
  493 |     ASSERT_ARGS(Parrot_sub_continuation_rewind_environment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:263:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  263 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_continuation_rewind_environment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:493:5: note: in expansion of macro 'ASSERT_ARGS'
  493 |     ASSERT_ARGS(Parrot_sub_continuation_rewind_environment)
      |     ^~~~~~~~~~~
src/sub.c: In function 'Parrot_sub_context_get_info':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:246:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  246 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_context_get_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:105:5: note: in expansion of macro 'ASSERT_ARGS'
  105 |     ASSERT_ARGS(Parrot_sub_context_get_info)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:247:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  247 |     , PARROT_ASSERT_ARG(ctx) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_context_get_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:105:5: note: in expansion of macro 'ASSERT_ARGS'
  105 |     ASSERT_ARGS(Parrot_sub_context_get_info)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:248:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  248 |     , PARROT_ASSERT_ARG(info))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_context_get_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:105:5: note: in expansion of macro 'ASSERT_ARGS'
  105 |     ASSERT_ARGS(Parrot_sub_context_get_info)
      |     ^~~~~~~~~~~
src/sub.c: In function 'Parrot_sub_Context_infostr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:250:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  250 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_Context_infostr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:290:5: note: in expansion of macro 'ASSERT_ARGS'
  290 |     ASSERT_ARGS(Parrot_sub_Context_infostr)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ctx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:251:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  251 |     , PARROT_ASSERT_ARG(ctx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_Context_infostr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:290:5: note: in expansion of macro 'ASSERT_ARGS'
  290 |     ASSERT_ARGS(Parrot_sub_Context_infostr)
      |     ^~~~~~~~~~~
src/sub.c: In function 'Parrot_sub_get_line_from_pc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/sub.h:276:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  276 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_get_line_from_pc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:202:5: note: in expansion of macro 'ASSERT_ARGS'
  202 |     ASSERT_ARGS(Parrot_sub_get_line_from_pc)
      |     ^~~~~~~~~~~
src/sub.c: In function 'Parrot_sub_get_filename_from_pc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/sub.h:274:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  274 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_get_filename_from_pc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:257:5: note: in expansion of macro 'ASSERT_ARGS'
  257 |     ASSERT_ARGS(Parrot_sub_get_filename_from_pc)
      |     ^~~~~~~~~~~
src/sub.c: In function 'Parrot_sub_capture_lex':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:243:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  243 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_capture_lex'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:389:5: note: in expansion of macro 'ASSERT_ARGS'
  389 |     ASSERT_ARGS(Parrot_sub_capture_lex)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:244:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  244 |     , PARROT_ASSERT_ARG(sub_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_capture_lex'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:389:5: note: in expansion of macro 'ASSERT_ARGS'
  389 |     ASSERT_ARGS(Parrot_sub_capture_lex)
      |     ^~~~~~~~~~~
src/sub.c: In function 'Parrot_sub_new_closure':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:255:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  255 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_new_closure'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:452:5: note: in expansion of macro 'ASSERT_ARGS'
  452 |     ASSERT_ARGS(Parrot_sub_new_closure)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/sub.h:256:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  256 |     , PARROT_ASSERT_ARG(sub_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_sub_new_closure'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/sub.c:452:5: note: in expansion of macro 'ASSERT_ARGS'
  452 |     ASSERT_ARGS(Parrot_sub_new_closure)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/runcore/. -Isrc -o src/runcore/trace.o -c src/runcore/trace.c
In file included from ./include/parrot/parrot.h:259,
                 from ./include/parrot/runcore_trace.h:14,
                 from src/runcore/trace.c:25:
src/runcore/trace.c: In function 'trace_key_dump':
src/runcore/trace.c:346:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  346 |                   VTABLE_get_integer(interp, (PMC *)key));
      |                                              ^
./include/parrot/vtable.h:492:6: note: in definition of macro 'VTABLE_get_integer'
  492 |     (pmc)->vtable->get_integer(interp, pmc)
      |      ^~~
src/runcore/trace.c:346:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  346 |                   VTABLE_get_integer(interp, (PMC *)key));
      |                                              ^
./include/parrot/vtable.h:492:40: note: in definition of macro 'VTABLE_get_integer'
  492 |     (pmc)->vtable->get_integer(interp, pmc)
      |                                        ^~~
src/runcore/trace.c:350:64: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  350 |             const STRING * const s = Parrot_key_string(interp, (PMC *)key);
      |                                                                ^
In file included from ./include/parrot/parrot.h:259,
                 from ./include/parrot/runcore_trace.h:14,
                 from src/runcore/trace.c:25:
src/runcore/trace.c:361:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  361 |                   VTABLE_get_integer(interp, (PMC *)key),
      |                                              ^
./include/parrot/vtable.h:492:6: note: in definition of macro 'VTABLE_get_integer'
  492 |     (pmc)->vtable->get_integer(interp, pmc)
      |      ^~~
src/runcore/trace.c:361:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  361 |                   VTABLE_get_integer(interp, (PMC *)key),
      |                                              ^
./include/parrot/vtable.h:492:40: note: in definition of macro 'VTABLE_get_integer'
  492 |     (pmc)->vtable->get_integer(interp, pmc)
      |                                        ^~~
In file included from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from ./include/parrot/runcore_trace.h:14,
                 from src/runcore/trace.c:25:
src/runcore/trace.c:362:64: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  362 |                     REG_INT(interp, VTABLE_get_integer(interp, (PMC *)key)));
      |                                                                ^
./include/parrot/context.h:41:71: note: in definition of macro 'CTX_REG_INT'
   41 | #  define CTX_REG_INT(i, p, x) (*Parrot_pcc_get_INTVAL_reg((i), (p), (x)))
      |                                                                       ^
src/runcore/trace.c:362:21: note: in expansion of macro 'REG_INT'
  362 |                     REG_INT(interp, VTABLE_get_integer(interp, (PMC *)key)));
      |                     ^~~~~~~
src/runcore/trace.c:362:37: note: in expansion of macro 'VTABLE_get_integer'
  362 |                     REG_INT(interp, VTABLE_get_integer(interp, (PMC *)key)));
      |                                     ^~~~~~~~~~~~~~~~~~
src/runcore/trace.c:362:64: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  362 |                     REG_INT(interp, VTABLE_get_integer(interp, (PMC *)key)));
      |                                                                ^
./include/parrot/context.h:41:71: note: in definition of macro 'CTX_REG_INT'
   41 | #  define CTX_REG_INT(i, p, x) (*Parrot_pcc_get_INTVAL_reg((i), (p), (x)))
      |                                                                       ^
src/runcore/trace.c:362:21: note: in expansion of macro 'REG_INT'
  362 |                     REG_INT(interp, VTABLE_get_integer(interp, (PMC *)key)));
      |                     ^~~~~~~
src/runcore/trace.c:362:37: note: in expansion of macro 'VTABLE_get_integer'
  362 |                     REG_INT(interp, VTABLE_get_integer(interp, (PMC *)key)));
      |                                     ^~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from ./include/parrot/runcore_trace.h:14,
                 from src/runcore/trace.c:25:
src/runcore/trace.c:366:72: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  366 |             const UINTVAL keynum = (UINTVAL)VTABLE_get_integer(interp, (PMC *)key);
      |                                                                        ^
./include/parrot/vtable.h:492:6: note: in definition of macro 'VTABLE_get_integer'
  492 |     (pmc)->vtable->get_integer(interp, pmc)
      |      ^~~
src/runcore/trace.c:366:72: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  366 |             const UINTVAL keynum = (UINTVAL)VTABLE_get_integer(interp, (PMC *)key);
      |                                                                        ^
./include/parrot/vtable.h:492:40: note: in definition of macro 'VTABLE_get_integer'
  492 |     (pmc)->vtable->get_integer(interp, pmc)
      |                                        ^~~
src/runcore/trace.c:382:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  382 |                   VTABLE_get_integer(interp, (PMC *)key));
      |                                              ^
./include/parrot/vtable.h:492:6: note: in definition of macro 'VTABLE_get_integer'
  492 |     (pmc)->vtable->get_integer(interp, pmc)
      |      ^~~
src/runcore/trace.c:382:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  382 |                   VTABLE_get_integer(interp, (PMC *)key));
      |                                              ^
./include/parrot/vtable.h:492:40: note: in definition of macro 'VTABLE_get_integer'
  492 |     (pmc)->vtable->get_integer(interp, pmc)
      |                                        ^~~
In file included from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from ./include/parrot/runcore_trace.h:14,
                 from src/runcore/trace.c:25:
src/runcore/trace.c:384:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  384 |                   VTABLE_get_integer(interp, (PMC *)key)));
      |                                              ^
./include/parrot/context.h:38:68: note: in definition of macro 'CTX_REG_PMC'
   38 | #  define CTX_REG_PMC(i, p, x) (*Parrot_pcc_get_PMC_reg((i), (p), (x)))
      |                                                                    ^
src/runcore/trace.c:383:40: note: in expansion of macro 'REG_PMC'
  383 |               trace_pmc_dump(debugger, REG_PMC(interp,
      |                                        ^~~~~~~
src/runcore/trace.c:384:19: note: in expansion of macro 'VTABLE_get_integer'
  384 |                   VTABLE_get_integer(interp, (PMC *)key)));
      |                   ^~~~~~~~~~~~~~~~~~
src/runcore/trace.c:384:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  384 |                   VTABLE_get_integer(interp, (PMC *)key)));
      |                                              ^
./include/parrot/context.h:38:68: note: in definition of macro 'CTX_REG_PMC'
   38 | #  define CTX_REG_PMC(i, p, x) (*Parrot_pcc_get_PMC_reg((i), (p), (x)))
      |                                                                    ^
src/runcore/trace.c:383:40: note: in expansion of macro 'REG_PMC'
  383 |               trace_pmc_dump(debugger, REG_PMC(interp,
      |                                        ^~~~~~~
src/runcore/trace.c:384:19: note: in expansion of macro 'VTABLE_get_integer'
  384 |                   VTABLE_get_integer(interp, (PMC *)key)));
      |                   ^~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from ./include/parrot/runcore_trace.h:14,
                 from src/runcore/trace.c:25:
src/runcore/trace.c:393:44: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  393 |             key = VTABLE_shift_pmc(interp, (PMC *)key);
      |                                            ^
./include/parrot/vtable.h:718:6: note: in definition of macro 'VTABLE_shift_pmc'
  718 |     (pmc)->vtable->shift_pmc(interp, pmc)
      |      ^~~
src/runcore/trace.c:393:44: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  393 |             key = VTABLE_shift_pmc(interp, (PMC *)key);
      |                                            ^
./include/parrot/vtable.h:718:38: note: in definition of macro 'VTABLE_shift_pmc'
  718 |     (pmc)->vtable->shift_pmc(interp, pmc)
      |                                      ^~~
src/runcore/trace.c: In function 'debugger_or_interp':
src/runcore/trace.c:105:13: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  103 |     return interp && interp->pdb && interp->pdb->debugger
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  104 |             ? interp->pdb->debugger
      |             ~~~~~~~~~~~~~~~~~~~~~~~
  105 |             : interp;
      |             ^~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from ./include/parrot/runcore_trace.h:14,
                 from src/runcore/trace.c:25:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/runcore/trace.c:79:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   79 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_debugger_or_interp'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:101:5: note: in expansion of macro 'ASSERT_ARGS'
  101 |     ASSERT_ARGS(debugger_or_interp)
      |     ^~~~~~~~~~~
src/runcore/trace.c: In function 'trace_class_name':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/trace.c:81:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   81 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_class_name'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:123:5: note: in expansion of macro 'ASSERT_ARGS'
  123 |     ASSERT_ARGS(trace_class_name)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/runcore/trace.c:82:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   82 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_class_name'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:123:5: note: in expansion of macro 'ASSERT_ARGS'
  123 |     ASSERT_ARGS(trace_class_name)
      |     ^~~~~~~~~~~
src/runcore/trace.c: In function 'trace_pmc_flags_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_trace.h:61:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   61 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_pmc_flags_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:149:5: note: in expansion of macro 'ASSERT_ARGS'
  149 |     ASSERT_ARGS(trace_pmc_flags_dump)
      |     ^~~~~~~~~~~
src/runcore/trace.c: In function 'trace_pmc_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_trace.h:59:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   59 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_pmc_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:215:5: note: in expansion of macro 'ASSERT_ARGS'
  215 |     ASSERT_ARGS(trace_pmc_dump)
      |     ^~~~~~~~~~~
src/runcore/trace.c: In function 'trace_key_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_trace.h:48:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   48 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_key_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:337:5: note: in expansion of macro 'ASSERT_ARGS'
  337 |     ASSERT_ARGS(trace_key_dump)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_trace.h:49:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   49 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_key_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:337:5: note: in expansion of macro 'ASSERT_ARGS'
  337 |     ASSERT_ARGS(trace_key_dump)
      |     ^~~~~~~~~~~
src/runcore/trace.c: In function 'trace_str_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/runcore_trace.h:63:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   63 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_str_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:416:5: note: in expansion of macro 'ASSERT_ARGS'
  416 |     ASSERT_ARGS(trace_str_dump)
      |     ^~~~~~~~~~~
src/runcore/trace.c: In function 'trace_op_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_trace.h:55:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   55 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_op_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:461:5: note: in expansion of macro 'ASSERT_ARGS'
  461 |     ASSERT_ARGS(trace_op_dump)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'code_start' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_trace.h:56:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   56 |     , PARROT_ASSERT_ARG(code_start) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_op_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:461:5: note: in expansion of macro 'ASSERT_ARGS'
  461 |     ASSERT_ARGS(trace_op_dump)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_trace.h:57:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   57 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_op_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:461:5: note: in expansion of macro 'ASSERT_ARGS'
  461 |     ASSERT_ARGS(trace_op_dump)
      |     ^~~~~~~~~~~
src/runcore/trace.c: In function 'trace_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_trace.h:51:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   51 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:687:5: note: in expansion of macro 'ASSERT_ARGS'
  687 |     ASSERT_ARGS(trace_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'code_start' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_trace.h:52:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   52 |     , PARROT_ASSERT_ARG(code_start) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:687:5: note: in expansion of macro 'ASSERT_ARGS'
  687 |     ASSERT_ARGS(trace_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'code_end' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/runcore_trace.h:53:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   53 |     , PARROT_ASSERT_ARG(code_end))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_trace_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/runcore/trace.c:687:5: note: in expansion of macro 'ASSERT_ARGS'
  687 |     ASSERT_ARGS(trace_op)
      |     ^~~~~~~~~~~
src/runcore/trace.c: In function 'trace_pmc_flags_dump':
src/runcore/trace.c:147:1: warning: stack usage is 560 bytes [-Wstack-usage=]
  147 | trace_pmc_flags_dump(PARROT_INTERP, ARGIN_NULLOK(PMC *pmc))
      | ^~~~~~~~~~~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/utils.o -c src/utils.c
In file included from ./include/parrot/parrot.h:261,
                 from src/utils.c:20:
src/utils.c: In function 'Parrot_util_tm_to_array':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/misc.h:115:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  115 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_util_tm_to_array'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:545:5: note: in expansion of macro 'ASSERT_ARGS'
  545 |     ASSERT_ARGS(Parrot_util_tm_to_array)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'tm' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/misc.h:116:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  116 |     , PARROT_ASSERT_ARG(tm))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_util_tm_to_array'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:545:5: note: in expansion of macro 'ASSERT_ARGS'
  545 |     ASSERT_ARGS(Parrot_util_tm_to_array)
      |     ^~~~~~~~~~~
src/utils.c: In function 'Parrot_util_byte_index':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'base' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/misc.h:105:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  105 |        PARROT_ASSERT_ARG(base) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_util_byte_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:586:5: note: in expansion of macro 'ASSERT_ARGS'
  586 |     ASSERT_ARGS(Parrot_util_byte_index)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'search' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/misc.h:106:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |     , PARROT_ASSERT_ARG(search))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_util_byte_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:586:5: note: in expansion of macro 'ASSERT_ARGS'
  586 |     ASSERT_ARGS(Parrot_util_byte_index)
      |     ^~~~~~~~~~~
src/utils.c: In function 'Parrot_util_byte_rindex':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'base' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/misc.h:108:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  108 |        PARROT_ASSERT_ARG(base) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_util_byte_rindex'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:636:5: note: in expansion of macro 'ASSERT_ARGS'
  636 |     ASSERT_ARGS(Parrot_util_byte_rindex)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'search' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/misc.h:109:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  109 |     , PARROT_ASSERT_ARG(search))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_util_byte_rindex'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:636:5: note: in expansion of macro 'ASSERT_ARGS'
  636 |     ASSERT_ARGS(Parrot_util_byte_rindex)
      |     ^~~~~~~~~~~
src/utils.c: In function 'COMPARE':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/utils.c:71:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   71 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_COMPARE'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:679:5: note: in expansion of macro 'ASSERT_ARGS'
  679 |     ASSERT_ARGS(COMPARE)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument '_a' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/utils.c:72:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   72 |     , PARROT_ASSERT_ARG(_a) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_COMPARE'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:679:5: note: in expansion of macro 'ASSERT_ARGS'
  679 |     ASSERT_ARGS(COMPARE)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument '_b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/utils.c:73:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   73 |     , PARROT_ASSERT_ARG(_b) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_COMPARE'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:679:5: note: in expansion of macro 'ASSERT_ARGS'
  679 |     ASSERT_ARGS(COMPARE)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/utils.c:20:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'cmp' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/utils.c:681:9: note: in expansion of macro 'PMC_IS_NULL'
  681 |     if (PMC_IS_NULL(cmp))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/utils.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/utils.c:74:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   74 |     , PARROT_ASSERT_ARG(cmp) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_COMPARE'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:679:5: note: in expansion of macro 'ASSERT_ARGS'
  679 |     ASSERT_ARGS(COMPARE)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmp_signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/utils.c:75:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   75 |     , PARROT_ASSERT_ARG(cmp_signature))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_COMPARE'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:679:5: note: in expansion of macro 'ASSERT_ARGS'
  679 |     ASSERT_ARGS(COMPARE)
      |     ^~~~~~~~~~~
src/utils.c: In function 'Parrot_util_quicksort':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/misc.h:121:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  121 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_util_quicksort'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:711:5: note: in expansion of macro 'ASSERT_ARGS'
  711 |     ASSERT_ARGS(Parrot_util_quicksort)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'data' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/misc.h:122:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  122 |     , PARROT_ASSERT_ARG(data) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_util_quicksort'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:711:5: note: in expansion of macro 'ASSERT_ARGS'
  711 |     ASSERT_ARGS(Parrot_util_quicksort)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/misc.h:123:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  123 |     , PARROT_ASSERT_ARG(cmp) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_util_quicksort'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:711:5: note: in expansion of macro 'ASSERT_ARGS'
  711 |     ASSERT_ARGS(Parrot_util_quicksort)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cmp_signature' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/misc.h:124:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  124 |     , PARROT_ASSERT_ARG(cmp_signature))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_util_quicksort'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/utils.c:711:5: note: in expansion of macro 'ASSERT_ARGS'
  711 |     ASSERT_ARGS(Parrot_util_quicksort)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/vtables.o -c src/vtables.c
In file included from ./include/parrot/parrot.h:261,
                 from src/vtables.c:20:
src/vtables.c: In function 'Parrot_vtbl_clone_vtable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/vtables.h:50:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   50 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vtbl_clone_vtable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/vtables.c:61:5: note: in expansion of macro 'ASSERT_ARGS'
   61 |     ASSERT_ARGS(Parrot_vtbl_clone_vtable)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:299:44: warning: 'nonnull' argument 'base_vtable' compared to NULL [-Wnonnull-compare]
  299 | #  define PARROT_ASSERT(x) (x) ? ((void)0) : Parrot_confess(#x, __FILE__, __LINE__)
      |                            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/parrot.h:220:49: note: in expansion of macro 'PARROT_ASSERT'
  220 | #define STRUCT_COPY(d, s)    (PARROT_ASSERT(d), PARROT_ASSERT(s), *(d)=*(s))
      |                                                 ^~~~~~~~~~~~~
src/vtables.c:64:5: note: in expansion of macro 'STRUCT_COPY'
   64 |     STRUCT_COPY(new_vtable, base_vtable);
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'base_vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/vtables.h:51:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   51 |     , PARROT_ASSERT_ARG(base_vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vtbl_clone_vtable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/vtables.c:61:5: note: in expansion of macro 'ASSERT_ARGS'
   61 |     ASSERT_ARGS(Parrot_vtbl_clone_vtable)
      |     ^~~~~~~~~~~
src/vtables.c: In function 'Parrot_vtbl_destroy_vtable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/vtables.h:53:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   53 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vtbl_destroy_vtable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/vtables.c:92:5: note: in expansion of macro 'ASSERT_ARGS'
   92 |     ASSERT_ARGS(Parrot_vtbl_destroy_vtable)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/vtables.h:54:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   54 |     , PARROT_ASSERT_ARG(vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vtbl_destroy_vtable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/vtables.c:92:5: note: in expansion of macro 'ASSERT_ARGS'
   92 |     ASSERT_ARGS(Parrot_vtbl_destroy_vtable)
      |     ^~~~~~~~~~~
src/vtables.c: In function 'Parrot_vtbl_alloc_vtables':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/vtables.h:60:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   60 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vtbl_alloc_vtables'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/vtables.c:132:5: note: in expansion of macro 'ASSERT_ARGS'
  132 |     ASSERT_ARGS(Parrot_vtbl_alloc_vtables)
      |     ^~~~~~~~~~~
src/vtables.c: In function 'Parrot_vtbl_realloc_vtables':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/vtables.h:66:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   66 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vtbl_realloc_vtables'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/vtables.c:151:5: note: in expansion of macro 'ASSERT_ARGS'
  151 |     ASSERT_ARGS(Parrot_vtbl_realloc_vtables)
      |     ^~~~~~~~~~~
src/vtables.c: In function 'Parrot_vtbl_free_vtables':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/vtables.h:62:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   62 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vtbl_free_vtables'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/vtables.c:180:5: note: in expansion of macro 'ASSERT_ARGS'
  180 |     ASSERT_ARGS(Parrot_vtbl_free_vtables)
      |     ^~~~~~~~~~~
src/vtables.c: In function 'Parrot_vtbl_mark_vtables':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/vtables.h:64:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   64 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vtbl_mark_vtables'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/vtables.c:202:5: note: in expansion of macro 'ASSERT_ARGS'
  202 |     ASSERT_ARGS(Parrot_vtbl_mark_vtables)
      |     ^~~~~~~~~~~
src/vtables.c: In function 'Parrot_vtbl_initialize_core_vtables':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/vtables.h:57:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   57 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_vtbl_initialize_core_vtables'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/vtables.c:234:5: note: in expansion of macro 'ASSERT_ARGS'
  234 |     ASSERT_ARGS(Parrot_vtbl_initialize_core_vtables)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/warnings.o -c src/warnings.c
In file included from ./include/parrot/parrot.h:261,
                 from src/warnings.c:19:
src/warnings.c: In function 'Parrot_print_pbc_location':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/warnings.h:85:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   85 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_print_pbc_location'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/warnings.c:50:5: note: in expansion of macro 'ASSERT_ARGS'
   50 |     ASSERT_ARGS(Parrot_print_pbc_location)
      |     ^~~~~~~~~~~
src/warnings.c: In function 'print_pbc_location':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/warnings.h:96:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   96 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_print_pbc_location'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/warnings.c:73:5: note: in expansion of macro 'ASSERT_ARGS'
   73 |     ASSERT_ARGS(print_pbc_location)
      |     ^~~~~~~~~~~
src/warnings.c: In function 'print_warning':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/warnings.c:32:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   32 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_print_warning'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/warnings.c:90:5: note: in expansion of macro 'ASSERT_ARGS'
   90 |     ASSERT_ARGS(print_warning)
      |     ^~~~~~~~~~~
src/warnings.c: In function 'Parrot_warn':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/warnings.h:87:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   87 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_warn'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/warnings.c:131:5: note: in expansion of macro 'ASSERT_ARGS'
  131 |     ASSERT_ARGS(Parrot_warn)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'message' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/warnings.h:88:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   88 |     , PARROT_ASSERT_ARG(message))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_warn'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/warnings.c:131:5: note: in expansion of macro 'ASSERT_ARGS'
  131 |     ASSERT_ARGS(Parrot_warn)
      |     ^~~~~~~~~~~
src/warnings.c: In function 'Parrot_warn_deprecated':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/warnings.h:90:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   90 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_warn_deprecated'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/warnings.c:161:5: note: in expansion of macro 'ASSERT_ARGS'
  161 |     ASSERT_ARGS(Parrot_warn_deprecated)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'message' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/warnings.h:91:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   91 |     , PARROT_ASSERT_ARG(message))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_warn_deprecated'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/warnings.c:161:5: note: in expansion of macro 'ASSERT_ARGS'
  161 |     ASSERT_ARGS(Parrot_warn_deprecated)
      |     ^~~~~~~~~~~
src/warnings.c: In function 'Parrot_warn_experimental':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/warnings.h:93:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   93 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_warn_experimental'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/warnings.c:186:5: note: in expansion of macro 'ASSERT_ARGS'
  186 |     ASSERT_ARGS(Parrot_warn_experimental)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'message' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/warnings.h:94:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   94 |     , PARROT_ASSERT_ARG(message))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_warn_experimental'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/warnings.c:186:5: note: in expansion of macro 'ASSERT_ARGS'
  186 |     ASSERT_ARGS(Parrot_warn_experimental)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/packfile/. -Isrc -o src/packfile/api.o -c src/packfile/api.c
src/packfile/api.c: In function 'Parrot_load_language':
src/packfile/api.c:2366:9: warning: 'compile_file' is deprecated [-Wdeprecated-declarations]
 2366 |         compile_file(interp, path, is_pasm);
      |         ^~~~~~~~~~~~
src/packfile/api.c:2220:1: note: declared here
 2220 | compile_file(PARROT_INTERP, ARGIN(STRING *path), INTVAL is_pasm)
      | ^~~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_load_bytecode':
src/packfile/api.c:2443:9: warning: 'compile_file' is deprecated [-Wdeprecated-declarations]
 2443 |         compile_file(interp, path, is_pasm);
      |         ^~~~~~~~~~~~
src/packfile/api.c:2220:1: note: declared here
 2220 | compile_file(PARROT_INTERP, ARGIN(STRING *path), INTVAL is_pasm)
      | ^~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/pf_private.h:10,
                 from src/packfile/api.c:29:
src/packfile/api.c: In function 'Parrot_pf_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:898:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  898 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:253:5: note: in expansion of macro 'ASSERT_ARGS'
  253 |     ASSERT_ARGS(Parrot_pf_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:899:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  899 |     , PARROT_ASSERT_ARG(pf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:253:5: note: in expansion of macro 'ASSERT_ARGS'
  253 |     ASSERT_ARGS(Parrot_pf_destroy)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'PackFile_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:853:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  853 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:288:5: note: in expansion of macro 'ASSERT_ARGS'
  288 |     ASSERT_ARGS(PackFile_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:854:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  854 |     , PARROT_ASSERT_ARG(pf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:288:5: note: in expansion of macro 'ASSERT_ARGS'
  288 |     ASSERT_ARGS(PackFile_destroy)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_serialized_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:941:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  941 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_serialized_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:314:5: note: in expansion of macro 'ASSERT_ARGS'
  314 |     ASSERT_ARGS(Parrot_pf_serialized_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:942:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  942 |     , PARROT_ASSERT_ARG(pf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_serialized_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:314:5: note: in expansion of macro 'ASSERT_ARGS'
  314 |     ASSERT_ARGS(Parrot_pf_serialized_size)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_serialize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:938:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  938 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_serialize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:323:5: note: in expansion of macro 'ASSERT_ARGS'
  323 |     ASSERT_ARGS(Parrot_pf_serialize)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:939:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  939 |     , PARROT_ASSERT_ARG(pf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_serialize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:323:5: note: in expansion of macro 'ASSERT_ARGS'
  323 |     ASSERT_ARGS(Parrot_pf_serialize)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_tag_constant':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:959:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  959 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_tag_constant'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:374:5: note: in expansion of macro 'ASSERT_ARGS'
  374 |     ASSERT_ARGS(Parrot_pf_tag_constant)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:960:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  960 |     , PARROT_ASSERT_ARG(ct))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_tag_constant'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:374:5: note: in expansion of macro 'ASSERT_ARGS'
  374 |     ASSERT_ARGS(Parrot_pf_tag_constant)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_subs_by_tag':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:952:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  952 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_subs_by_tag'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:433:5: note: in expansion of macro 'ASSERT_ARGS'
  433 |     ASSERT_ARGS(Parrot_pf_subs_by_tag)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pfpmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:953:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  953 |     , PARROT_ASSERT_ARG(pfpmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_subs_by_tag'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:433:5: note: in expansion of macro 'ASSERT_ARGS'
  433 |     ASSERT_ARGS(Parrot_pf_subs_by_tag)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'flag' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:954:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  954 |     , PARROT_ASSERT_ARG(flag))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_subs_by_tag'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:433:5: note: in expansion of macro 'ASSERT_ARGS'
  433 |     ASSERT_ARGS(Parrot_pf_subs_by_tag)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_single_sub_by_tag':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:948:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  948 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_single_sub_by_tag'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:549:5: note: in expansion of macro 'ASSERT_ARGS'
  549 |     ASSERT_ARGS(Parrot_pf_single_sub_by_tag)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pfpmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:949:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  949 |     , PARROT_ASSERT_ARG(pfpmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_single_sub_by_tag'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:549:5: note: in expansion of macro 'ASSERT_ARGS'
  549 |     ASSERT_ARGS(Parrot_pf_single_sub_by_tag)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'flag' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:950:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  950 |     , PARROT_ASSERT_ARG(flag))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_single_sub_by_tag'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:549:5: note: in expansion of macro 'ASSERT_ARGS'
  549 |     ASSERT_ARGS(Parrot_pf_single_sub_by_tag)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_all_tags_list':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:979:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  979 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_all_tags_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:573:5: note: in expansion of macro 'ASSERT_ARGS'
  573 |     ASSERT_ARGS(Parrot_pf_all_tags_list)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pfpmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:980:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  980 |     , PARROT_ASSERT_ARG(pfpmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_all_tags_list'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:573:5: note: in expansion of macro 'ASSERT_ARGS'
  573 |     ASSERT_ARGS(Parrot_pf_all_tags_list)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_all_tagged_pmcs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:976:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  976 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_all_tagged_pmcs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:612:5: note: in expansion of macro 'ASSERT_ARGS'
  612 |     ASSERT_ARGS(Parrot_pf_all_tagged_pmcs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pfpmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:977:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  977 |     , PARROT_ASSERT_ARG(pfpmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_all_tagged_pmcs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:612:5: note: in expansion of macro 'ASSERT_ARGS'
  612 |     ASSERT_ARGS(Parrot_pf_all_tagged_pmcs)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_all_subs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:973:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  973 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_all_subs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:655:5: note: in expansion of macro 'ASSERT_ARGS'
  655 |     ASSERT_ARGS(Parrot_pf_all_subs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pfpmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:974:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  974 |     , PARROT_ASSERT_ARG(pfpmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_all_subs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:655:5: note: in expansion of macro 'ASSERT_ARGS'
  655 |     ASSERT_ARGS(Parrot_pf_all_subs)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'sub_pragma':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:228:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  228 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sub_pragma'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:690:5: note: in expansion of macro 'ASSERT_ARGS'
  690 |     ASSERT_ARGS(sub_pragma)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:229:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  229 |     , PARROT_ASSERT_ARG(sub_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sub_pragma'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:690:5: note: in expansion of macro 'ASSERT_ARGS'
  690 |     ASSERT_ARGS(sub_pragma)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'do_1_sub_pragma':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:180:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  180 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_do_1_sub_pragma'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:750:5: note: in expansion of macro 'ASSERT_ARGS'
  750 |     ASSERT_ARGS(do_1_sub_pragma)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:181:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  181 |     , PARROT_ASSERT_ARG(sub_pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_do_1_sub_pragma'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:750:5: note: in expansion of macro 'ASSERT_ARGS'
  750 |     ASSERT_ARGS(do_1_sub_pragma)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'mark_1_ct_seg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:195:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  195 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mark_1_ct_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:826:5: note: in expansion of macro 'ASSERT_ARGS'
  826 |     ASSERT_ARGS(mark_1_ct_seg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:196:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  196 |     , PARROT_ASSERT_ARG(ct))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mark_1_ct_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:826:5: note: in expansion of macro 'ASSERT_ARGS'
  826 |     ASSERT_ARGS(mark_1_ct_seg)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'mark_1_bc_seg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:192:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  192 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mark_1_bc_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:856:5: note: in expansion of macro 'ASSERT_ARGS'
  856 |     ASSERT_ARGS(mark_1_bc_seg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:193:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  193 |     , PARROT_ASSERT_ARG(bc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mark_1_bc_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:856:5: note: in expansion of macro 'ASSERT_ARGS'
  856 |     ASSERT_ARGS(mark_1_bc_seg)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'find_const_iter':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:183:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  183 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_const_iter'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:877:5: note: in expansion of macro 'ASSERT_ARGS'
  877 |     ASSERT_ARGS(find_const_iter)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:184:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  184 |     , PARROT_ASSERT_ARG(seg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_const_iter'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:877:5: note: in expansion of macro 'ASSERT_ARGS'
  877 |     ASSERT_ARGS(find_const_iter)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_mark_packfile':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:995:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  995 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_mark_packfile'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:915:5: note: in expansion of macro 'ASSERT_ARGS'
  915 |     ASSERT_ARGS(Parrot_pf_mark_packfile)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'packfile_main':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/api.c:209:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  209 |        PARROT_ASSERT_ARG(bc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_packfile_main'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:958:5: note: in expansion of macro 'ASSERT_ARGS'
  958 |     ASSERT_ARGS(packfile_main)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_get_packfile_main_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:992:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  992 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_get_packfile_main_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:946:5: note: in expansion of macro 'ASSERT_ARGS'
  946 |     ASSERT_ARGS(Parrot_pf_get_packfile_main_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pbc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:993:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  993 |     , PARROT_ASSERT_ARG(pbc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_get_packfile_main_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:946:5: note: in expansion of macro 'ASSERT_ARGS'
  946 |     ASSERT_ARGS(Parrot_pf_get_packfile_main_sub)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'pf_do_sub_pragmas':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:213:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  213 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_do_sub_pragmas'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:991:5: note: in expansion of macro 'ASSERT_ARGS'
  991 |     ASSERT_ARGS(pf_do_sub_pragmas)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pfpmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:214:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  214 |     , PARROT_ASSERT_ARG(pfpmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_do_sub_pragmas'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:991:5: note: in expansion of macro 'ASSERT_ARGS'
  991 |     ASSERT_ARGS(pf_do_sub_pragmas)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'do_sub_pragmas':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:846:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  846 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_do_sub_pragmas'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1059:5: note: in expansion of macro 'ASSERT_ARGS'
 1059 |     ASSERT_ARGS(do_sub_pragmas)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pfpmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:847:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  847 |     , PARROT_ASSERT_ARG(pfpmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_do_sub_pragmas'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1059:5: note: in expansion of macro 'ASSERT_ARGS'
 1059 |     ASSERT_ARGS(do_sub_pragmas)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'PackFile_Header_validate':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:206:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  206 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Header_validate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1080:5: note: in expansion of macro 'ASSERT_ARGS'
 1080 |     ASSERT_ARGS(PackFile_Header_validate)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:207:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  207 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Header_validate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1080:5: note: in expansion of macro 'ASSERT_ARGS'
 1080 |     ASSERT_ARGS(PackFile_Header_validate)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'PackFile_Header_read_uuid':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:198:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  198 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Header_read_uuid'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1137:5: note: in expansion of macro 'ASSERT_ARGS'
 1137 |     ASSERT_ARGS(PackFile_Header_read_uuid)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:199:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  199 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Header_read_uuid'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1137:5: note: in expansion of macro 'ASSERT_ARGS'
 1137 |     ASSERT_ARGS(PackFile_Header_read_uuid)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'packed' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:200:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  200 |     , PARROT_ASSERT_ARG(packed))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Header_read_uuid'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1137:5: note: in expansion of macro 'ASSERT_ARGS'
 1137 |     ASSERT_ARGS(PackFile_Header_read_uuid)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'PackFile_Header_unpack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:202:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  202 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Header_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1188:5: note: in expansion of macro 'ASSERT_ARGS'
 1188 |     ASSERT_ARGS(PackFile_Header_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:203:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  203 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Header_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1188:5: note: in expansion of macro 'ASSERT_ARGS'
 1188 |     ASSERT_ARGS(PackFile_Header_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'packed' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:204:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  204 |     , PARROT_ASSERT_ARG(packed))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Header_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1188:5: note: in expansion of macro 'ASSERT_ARGS'
 1188 |     ASSERT_ARGS(PackFile_Header_unpack)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_unpack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:962:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  962 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1237:5: note: in expansion of macro 'ASSERT_ARGS'
 1237 |     ASSERT_ARGS(Parrot_pf_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:963:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  963 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1237:5: note: in expansion of macro 'ASSERT_ARGS'
 1237 |     ASSERT_ARGS(Parrot_pf_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'packed' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:964:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  964 |     , PARROT_ASSERT_ARG(packed))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1237:5: note: in expansion of macro 'ASSERT_ARGS'
 1237 |     ASSERT_ARGS(Parrot_pf_unpack)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'PackFile_unpack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:860:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  860 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1305:5: note: in expansion of macro 'ASSERT_ARGS'
 1305 |     ASSERT_ARGS(PackFile_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:861:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  861 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1305:5: note: in expansion of macro 'ASSERT_ARGS'
 1305 |     ASSERT_ARGS(PackFile_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'packed' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:862:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  862 |     , PARROT_ASSERT_ARG(packed))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1305:5: note: in expansion of macro 'ASSERT_ARGS'
 1305 |     ASSERT_ARGS(PackFile_unpack)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'PackFile_set_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'header' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/api.c:211:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  211 |        PARROT_ASSERT_ARG(header))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_set_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1329:5: note: in expansion of macro 'ASSERT_ARGS'
 1329 |     ASSERT_ARGS(PackFile_set_header)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:923:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  923 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1411:5: note: in expansion of macro 'ASSERT_ARGS'
 1411 |     ASSERT_ARGS(Parrot_pf_new)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_deserialize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:895:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  895 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_deserialize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:343:5: note: in expansion of macro 'ASSERT_ARGS'
  343 |     ASSERT_ARGS(Parrot_pf_deserialize)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:896:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  896 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_deserialize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:343:5: note: in expansion of macro 'ASSERT_ARGS'
  343 |     ASSERT_ARGS(Parrot_pf_deserialize)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'PackFile_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:858:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  858 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1457:5: note: in expansion of macro 'ASSERT_ARGS'
 1457 |     ASSERT_ARGS(PackFile_new)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_get_packfile_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:912:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  912 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_get_packfile_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1482:5: note: in expansion of macro 'ASSERT_ARGS'
 1482 |     ASSERT_ARGS(Parrot_pf_get_packfile_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:913:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  913 |     , PARROT_ASSERT_ARG(pf) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_get_packfile_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1482:5: note: in expansion of macro 'ASSERT_ARGS'
 1482 |     ASSERT_ARGS(Parrot_pf_get_packfile_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:914:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  914 |     , PARROT_ASSERT_ARG(path))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_get_packfile_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1482:5: note: in expansion of macro 'ASSERT_ARGS'
 1482 |     ASSERT_ARGS(Parrot_pf_get_packfile_pmc)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_get_current_packfile':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:989:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  989 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_get_current_packfile'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1522:5: note: in expansion of macro 'ASSERT_ARGS'
 1522 |     ASSERT_ARGS(Parrot_pf_get_current_packfile)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_get_current_code_segment':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:986:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  986 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_get_current_code_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1544:5: note: in expansion of macro 'ASSERT_ARGS'
 1544 |     ASSERT_ARGS(Parrot_pf_get_current_code_segment)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_new_debug_segment':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:925:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  925 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_new_debug_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1631:5: note: in expansion of macro 'ASSERT_ARGS'
 1631 |     ASSERT_ARGS(Parrot_pf_new_debug_segment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:926:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  926 |     , PARROT_ASSERT_ARG(cs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_new_debug_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1631:5: note: in expansion of macro 'ASSERT_ARGS'
 1631 |     ASSERT_ARGS(Parrot_pf_new_debug_segment)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_new_debug_seg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:875:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  875 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_new_debug_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1683:5: note: in expansion of macro 'ASSERT_ARGS'
 1683 |     ASSERT_ARGS(Parrot_new_debug_seg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:876:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  876 |     , PARROT_ASSERT_ARG(cs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_new_debug_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1683:5: note: in expansion of macro 'ASSERT_ARGS'
 1683 |     ASSERT_ARGS(Parrot_new_debug_seg)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_debug_add_mapping':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:887:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  887 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_debug_add_mapping'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1705:5: note: in expansion of macro 'ASSERT_ARGS'
 1705 |     ASSERT_ARGS(Parrot_pf_debug_add_mapping)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'debug' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:888:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  888 |     , PARROT_ASSERT_ARG(debug) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_debug_add_mapping'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1705:5: note: in expansion of macro 'ASSERT_ARGS'
 1705 |     ASSERT_ARGS(Parrot_pf_debug_add_mapping)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'filename' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:889:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  889 |     , PARROT_ASSERT_ARG(filename))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_debug_add_mapping'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1705:5: note: in expansion of macro 'ASSERT_ARGS'
 1705 |     ASSERT_ARGS(Parrot_pf_debug_add_mapping)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_debug_add_mapping':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:864:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  864 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_debug_add_mapping'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1792:5: note: in expansion of macro 'ASSERT_ARGS'
 1792 |     ASSERT_ARGS(Parrot_debug_add_mapping)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'debug' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:865:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  865 |     , PARROT_ASSERT_ARG(debug) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_debug_add_mapping'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1792:5: note: in expansion of macro 'ASSERT_ARGS'
 1792 |     ASSERT_ARGS(Parrot_debug_add_mapping)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'filename' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:866:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  866 |     , PARROT_ASSERT_ARG(filename))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_debug_add_mapping'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1792:5: note: in expansion of macro 'ASSERT_ARGS'
 1792 |     ASSERT_ARGS(Parrot_debug_add_mapping)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_debug_pc_to_filename':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:892:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  892 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_debug_pc_to_filename'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1814:5: note: in expansion of macro 'ASSERT_ARGS'
 1814 |     ASSERT_ARGS(Parrot_pf_debug_pc_to_filename)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'debug' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:893:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  893 |     , PARROT_ASSERT_ARG(debug))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_debug_pc_to_filename'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1814:5: note: in expansion of macro 'ASSERT_ARGS'
 1814 |     ASSERT_ARGS(Parrot_pf_debug_pc_to_filename)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_debug_pc_to_filename':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:868:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  868 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_debug_pc_to_filename'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1851:5: note: in expansion of macro 'ASSERT_ARGS'
 1851 |     ASSERT_ARGS(Parrot_debug_pc_to_filename)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'debug' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:869:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  869 |     , PARROT_ASSERT_ARG(debug))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_debug_pc_to_filename'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1851:5: note: in expansion of macro 'ASSERT_ARGS'
 1851 |     ASSERT_ARGS(Parrot_debug_pc_to_filename)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_switch_to_cs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:956:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  956 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_switch_to_cs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1872:5: note: in expansion of macro 'ASSERT_ARGS'
 1872 |     ASSERT_ARGS(Parrot_pf_switch_to_cs)
      |     ^~~~~~~~~~~
src/packfile/api.c:1875:8: warning: 'nonnull' argument 'new_cs' compared to NULL [-Wnonnull-compare]
 1875 |     if (!new_cs)
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/pf_private.h:10,
                 from src/packfile/api.c:29:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'new_cs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:957:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  957 |     , PARROT_ASSERT_ARG(new_cs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_switch_to_cs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1872:5: note: in expansion of macro 'ASSERT_ARGS'
 1872 |     ASSERT_ARGS(Parrot_pf_switch_to_cs)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_set_current_packfile':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:945:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  945 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_set_current_packfile'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1562:5: note: in expansion of macro 'ASSERT_ARGS'
 1562 |     ASSERT_ARGS(Parrot_pf_set_current_packfile)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/packfile/pf_private.h:10,
                 from src/packfile/api.c:29:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'pbc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/packfile/api.c:1563:9: note: in expansion of macro 'PMC_IS_NULL'
 1563 |     if (PMC_IS_NULL(pbc))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/pf_private.h:10,
                 from src/packfile/api.c:29:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pbc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:946:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  946 |     , PARROT_ASSERT_ARG(pbc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_set_current_packfile'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1562:5: note: in expansion of macro 'ASSERT_ARGS'
 1562 |     ASSERT_ARGS(Parrot_pf_set_current_packfile)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_switch_to_cs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:970:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  970 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_switch_to_cs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1920:5: note: in expansion of macro 'ASSERT_ARGS'
 1920 |     ASSERT_ARGS(Parrot_switch_to_cs)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'new_cs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:971:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  971 |     , PARROT_ASSERT_ARG(new_cs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_switch_to_cs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1920:5: note: in expansion of macro 'ASSERT_ARGS'
 1920 |     ASSERT_ARGS(Parrot_switch_to_cs)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'find_pf_ann_idx':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pfa' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:186:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  186 |        PARROT_ASSERT_ARG(pfa) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_pf_ann_idx'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1942:5: note: in expansion of macro 'ASSERT_ARGS'
 1942 |     ASSERT_ARGS(find_pf_ann_idx)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:187:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  187 |     , PARROT_ASSERT_ARG(key))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_pf_ann_idx'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1942:5: note: in expansion of macro 'ASSERT_ARGS'
 1942 |     ASSERT_ARGS(find_pf_ann_idx)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_annotations_add_entry':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:879:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  879 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_annotations_add_entry'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1991:5: note: in expansion of macro 'ASSERT_ARGS'
 1991 |     ASSERT_ARGS(Parrot_pf_annotations_add_entry)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:880:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  880 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_annotations_add_entry'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1991:5: note: in expansion of macro 'ASSERT_ARGS'
 1991 |     ASSERT_ARGS(Parrot_pf_annotations_add_entry)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'PackFile_Annotations_add_entry':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:850:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  850 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Annotations_add_entry'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2069:5: note: in expansion of macro 'ASSERT_ARGS'
 2069 |     ASSERT_ARGS(PackFile_Annotations_add_entry)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:851:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  851 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Annotations_add_entry'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2069:5: note: in expansion of macro 'ASSERT_ARGS'
 2069 |     ASSERT_ARGS(PackFile_Annotations_add_entry)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_annotations_lookup':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:982:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  982 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_annotations_lookup'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2093:5: note: in expansion of macro 'ASSERT_ARGS'
 2093 |     ASSERT_ARGS(Parrot_pf_annotations_lookup)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:983:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  983 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_annotations_lookup'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2093:5: note: in expansion of macro 'ASSERT_ARGS'
 2093 |     ASSERT_ARGS(Parrot_pf_annotations_lookup)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_get_annotations_segment':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:909:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  909 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_get_annotations_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2163:5: note: in expansion of macro 'ASSERT_ARGS'
 2163 |     ASSERT_ARGS(Parrot_pf_get_annotations_segment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:910:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  910 |     , PARROT_ASSERT_ARG(pf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_get_annotations_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2163:5: note: in expansion of macro 'ASSERT_ARGS'
 2163 |     ASSERT_ARGS(Parrot_pf_get_annotations_segment)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'push_context':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/api.c:216:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  216 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_push_context'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2193:5: note: in expansion of macro 'ASSERT_ARGS'
 2193 |     ASSERT_ARGS(push_context)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'compile_file':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:172:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  172 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_compile_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2222:5: note: in expansion of macro 'ASSERT_ARGS'
 2222 |     ASSERT_ARGS(compile_file)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:173:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  173 |     , PARROT_ASSERT_ARG(path))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_compile_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2222:5: note: in expansion of macro 'ASSERT_ARGS'
 2222 |     ASSERT_ARGS(compile_file)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_fixup_subs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:906:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  906 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_fixup_subs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2504:5: note: in expansion of macro 'ASSERT_ARGS'
 2504 |     ASSERT_ARGS(Parrot_pf_fixup_subs)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'PackFile_fixup_subs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:856:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  856 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_fixup_subs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2524:5: note: in expansion of macro 'ASSERT_ARGS'
 2524 |     ASSERT_ARGS(PackFile_fixup_subs)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_prepare_packfile_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:929:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  929 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_prepare_packfile_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2544:5: note: in expansion of macro 'ASSERT_ARGS'
 2544 |     ASSERT_ARGS(Parrot_pf_prepare_packfile_init)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/packfile/pf_private.h:10,
                 from src/packfile/api.c:29:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'pfpmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/packfile/api.c:2545:9: note: in expansion of macro 'PMC_IS_NULL'
 2545 |     if (PMC_IS_NULL(pfpmc))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/pf_private.h:10,
                 from src/packfile/api.c:29:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pfpmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:930:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  930 |     , PARROT_ASSERT_ARG(pfpmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_prepare_packfile_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2544:5: note: in expansion of macro 'ASSERT_ARGS'
 2544 |     ASSERT_ARGS(Parrot_pf_prepare_packfile_init)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_prepare_packfile_load':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:933:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  933 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_prepare_packfile_load'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2573:5: note: in expansion of macro 'ASSERT_ARGS'
 2573 |     ASSERT_ARGS(Parrot_pf_prepare_packfile_load)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/packfile/pf_private.h:10,
                 from src/packfile/api.c:29:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'pfpmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/packfile/api.c:2574:9: note: in expansion of macro 'PMC_IS_NULL'
 2574 |     if (PMC_IS_NULL(pfpmc))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/pf_private.h:10,
                 from src/packfile/api.c:29:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pfpmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:934:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  934 |     , PARROT_ASSERT_ARG(pfpmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_prepare_packfile_load'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2573:5: note: in expansion of macro 'ASSERT_ARGS'
 2573 |     ASSERT_ARGS(Parrot_pf_prepare_packfile_load)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_write_pbc_file':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:966:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  966 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_write_pbc_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2607:5: note: in expansion of macro 'ASSERT_ARGS'
 2607 |     ASSERT_ARGS(Parrot_pf_write_pbc_file)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:967:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  967 |     , PARROT_ASSERT_ARG(pf_pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_write_pbc_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2607:5: note: in expansion of macro 'ASSERT_ARGS'
 2607 |     ASSERT_ARGS(Parrot_pf_write_pbc_file)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'filename' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:968:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  968 |     , PARROT_ASSERT_ARG(filename))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_write_pbc_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2607:5: note: in expansion of macro 'ASSERT_ARGS'
 2607 |     ASSERT_ARGS(Parrot_pf_write_pbc_file)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'read_pbc_file_bytes_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/api.c:218:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  218 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_read_pbc_file_bytes_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2714:5: note: in expansion of macro 'ASSERT_ARGS'
 2714 |     ASSERT_ARGS(read_pbc_file_bytes_handle)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'read_pbc_file_packfile_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:223:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  223 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_read_pbc_file_packfile_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2686:5: note: in expansion of macro 'ASSERT_ARGS'
 2686 |     ASSERT_ARGS(read_pbc_file_packfile_handle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'fullname' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:224:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  224 |     , PARROT_ASSERT_ARG(fullname))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_read_pbc_file_packfile_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2686:5: note: in expansion of macro 'ASSERT_ARGS'
 2686 |     ASSERT_ARGS(read_pbc_file_packfile_handle)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'read_pbc_file_packfile':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:220:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  220 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_read_pbc_file_packfile'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2761:5: note: in expansion of macro 'ASSERT_ARGS'
 2761 |     ASSERT_ARGS(read_pbc_file_packfile)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'fullname' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:221:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  221 |     , PARROT_ASSERT_ARG(fullname))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_read_pbc_file_packfile'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2761:5: note: in expansion of macro 'ASSERT_ARGS'
 2761 |     ASSERT_ARGS(read_pbc_file_packfile)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_read_pbc_file':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:936:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  936 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_read_pbc_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2637:5: note: in expansion of macro 'ASSERT_ARGS'
 2637 |     ASSERT_ARGS(Parrot_pf_read_pbc_file)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'load_file':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:189:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  189 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_load_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2263:5: note: in expansion of macro 'ASSERT_ARGS'
 2263 |     ASSERT_ARGS(load_file)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:190:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  190 |     , PARROT_ASSERT_ARG(path))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_load_file'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2263:5: note: in expansion of macro 'ASSERT_ARGS'
 2263 |     ASSERT_ARGS(load_file)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_load_language':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:873:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  873 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_load_language'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2305:5: note: in expansion of macro 'ASSERT_ARGS'
 2305 |     ASSERT_ARGS(Parrot_load_language)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_load_bytecode':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:871:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  871 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_load_bytecode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2395:5: note: in expansion of macro 'ASSERT_ARGS'
 2395 |     ASSERT_ARGS(Parrot_load_bytecode)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_load_bytecode_search':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:920:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  920 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_load_bytecode_search'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2465:5: note: in expansion of macro 'ASSERT_ARGS'
 2465 |     ASSERT_ARGS(Parrot_pf_load_bytecode_search)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'file' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:921:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  921 |     , PARROT_ASSERT_ARG(file))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_load_bytecode_search'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2465:5: note: in expansion of macro 'ASSERT_ARGS'
 2465 |     ASSERT_ARGS(Parrot_pf_load_bytecode_search)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'set_current_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/api.c:226:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  226 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_current_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2829:5: note: in expansion of macro 'ASSERT_ARGS'
 2829 |     ASSERT_ARGS(set_current_sub)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_execute_bytecode_program':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:902:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  902 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_execute_bytecode_program'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2889:5: note: in expansion of macro 'ASSERT_ARGS'
 2889 |     ASSERT_ARGS(Parrot_pf_execute_bytecode_program)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pbc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:903:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  903 |     , PARROT_ASSERT_ARG(pbc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_execute_bytecode_program'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2889:5: note: in expansion of macro 'ASSERT_ARGS'
 2889 |     ASSERT_ARGS(Parrot_pf_execute_bytecode_program)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:904:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  904 |     , PARROT_ASSERT_ARG(args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_execute_bytecode_program'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2889:5: note: in expansion of macro 'ASSERT_ARGS'
 2889 |     ASSERT_ARGS(Parrot_pf_execute_bytecode_program)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_get_version_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:916:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  916 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_get_version_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2929:5: note: in expansion of macro 'ASSERT_ARGS'
 2929 |     ASSERT_ARGS(Parrot_pf_get_version_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pbc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:917:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  917 |     , PARROT_ASSERT_ARG(pbc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_get_version_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2929:5: note: in expansion of macro 'ASSERT_ARGS'
 2929 |     ASSERT_ARGS(Parrot_pf_get_version_string)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'create_seg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:175:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  175 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_create_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2953:5: note: in expansion of macro 'ASSERT_ARGS'
 2953 |     ASSERT_ARGS(create_seg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dir' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:176:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  176 |     , PARROT_ASSERT_ARG(dir) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_create_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2953:5: note: in expansion of macro 'ASSERT_ARGS'
 2953 |     ASSERT_ARGS(create_seg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:177:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  177 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_create_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2953:5: note: in expansion of macro 'ASSERT_ARGS'
 2953 |     ASSERT_ARGS(create_seg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'file_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/api.c:178:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  178 |     , PARROT_ASSERT_ARG(file_name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_create_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:2953:5: note: in expansion of macro 'ASSERT_ARGS'
 2953 |     ASSERT_ARGS(create_seg)
      |     ^~~~~~~~~~~
src/packfile/api.c: In function 'Parrot_pf_create_default_segments':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:883:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  883 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_create_default_segments'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1592:5: note: in expansion of macro 'ASSERT_ARGS'
 1592 |     ASSERT_ARGS(Parrot_pf_create_default_segments)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:884:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  884 |     , PARROT_ASSERT_ARG(pf_pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_create_default_segments'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1592:5: note: in expansion of macro 'ASSERT_ARGS'
 1592 |     ASSERT_ARGS(Parrot_pf_create_default_segments)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'file_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:885:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  885 |     , PARROT_ASSERT_ARG(file_name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_create_default_segments'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/api.c:1592:5: note: in expansion of macro 'ASSERT_ARGS'
 1592 |     ASSERT_ARGS(Parrot_pf_create_default_segments)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/packfile/. -Isrc -o src/packfile/output.o -c src/packfile/output.c
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/output.c:22:
src/packfile/output.c: In function 'Parrot_pf_pack_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1192:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1192 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_pack_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:65:5: note: in expansion of macro 'ASSERT_ARGS'
   65 |     ASSERT_ARGS(Parrot_pf_pack_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1193:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1193 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_pack_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:65:5: note: in expansion of macro 'ASSERT_ARGS'
   65 |     ASSERT_ARGS(Parrot_pf_pack_size)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'PackFile_pack_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1162:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1162 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_pack_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:102:5: note: in expansion of macro 'ASSERT_ARGS'
  102 |     ASSERT_ARGS(PackFile_pack_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1163:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1163 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_pack_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:102:5: note: in expansion of macro 'ASSERT_ARGS'
  102 |     ASSERT_ARGS(PackFile_pack_size)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'Parrot_pf_pack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1188:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1188 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:128:5: note: in expansion of macro 'ASSERT_ARGS'
  128 |     ASSERT_ARGS(Parrot_pf_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1189:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1189 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:128:5: note: in expansion of macro 'ASSERT_ARGS'
  128 |     ASSERT_ARGS(Parrot_pf_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1190:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1190 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:128:5: note: in expansion of macro 'ASSERT_ARGS'
  128 |     ASSERT_ARGS(Parrot_pf_pack)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'PackFile_pack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1158:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1158 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:197:5: note: in expansion of macro 'ASSERT_ARGS'
  197 |     ASSERT_ARGS(PackFile_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1159:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1159 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:197:5: note: in expansion of macro 'ASSERT_ARGS'
  197 |     ASSERT_ARGS(PackFile_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1160:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1160 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:197:5: note: in expansion of macro 'ASSERT_ARGS'
  197 |     ASSERT_ARGS(PackFile_pack)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'update_backref_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/output.c:41:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   41 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_update_backref_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:217:5: note: in expansion of macro 'ASSERT_ARGS'
  217 |     ASSERT_ARGS(update_backref_hash)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/output.c:42:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   42 |     , PARROT_ASSERT_ARG(ct) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_update_backref_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:217:5: note: in expansion of macro 'ASSERT_ARGS'
  217 |     ASSERT_ARGS(update_backref_hash)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seen' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/output.c:43:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   43 |     , PARROT_ASSERT_ARG(seen))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_update_backref_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:217:5: note: in expansion of macro 'ASSERT_ARGS'
  217 |     ASSERT_ARGS(update_backref_hash)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'Parrot_pf_ConstTable_pack_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1170:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1170 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_pack_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:247:5: note: in expansion of macro 'ASSERT_ARGS'
  247 |     ASSERT_ARGS(Parrot_pf_ConstTable_pack_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1171:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1171 |     , PARROT_ASSERT_ARG(seg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_pack_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:247:5: note: in expansion of macro 'ASSERT_ARGS'
  247 |     ASSERT_ARGS(Parrot_pf_ConstTable_pack_size)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'PackFile_ConstTable_pack_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1140:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1140 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_pack_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:288:5: note: in expansion of macro 'ASSERT_ARGS'
  288 |     ASSERT_ARGS(PackFile_ConstTable_pack_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1141:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1141 |     , PARROT_ASSERT_ARG(seg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_pack_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:288:5: note: in expansion of macro 'ASSERT_ARGS'
  288 |     ASSERT_ARGS(PackFile_ConstTable_pack_size)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'Parrot_pf_ConstTable_pack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1165:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1165 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:316:5: note: in expansion of macro 'ASSERT_ARGS'
  316 |     ASSERT_ARGS(Parrot_pf_ConstTable_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1166:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1166 |     , PARROT_ASSERT_ARG(seg) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:316:5: note: in expansion of macro 'ASSERT_ARGS'
  316 |     ASSERT_ARGS(Parrot_pf_ConstTable_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1167:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1167 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:316:5: note: in expansion of macro 'ASSERT_ARGS'
  316 |     ASSERT_ARGS(Parrot_pf_ConstTable_pack)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'PackFile_ConstTable_pack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1136:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1136 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:368:5: note: in expansion of macro 'ASSERT_ARGS'
  368 |     ASSERT_ARGS(PackFile_ConstTable_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1137:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1137 |     , PARROT_ASSERT_ARG(seg) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:368:5: note: in expansion of macro 'ASSERT_ARGS'
  368 |     ASSERT_ARGS(PackFile_ConstTable_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1138:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1138 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:368:5: note: in expansion of macro 'ASSERT_ARGS'
  368 |     ASSERT_ARGS(PackFile_ConstTable_pack)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'Parrot_pf_ConstTable_rlookup_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1184:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1184 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_rlookup_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:405:5: note: in expansion of macro 'ASSERT_ARGS'
  405 |     ASSERT_ARGS(Parrot_pf_ConstTable_rlookup_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1185:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1185 |     , PARROT_ASSERT_ARG(ct) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_rlookup_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:405:5: note: in expansion of macro 'ASSERT_ARGS'
  405 |     ASSERT_ARGS(Parrot_pf_ConstTable_rlookup_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1186:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1186 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_rlookup_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:405:5: note: in expansion of macro 'ASSERT_ARGS'
  405 |     ASSERT_ARGS(Parrot_pf_ConstTable_rlookup_str)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'Parrot_pf_ConstTable_rlookup_num':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:1174:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1174 |        PARROT_ASSERT_ARG(ct))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_rlookup_num'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:432:5: note: in expansion of macro 'ASSERT_ARGS'
  432 |     ASSERT_ARGS(Parrot_pf_ConstTable_rlookup_num)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'Parrot_pf_ConstTable_rlookup_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1177:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1177 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_rlookup_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:449:5: note: in expansion of macro 'ASSERT_ARGS'
  449 |     ASSERT_ARGS(Parrot_pf_ConstTable_rlookup_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1178:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1178 |     , PARROT_ASSERT_ARG(ct) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_rlookup_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:449:5: note: in expansion of macro 'ASSERT_ARGS'
  449 |     ASSERT_ARGS(Parrot_pf_ConstTable_rlookup_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'v' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1179:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1179 |     , PARROT_ASSERT_ARG(v) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_rlookup_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:449:5: note: in expansion of macro 'ASSERT_ARGS'
  449 |     ASSERT_ARGS(Parrot_pf_ConstTable_rlookup_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'constno' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1180:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1180 |     , PARROT_ASSERT_ARG(constno) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_rlookup_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:449:5: note: in expansion of macro 'ASSERT_ARGS'
  449 |     ASSERT_ARGS(Parrot_pf_ConstTable_rlookup_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'idx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1181:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1181 |     , PARROT_ASSERT_ARG(idx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_ConstTable_rlookup_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:449:5: note: in expansion of macro 'ASSERT_ARGS'
  449 |     ASSERT_ARGS(Parrot_pf_ConstTable_rlookup_pmc)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'PackFile_ConstTable_rlookup_num':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:1144:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1144 |        PARROT_ASSERT_ARG(ct))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_rlookup_num'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:469:5: note: in expansion of macro 'ASSERT_ARGS'
  469 |     ASSERT_ARGS(PackFile_ConstTable_rlookup_num)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'PackFile_ConstTable_rlookup_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1147:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1147 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_rlookup_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:479:5: note: in expansion of macro 'ASSERT_ARGS'
  479 |     ASSERT_ARGS(PackFile_ConstTable_rlookup_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1148:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1148 |     , PARROT_ASSERT_ARG(ct) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_rlookup_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:479:5: note: in expansion of macro 'ASSERT_ARGS'
  479 |     ASSERT_ARGS(PackFile_ConstTable_rlookup_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'v' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1149:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1149 |     , PARROT_ASSERT_ARG(v) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_rlookup_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:479:5: note: in expansion of macro 'ASSERT_ARGS'
  479 |     ASSERT_ARGS(PackFile_ConstTable_rlookup_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'constno' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1150:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1150 |     , PARROT_ASSERT_ARG(constno) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_rlookup_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:479:5: note: in expansion of macro 'ASSERT_ARGS'
  479 |     ASSERT_ARGS(PackFile_ConstTable_rlookup_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'idx' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1151:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1151 |     , PARROT_ASSERT_ARG(idx))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_rlookup_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:479:5: note: in expansion of macro 'ASSERT_ARGS'
  479 |     ASSERT_ARGS(PackFile_ConstTable_rlookup_pmc)
      |     ^~~~~~~~~~~
src/packfile/output.c: In function 'PackFile_ConstTable_rlookup_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1154:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1154 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_rlookup_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:489:5: note: in expansion of macro 'ASSERT_ARGS'
  489 |     ASSERT_ARGS(PackFile_ConstTable_rlookup_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1155:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1155 |     , PARROT_ASSERT_ARG(ct) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_rlookup_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:489:5: note: in expansion of macro 'ASSERT_ARGS'
  489 |     ASSERT_ARGS(PackFile_ConstTable_rlookup_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1156:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1156 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_ConstTable_rlookup_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/output.c:489:5: note: in expansion of macro 'ASSERT_ARGS'
  489 |     ASSERT_ARGS(PackFile_ConstTable_rlookup_str)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/packfile/. -Isrc -o src/packfile/pf_items.o -c src/packfile/pf_items.c
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/pf_items.c:34:
src/packfile/pf_items.c: In function 'cvt_num16_num8':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:275:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  275 |        PARROT_ASSERT_ARG(dest) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_cvt_num16_num8'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:591:5: note: in expansion of macro 'ASSERT_ARGS'
  591 |     ASSERT_ARGS(cvt_num16_num8)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:276:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  276 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_cvt_num16_num8'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:591:5: note: in expansion of macro 'ASSERT_ARGS'
  591 |     ASSERT_ARGS(cvt_num16_num8)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_buf_be_8':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:311:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  311 |        PARROT_ASSERT_ARG(rb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_be_8'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2095:5: note: in expansion of macro 'ASSERT_ARGS'
 2095 |     ASSERT_ARGS(fetch_buf_be_8)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:312:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  312 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_be_8'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2095:5: note: in expansion of macro 'ASSERT_ARGS'
 2095 |     ASSERT_ARGS(fetch_buf_be_8)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'cvt_num12_num8':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:263:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  263 |        PARROT_ASSERT_ARG(dest) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_cvt_num12_num8'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:384:5: note: in expansion of macro 'ASSERT_ARGS'
  384 |     ASSERT_ARGS(cvt_num12_num8)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:264:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  264 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_cvt_num12_num8'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:384:5: note: in expansion of macro 'ASSERT_ARGS'
  384 |     ASSERT_ARGS(cvt_num12_num8)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_fetch_opcode':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'stream' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:445:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  445 |        PARROT_ASSERT_ARG(stream))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_fetch_opcode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1080:5: note: in expansion of macro 'ASSERT_ARGS'
 1080 |     ASSERT_ARGS(PF_fetch_opcode)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_store_opcode':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:471:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  471 |        PARROT_ASSERT_ARG(cursor))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_store_opcode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1109:5: note: in expansion of macro 'ASSERT_ARGS'
 1109 |     ASSERT_ARGS(PF_store_opcode)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_fetch_integer':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:440:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  440 |        PARROT_ASSERT_ARG(pf) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_fetch_integer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1151:5: note: in expansion of macro 'ASSERT_ARGS'
 1151 |     ASSERT_ARGS(PF_fetch_integer)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'stream' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:441:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  441 |     , PARROT_ASSERT_ARG(stream))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_fetch_integer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1151:5: note: in expansion of macro 'ASSERT_ARGS'
 1151 |     ASSERT_ARGS(PF_fetch_integer)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_store_integer':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:466:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  466 |        PARROT_ASSERT_ARG(cursor))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_store_integer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1185:5: note: in expansion of macro 'ASSERT_ARGS'
 1185 |     ASSERT_ARGS(PF_store_integer)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_fetch_number':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'stream' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:443:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  443 |        PARROT_ASSERT_ARG(stream))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_fetch_number'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1223:5: note: in expansion of macro 'ASSERT_ARGS'
 1223 |     ASSERT_ARGS(PF_fetch_number)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_store_number':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:468:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  468 |        PARROT_ASSERT_ARG(cursor) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_store_number'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1279:5: note: in expansion of macro 'ASSERT_ARGS'
 1279 |     ASSERT_ARGS(PF_store_number)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'val' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:469:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  469 |     , PARROT_ASSERT_ARG(val))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_store_number'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1279:5: note: in expansion of macro 'ASSERT_ARGS'
 1279 |     ASSERT_ARGS(PF_store_number)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_fetch_buf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:433:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  433 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_fetch_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1332:5: note: in expansion of macro 'ASSERT_ARGS'
 1332 |     ASSERT_ARGS(PF_fetch_buf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:434:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  434 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_fetch_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1332:5: note: in expansion of macro 'ASSERT_ARGS'
 1332 |     ASSERT_ARGS(PF_fetch_buf)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_store_buf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:460:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  460 |        PARROT_ASSERT_ARG(cursor) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_store_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1360:5: note: in expansion of macro 'ASSERT_ARGS'
 1360 |     ASSERT_ARGS(PF_store_buf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:461:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  461 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_store_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1360:5: note: in expansion of macro 'ASSERT_ARGS'
 1360 |     ASSERT_ARGS(PF_store_buf)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_fetch_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:447:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  447 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_fetch_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1429:5: note: in expansion of macro 'ASSERT_ARGS'
 1429 |     ASSERT_ARGS(PF_fetch_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:448:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  448 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_fetch_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1429:5: note: in expansion of macro 'ASSERT_ARGS'
 1429 |     ASSERT_ARGS(PF_fetch_string)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_store_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:473:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  473 |        PARROT_ASSERT_ARG(cursor) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_store_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1481:5: note: in expansion of macro 'ASSERT_ARGS'
 1481 |     ASSERT_ARGS(PF_store_string)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/packfile/pf_items.c:34:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/packfile/pf_items.c:1489:9: note: in expansion of macro 'STRING_IS_NULL'
 1489 |     if (STRING_IS_NULL(s)) {
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/pf_items.c:34:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:474:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  474 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_store_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1481:5: note: in expansion of macro 'ASSERT_ARGS'
 1481 |     ASSERT_ARGS(PF_store_string)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/packfile/pf_items.c:34:
src/packfile/pf_items.c: In function 'PF_size_buf':
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/packfile/pf_items.c:1398:9: note: in expansion of macro 'STRING_IS_NULL'
 1398 |     if (STRING_IS_NULL(s))
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/pf_items.c:34:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:450:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  450 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_size_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1397:5: note: in expansion of macro 'ASSERT_ARGS'
 1397 |     ASSERT_ARGS(PF_size_buf)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/packfile/pf_items.c:34:
src/packfile/pf_items.c: In function 'PF_size_string':
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/packfile/pf_items.c:1545:9: note: in expansion of macro 'STRING_IS_NULL'
 1545 |     if (STRING_IS_NULL(s))
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/pf_items.c:34:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:457:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  457 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_size_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1542:5: note: in expansion of macro 'ASSERT_ARGS'
 1542 |     ASSERT_ARGS(PF_size_string)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_fetch_cstring':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:436:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  436 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_fetch_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1593:5: note: in expansion of macro 'ASSERT_ARGS'
 1593 |     ASSERT_ARGS(PF_fetch_cstring)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:437:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  437 |     , PARROT_ASSERT_ARG(pf) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_fetch_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1593:5: note: in expansion of macro 'ASSERT_ARGS'
 1593 |     ASSERT_ARGS(PF_fetch_cstring)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:438:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  438 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_fetch_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1593:5: note: in expansion of macro 'ASSERT_ARGS'
 1593 |     ASSERT_ARGS(PF_fetch_cstring)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_size_cstring':
./include/parrot/exceptions.h:299:44: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  299 | #  define PARROT_ASSERT(x) (x) ? ((void)0) : Parrot_confess(#x, __FILE__, __LINE__)
      |                            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:1646:5: note: in expansion of macro 'PARROT_ASSERT'
 1646 |     PARROT_ASSERT(s);
      |     ^~~~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:452:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  452 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_size_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1643:5: note: in expansion of macro 'ASSERT_ARGS'
 1643 |     ASSERT_ARGS(PF_size_cstring)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PF_store_cstring':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:463:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  463 |        PARROT_ASSERT_ARG(cursor) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_store_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1618:5: note: in expansion of macro 'ASSERT_ARGS'
 1618 |     ASSERT_ARGS(PF_store_cstring)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:464:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  464 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PF_store_cstring'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1618:5: note: in expansion of macro 'ASSERT_ARGS'
 1618 |     ASSERT_ARGS(PF_store_cstring)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'PackFile_assign_transforms':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:431:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  431 |        PARROT_ASSERT_ARG(pf))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_assign_transforms'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1664:5: note: in expansion of macro 'ASSERT_ARGS'
 1664 |     ASSERT_ARGS(PackFile_assign_transforms)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_op_be_8':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/pf_items.c:334:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  334 |        PARROT_ASSERT_ARG(b))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_op_be_8'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:981:5: note: in expansion of macro 'ASSERT_ARGS'
  981 |     ASSERT_ARGS(fetch_op_be_8)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_buf_be_4':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:308:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  308 |        PARROT_ASSERT_ARG(rb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_be_4'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2045:5: note: in expansion of macro 'ASSERT_ARGS'
 2045 |     ASSERT_ARGS(fetch_buf_be_4)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:309:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  309 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_be_4'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2045:5: note: in expansion of macro 'ASSERT_ARGS'
 2045 |     ASSERT_ARGS(fetch_buf_be_4)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_op_be_4':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/pf_items.c:332:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  332 |        PARROT_ASSERT_ARG(b))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_op_be_4'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:946:5: note: in expansion of macro 'ASSERT_ARGS'
  946 |     ASSERT_ARGS(fetch_op_be_4)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_buf_le_4':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:323:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  323 |        PARROT_ASSERT_ARG(rb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_le_4'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2070:5: note: in expansion of macro 'ASSERT_ARGS'
 2070 |     ASSERT_ARGS(fetch_buf_le_4)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:324:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  324 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_le_4'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2070:5: note: in expansion of macro 'ASSERT_ARGS'
 2070 |     ASSERT_ARGS(fetch_buf_le_4)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_op_le_4':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/pf_items.c:337:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  337 |        PARROT_ASSERT_ARG(b))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_op_le_4'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1012:5: note: in expansion of macro 'ASSERT_ARGS'
 1012 |     ASSERT_ARGS(fetch_op_le_4)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_buf_le_8':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:326:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  326 |        PARROT_ASSERT_ARG(rb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_le_8'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2124:5: note: in expansion of macro 'ASSERT_ARGS'
 2124 |     ASSERT_ARGS(fetch_buf_le_8)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:327:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  327 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_le_8'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2124:5: note: in expansion of macro 'ASSERT_ARGS'
 2124 |     ASSERT_ARGS(fetch_buf_le_8)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_op_le_8':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/pf_items.c:339:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  339 |        PARROT_ASSERT_ARG(b))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_op_le_8'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:1048:5: note: in expansion of macro 'ASSERT_ARGS'
 1048 |     ASSERT_ARGS(fetch_op_le_8)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_buf_le_12':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:314:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  314 |        PARROT_ASSERT_ARG(rb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_le_12'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2153:5: note: in expansion of macro 'ASSERT_ARGS'
 2153 |     ASSERT_ARGS(fetch_buf_le_12)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:315:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  315 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_le_12'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2153:5: note: in expansion of macro 'ASSERT_ARGS'
 2153 |     ASSERT_ARGS(fetch_buf_le_12)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_buf_be_12':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:299:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  299 |        PARROT_ASSERT_ARG(rb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_be_12'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2186:5: note: in expansion of macro 'ASSERT_ARGS'
 2186 |     ASSERT_ARGS(fetch_buf_be_12)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:300:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  300 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_be_12'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2186:5: note: in expansion of macro 'ASSERT_ARGS'
 2186 |     ASSERT_ARGS(fetch_buf_be_12)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_buf_le_16':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:317:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  317 |        PARROT_ASSERT_ARG(rb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_le_16'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2219:5: note: in expansion of macro 'ASSERT_ARGS'
 2219 |     ASSERT_ARGS(fetch_buf_le_16)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:318:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  318 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_le_16'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2219:5: note: in expansion of macro 'ASSERT_ARGS'
 2219 |     ASSERT_ARGS(fetch_buf_le_16)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_buf_be_16':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:302:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  302 |        PARROT_ASSERT_ARG(rb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_be_16'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2256:5: note: in expansion of macro 'ASSERT_ARGS'
 2256 |     ASSERT_ARGS(fetch_buf_be_16)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:303:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  303 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_be_16'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2256:5: note: in expansion of macro 'ASSERT_ARGS'
 2256 |     ASSERT_ARGS(fetch_buf_be_16)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'cvt_num16_num8_be':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:278:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  278 |        PARROT_ASSERT_ARG(dest) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_cvt_num16_num8_be'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:805:5: note: in expansion of macro 'ASSERT_ARGS'
  805 |     ASSERT_ARGS(cvt_num16_num8_be)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:279:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  279 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_cvt_num16_num8_be'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:805:5: note: in expansion of macro 'ASSERT_ARGS'
  805 |     ASSERT_ARGS(cvt_num16_num8_be)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_buf_le_32':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:320:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  320 |        PARROT_ASSERT_ARG(rb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_le_32'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2293:5: note: in expansion of macro 'ASSERT_ARGS'
 2293 |     ASSERT_ARGS(fetch_buf_le_32)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:321:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  321 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_le_32'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2293:5: note: in expansion of macro 'ASSERT_ARGS'
 2293 |     ASSERT_ARGS(fetch_buf_le_32)
      |     ^~~~~~~~~~~
src/packfile/pf_items.c: In function 'fetch_buf_be_32':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:305:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  305 |        PARROT_ASSERT_ARG(rb) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_be_32'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2346:5: note: in expansion of macro 'ASSERT_ARGS'
 2346 |     ASSERT_ARGS(fetch_buf_be_32)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/pf_items.c:306:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  306 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fetch_buf_be_32'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/pf_items.c:2346:5: note: in expansion of macro 'ASSERT_ARGS'
 2346 |     ASSERT_ARGS(fetch_buf_be_32)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/packfile/. -Isrc -o src/packfile/segments.o -c src/packfile/segments.c
In file included from ./include/parrot/parrot.h:261,
                 from src/packfile/segments.c:18:
src/packfile/segments.c: In function 'annotations_packed_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:295:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  295 |        PARROT_ASSERT_ARG(seg))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_annotations_packed_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:858:5: note: in expansion of macro 'ASSERT_ARGS'
  858 |     ASSERT_ARGS(annotations_packed_size)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'annotations_pack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:292:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  292 |        PARROT_ASSERT_ARG(seg) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_annotations_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:881:5: note: in expansion of macro 'ASSERT_ARGS'
  881 |     ASSERT_ARGS(annotations_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:293:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  293 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_annotations_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:881:5: note: in expansion of macro 'ASSERT_ARGS'
  881 |     ASSERT_ARGS(annotations_pack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'pf_debug_packed_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:379:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  379 |        PARROT_ASSERT_ARG(self))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_debug_packed_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2475:5: note: in expansion of macro 'ASSERT_ARGS'
 2475 |     ASSERT_ARGS(pf_debug_packed_size)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'annotations_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:284:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  284 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_annotations_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:830:5: note: in expansion of macro 'ASSERT_ARGS'
  830 |     ASSERT_ARGS(annotations_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:285:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  285 |     , PARROT_ASSERT_ARG(seg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_annotations_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:830:5: note: in expansion of macro 'ASSERT_ARGS'
  830 |     ASSERT_ARGS(annotations_destroy)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'byte_code_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:301:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  301 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_byte_code_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2121:5: note: in expansion of macro 'ASSERT_ARGS'
 2121 |     ASSERT_ARGS(byte_code_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:302:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  302 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_byte_code_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2121:5: note: in expansion of macro 'ASSERT_ARGS'
 2121 |     ASSERT_ARGS(byte_code_destroy)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'pf_debug_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:367:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  367 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_debug_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2426:5: note: in expansion of macro 'ASSERT_ARGS'
 2426 |     ASSERT_ARGS(pf_debug_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:368:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  368 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_debug_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2426:5: note: in expansion of macro 'ASSERT_ARGS'
 2426 |     ASSERT_ARGS(pf_debug_destroy)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'const_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:321:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  321 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_const_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:737:5: note: in expansion of macro 'ASSERT_ARGS'
  737 |     ASSERT_ARGS(const_new)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'annotations_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:290:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  290 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_annotations_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:809:5: note: in expansion of macro 'ASSERT_ARGS'
  809 |     ASSERT_ARGS(annotations_new)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'directory_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:352:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  352 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_directory_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1568:5: note: in expansion of macro 'ASSERT_ARGS'
 1568 |     ASSERT_ARGS(directory_new)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'segment_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:391:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  391 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_segment_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1991:5: note: in expansion of macro 'ASSERT_ARGS'
 1991 |     ASSERT_ARGS(segment_new)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'byte_code_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:304:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  304 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_byte_code_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2171:5: note: in expansion of macro 'ASSERT_ARGS'
 2171 |     ASSERT_ARGS(byte_code_new)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'pf_debug_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:373:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  373 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_debug_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2451:5: note: in expansion of macro 'ASSERT_ARGS'
 2451 |     ASSERT_ARGS(pf_debug_new)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'pf_debug_pack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:375:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  375 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_debug_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2498:5: note: in expansion of macro 'ASSERT_ARGS'
 2498 |     ASSERT_ARGS(pf_debug_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:376:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  376 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_debug_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2498:5: note: in expansion of macro 'ASSERT_ARGS'
 2498 |     ASSERT_ARGS(pf_debug_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:377:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  377 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_debug_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2498:5: note: in expansion of macro 'ASSERT_ARGS'
 2498 |     ASSERT_ARGS(pf_debug_pack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'byte_code_packed_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:309:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  309 |        PARROT_ASSERT_ARG(self))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_byte_code_packed_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2195:5: note: in expansion of macro 'ASSERT_ARGS'
 2195 |     ASSERT_ARGS(byte_code_packed_size)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'byte_code_pack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:306:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  306 |        PARROT_ASSERT_ARG(self) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_byte_code_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2237:5: note: in expansion of macro 'ASSERT_ARGS'
 2237 |     ASSERT_ARGS(byte_code_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:307:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  307 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_byte_code_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2237:5: note: in expansion of macro 'ASSERT_ARGS'
 2237 |     ASSERT_ARGS(byte_code_pack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'byte_code_unpack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:311:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  311 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_byte_code_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2288:5: note: in expansion of macro 'ASSERT_ARGS'
 2288 |     ASSERT_ARGS(byte_code_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:312:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  312 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_byte_code_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2288:5: note: in expansion of macro 'ASSERT_ARGS'
 2288 |     ASSERT_ARGS(byte_code_unpack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'Parrot_pf_map_segments':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1428:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1428 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_map_segments'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:422:5: note: in expansion of macro 'ASSERT_ARGS'
  422 |     ASSERT_ARGS(Parrot_pf_map_segments)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dir' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1429:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1429 |     , PARROT_ASSERT_ARG(dir))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_map_segments'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:422:5: note: in expansion of macro 'ASSERT_ARGS'
  422 |     ASSERT_ARGS(Parrot_pf_map_segments)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'PackFile_map_segments':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1389:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1389 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_map_segments'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:453:5: note: in expansion of macro 'ASSERT_ARGS'
  453 |     ASSERT_ARGS(PackFile_map_segments)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dir' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1390:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1390 |     , PARROT_ASSERT_ARG(dir))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_map_segments'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:453:5: note: in expansion of macro 'ASSERT_ARGS'
  453 |     ASSERT_ARGS(PackFile_map_segments)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'Parrot_pf_add_segment':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1415:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1415 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_add_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:474:5: note: in expansion of macro 'ASSERT_ARGS'
  474 |     ASSERT_ARGS(Parrot_pf_add_segment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dir' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1416:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1416 |     , PARROT_ASSERT_ARG(dir) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_add_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:474:5: note: in expansion of macro 'ASSERT_ARGS'
  474 |     ASSERT_ARGS(Parrot_pf_add_segment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1417:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1417 |     , PARROT_ASSERT_ARG(seg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_add_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:474:5: note: in expansion of macro 'ASSERT_ARGS'
  474 |     ASSERT_ARGS(Parrot_pf_add_segment)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'PackFile_add_segment':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1382:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1382 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_add_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:501:5: note: in expansion of macro 'ASSERT_ARGS'
  501 |     ASSERT_ARGS(PackFile_add_segment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dir' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1383:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1383 |     , PARROT_ASSERT_ARG(dir) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_add_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:501:5: note: in expansion of macro 'ASSERT_ARGS'
  501 |     ASSERT_ARGS(PackFile_add_segment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1384:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1384 |     , PARROT_ASSERT_ARG(seg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_add_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:501:5: note: in expansion of macro 'ASSERT_ARGS'
  501 |     ASSERT_ARGS(PackFile_add_segment)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'Parrot_pf_find_segment':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1425:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1425 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_find_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:525:5: note: in expansion of macro 'ASSERT_ARGS'
  525 |     ASSERT_ARGS(Parrot_pf_find_segment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1426:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1426 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_find_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:525:5: note: in expansion of macro 'ASSERT_ARGS'
  525 |     ASSERT_ARGS(Parrot_pf_find_segment)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'annotations_unpack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:297:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  297 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_annotations_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:916:5: note: in expansion of macro 'ASSERT_ARGS'
  916 |     ASSERT_ARGS(annotations_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:298:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  298 |     , PARROT_ASSERT_ARG(seg) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_annotations_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:916:5: note: in expansion of macro 'ASSERT_ARGS'
  916 |     ASSERT_ARGS(annotations_unpack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'pf_debug_unpack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:381:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  381 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_debug_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2537:5: note: in expansion of macro 'ASSERT_ARGS'
 2537 |     ASSERT_ARGS(pf_debug_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:382:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  382 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_debug_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2537:5: note: in expansion of macro 'ASSERT_ARGS'
 2537 |     ASSERT_ARGS(pf_debug_unpack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'PackFile_find_segment':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1386:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1386 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_find_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:575:5: note: in expansion of macro 'ASSERT_ARGS'
  575 |     ASSERT_ARGS(PackFile_find_segment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1387:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1387 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_find_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:575:5: note: in expansion of macro 'ASSERT_ARGS'
  575 |     ASSERT_ARGS(PackFile_find_segment)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'const_clear':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:315:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  315 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_const_clear'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:598:5: note: in expansion of macro 'ASSERT_ARGS'
  598 |     ASSERT_ARGS(const_clear)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:316:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  316 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_const_clear'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:598:5: note: in expansion of macro 'ASSERT_ARGS'
  598 |     ASSERT_ARGS(const_clear)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'const_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:318:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  318 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_const_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:758:5: note: in expansion of macro 'ASSERT_ARGS'
  758 |     ASSERT_ARGS(const_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:319:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  319 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_const_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:758:5: note: in expansion of macro 'ASSERT_ARGS'
  758 |     ASSERT_ARGS(const_destroy)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'const_unpack_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:327:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  327 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_const_unpack_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:781:5: note: in expansion of macro 'ASSERT_ARGS'
  781 |     ASSERT_ARGS(const_unpack_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'constt' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:328:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  328 |     , PARROT_ASSERT_ARG(constt) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_const_unpack_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:781:5: note: in expansion of macro 'ASSERT_ARGS'
  781 |     ASSERT_ARGS(const_unpack_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:329:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  329 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_const_unpack_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:781:5: note: in expansion of macro 'ASSERT_ARGS'
  781 |     ASSERT_ARGS(const_unpack_pmc)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'const_unpack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:323:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  323 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_const_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:651:5: note: in expansion of macro 'ASSERT_ARGS'
  651 |     ASSERT_ARGS(const_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:324:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  324 |     , PARROT_ASSERT_ARG(seg) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_const_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:651:5: note: in expansion of macro 'ASSERT_ARGS'
  651 |     ASSERT_ARGS(const_unpack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'pf_register_funcs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:385:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  385 |        PARROT_ASSERT_ARG(pf))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_register_funcs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1019:5: note: in expansion of macro 'ASSERT_ARGS'
 1019 |     ASSERT_ARGS(pf_register_funcs)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'default_unpack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:342:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  342 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_default_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1040:5: note: in expansion of macro 'ASSERT_ARGS'
 1040 |     ASSERT_ARGS(default_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:343:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  343 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_default_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1040:5: note: in expansion of macro 'ASSERT_ARGS'
 1040 |     ASSERT_ARGS(default_unpack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'default_dump_header':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1435:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1435 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_default_dump_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1096:5: note: in expansion of macro 'ASSERT_ARGS'
 1096 |     ASSERT_ARGS(default_dump_header)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1436:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1436 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_default_dump_header'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1096:5: note: in expansion of macro 'ASSERT_ARGS'
 1096 |     ASSERT_ARGS(default_dump_header)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'annotations_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:287:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  287 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_annotations_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:969:5: note: in expansion of macro 'ASSERT_ARGS'
  969 |     ASSERT_ARGS(annotations_dump)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:288:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  288 |     , PARROT_ASSERT_ARG(seg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_annotations_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:969:5: note: in expansion of macro 'ASSERT_ARGS'
  969 |     ASSERT_ARGS(annotations_dump)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'default_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:334:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  334 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_default_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1118:5: note: in expansion of macro 'ASSERT_ARGS'
 1118 |     ASSERT_ARGS(default_dump)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:335:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  335 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_default_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1118:5: note: in expansion of macro 'ASSERT_ARGS'
 1118 |     ASSERT_ARGS(default_dump)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'pf_debug_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:370:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  370 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_debug_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2594:5: note: in expansion of macro 'ASSERT_ARGS'
 2594 |     ASSERT_ARGS(pf_debug_dump)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:371:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  371 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_debug_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2594:5: note: in expansion of macro 'ASSERT_ARGS'
 2594 |     ASSERT_ARGS(pf_debug_dump)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'pf_register_standard_funcs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:1438:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1438 |        PARROT_ASSERT_ARG(pf))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_register_standard_funcs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1153:5: note: in expansion of macro 'ASSERT_ARGS'
 1153 |     ASSERT_ARGS(pf_register_standard_funcs)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'pf_segment_unpack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1447:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1447 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_segment_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1463:5: note: in expansion of macro 'ASSERT_ARGS'
 1463 |     ASSERT_ARGS(pf_segment_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1448:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1448 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_segment_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1463:5: note: in expansion of macro 'ASSERT_ARGS'
 1463 |     ASSERT_ARGS(pf_segment_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1449:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1449 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_segment_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1463:5: note: in expansion of macro 'ASSERT_ARGS'
 1463 |     ASSERT_ARGS(pf_segment_unpack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'PackFile_Segment_unpack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1411:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1411 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1503:5: note: in expansion of macro 'ASSERT_ARGS'
 1503 |     ASSERT_ARGS(PackFile_Segment_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1412:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1412 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1503:5: note: in expansion of macro 'ASSERT_ARGS'
 1503 |     ASSERT_ARGS(PackFile_Segment_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1413:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1413 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1503:5: note: in expansion of macro 'ASSERT_ARGS'
 1503 |     ASSERT_ARGS(PackFile_Segment_unpack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'Parrot_pf_dump_segment':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1422:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1422 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_dump_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1522:5: note: in expansion of macro 'ASSERT_ARGS'
 1522 |     ASSERT_ARGS(Parrot_pf_dump_segment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1423:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1423 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_dump_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1522:5: note: in expansion of macro 'ASSERT_ARGS'
 1522 |     ASSERT_ARGS(Parrot_pf_dump_segment)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'directory_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:349:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  349 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_directory_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1587:5: note: in expansion of macro 'ASSERT_ARGS'
 1587 |     ASSERT_ARGS(directory_dump)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:350:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  350 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_directory_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1587:5: note: in expansion of macro 'ASSERT_ARGS'
 1587 |     ASSERT_ARGS(directory_dump)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'PackFile_Segment_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1395:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1395 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1543:5: note: in expansion of macro 'ASSERT_ARGS'
 1543 |     ASSERT_ARGS(PackFile_Segment_dump)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1396:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1396 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1543:5: note: in expansion of macro 'ASSERT_ARGS'
 1543 |     ASSERT_ARGS(PackFile_Segment_dump)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'sort_segs':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dir' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:393:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  393 |        PARROT_ASSERT_ARG(dir))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sort_segs'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1794:5: note: in expansion of macro 'ASSERT_ARGS'
 1794 |     ASSERT_ARGS(sort_segs)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'segment_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:387:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  387 |        PARROT_ASSERT_ARG(self) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_segment_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1963:5: note: in expansion of macro 'ASSERT_ARGS'
 1963 |     ASSERT_ARGS(segment_init)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:388:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  388 |     , PARROT_ASSERT_ARG(pf) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_segment_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1963:5: note: in expansion of macro 'ASSERT_ARGS'
 1963 |     ASSERT_ARGS(segment_init)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:389:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  389 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_segment_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1963:5: note: in expansion of macro 'ASSERT_ARGS'
 1963 |     ASSERT_ARGS(segment_init)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'Parrot_pf_new_segment':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1431:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1431 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_new_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1245:5: note: in expansion of macro 'ASSERT_ARGS'
 1245 |     ASSERT_ARGS(Parrot_pf_new_segment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dir' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1432:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1432 |     , PARROT_ASSERT_ARG(dir) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_new_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1245:5: note: in expansion of macro 'ASSERT_ARGS'
 1245 |     ASSERT_ARGS(Parrot_pf_new_segment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1433:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1433 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_new_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1245:5: note: in expansion of macro 'ASSERT_ARGS'
 1245 |     ASSERT_ARGS(Parrot_pf_new_segment)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'PackFile_Segment_new_seg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1400:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1400 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_new_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1278:5: note: in expansion of macro 'ASSERT_ARGS'
 1278 |     ASSERT_ARGS(PackFile_Segment_new_seg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dir' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1401:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1401 |     , PARROT_ASSERT_ARG(dir) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_new_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1278:5: note: in expansion of macro 'ASSERT_ARGS'
 1278 |     ASSERT_ARGS(PackFile_Segment_new_seg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1402:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1402 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_new_seg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1278:5: note: in expansion of macro 'ASSERT_ARGS'
 1278 |     ASSERT_ARGS(PackFile_Segment_new_seg)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'PackFile_Segment_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/packfile.h:1398:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1398 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2016:5: note: in expansion of macro 'ASSERT_ARGS'
 2016 |     ASSERT_ARGS(PackFile_Segment_new)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'default_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:331:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  331 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_default_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2044:5: note: in expansion of macro 'ASSERT_ARGS'
 2044 |     ASSERT_ARGS(default_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:332:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  332 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_default_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2044:5: note: in expansion of macro 'ASSERT_ARGS'
 2044 |     ASSERT_ARGS(default_destroy)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'Parrot_pf_destroy_segment':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1419:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1419 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_destroy_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1296:5: note: in expansion of macro 'ASSERT_ARGS'
 1296 |     ASSERT_ARGS(Parrot_pf_destroy_segment)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1420:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1420 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_pf_destroy_segment'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1296:5: note: in expansion of macro 'ASSERT_ARGS'
 1296 |     ASSERT_ARGS(Parrot_pf_destroy_segment)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'PackFile_Segment_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1392:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1392 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1322:5: note: in expansion of macro 'ASSERT_ARGS'
 1322 |     ASSERT_ARGS(PackFile_Segment_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1393:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1393 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1322:5: note: in expansion of macro 'ASSERT_ARGS'
 1322 |     ASSERT_ARGS(PackFile_Segment_destroy)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'directory_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:346:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  346 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_directory_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1761:5: note: in expansion of macro 'ASSERT_ARGS'
 1761 |     ASSERT_ARGS(directory_destroy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:347:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  347 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_directory_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1761:5: note: in expansion of macro 'ASSERT_ARGS'
 1761 |     ASSERT_ARGS(directory_destroy)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'default_packed_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:340:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  340 |        PARROT_ASSERT_ARG(self))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_default_packed_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2069:5: note: in expansion of macro 'ASSERT_ARGS'
 2069 |     ASSERT_ARGS(default_packed_size)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'pf_segment_packed_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1444:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1444 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_segment_packed_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1340:5: note: in expansion of macro 'ASSERT_ARGS'
 1340 |     ASSERT_ARGS(pf_segment_packed_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1445:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1445 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_segment_packed_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1340:5: note: in expansion of macro 'ASSERT_ARGS'
 1340 |     ASSERT_ARGS(pf_segment_packed_size)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'PackFile_Segment_packed_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1408:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1408 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_packed_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1373:5: note: in expansion of macro 'ASSERT_ARGS'
 1373 |     ASSERT_ARGS(PackFile_Segment_packed_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1409:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1409 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_packed_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1373:5: note: in expansion of macro 'ASSERT_ARGS'
 1373 |     ASSERT_ARGS(PackFile_Segment_packed_size)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'directory_packed_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:358:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  358 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_directory_packed_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1850:5: note: in expansion of macro 'ASSERT_ARGS'
 1850 |     ASSERT_ARGS(directory_packed_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:359:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  359 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_directory_packed_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1850:5: note: in expansion of macro 'ASSERT_ARGS'
 1850 |     ASSERT_ARGS(directory_packed_size)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'default_pack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:337:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  337 |        PARROT_ASSERT_ARG(self) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_default_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2090:5: note: in expansion of macro 'ASSERT_ARGS'
 2090 |     ASSERT_ARGS(default_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:338:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  338 |     , PARROT_ASSERT_ARG(dest))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_default_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2090:5: note: in expansion of macro 'ASSERT_ARGS'
 2090 |     ASSERT_ARGS(default_pack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'pf_segment_pack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1440:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1440 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_segment_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1394:5: note: in expansion of macro 'ASSERT_ARGS'
 1394 |     ASSERT_ARGS(pf_segment_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1441:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1441 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_segment_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1394:5: note: in expansion of macro 'ASSERT_ARGS'
 1394 |     ASSERT_ARGS(pf_segment_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1442:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1442 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_segment_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1394:5: note: in expansion of macro 'ASSERT_ARGS'
 1394 |     ASSERT_ARGS(pf_segment_pack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'PackFile_Segment_pack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1404:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1404 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1437:5: note: in expansion of macro 'ASSERT_ARGS'
 1437 |     ASSERT_ARGS(PackFile_Segment_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1405:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1405 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1437:5: note: in expansion of macro 'ASSERT_ARGS'
 1437 |     ASSERT_ARGS(PackFile_Segment_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:1406:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1406 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_Segment_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1437:5: note: in expansion of macro 'ASSERT_ARGS'
 1437 |     ASSERT_ARGS(PackFile_Segment_pack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'directory_pack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:354:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  354 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_directory_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1903:5: note: in expansion of macro 'ASSERT_ARGS'
 1903 |     ASSERT_ARGS(directory_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:355:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  355 |     , PARROT_ASSERT_ARG(self) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_directory_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1903:5: note: in expansion of macro 'ASSERT_ARGS'
 1903 |     ASSERT_ARGS(directory_pack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cursor' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:356:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  356 |     , PARROT_ASSERT_ARG(cursor))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_directory_pack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1903:5: note: in expansion of macro 'ASSERT_ARGS'
 1903 |     ASSERT_ARGS(directory_pack)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'make_code_pointers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'seg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/packfile/segments.c:365:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  365 |        PARROT_ASSERT_ARG(seg))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_make_code_pointers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:2629:5: note: in expansion of macro 'ASSERT_ARGS'
 2629 |     ASSERT_ARGS(make_code_pointers)
      |     ^~~~~~~~~~~
src/packfile/segments.c: In function 'directory_unpack':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:361:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  361 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_directory_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1631:5: note: in expansion of macro 'ASSERT_ARGS'
 1631 |     ASSERT_ARGS(directory_unpack)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'segp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/packfile/segments.c:362:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  362 |     , PARROT_ASSERT_ARG(segp) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_directory_unpack'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/packfile/segments.c:1631:5: note: in expansion of macro 'ASSERT_ARGS'
 1631 |     ASSERT_ARGS(directory_unpack)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/longopt.o -c src/longopt.c
In file included from ./include/parrot/longopt.h:10,
                 from src/longopt.c:22:
src/longopt.c: In function 'longopt_get_longopt':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'argv' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/longopt.c:51:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   51 |        PARROT_ASSERT_ARG(argv) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_longopt_get_longopt'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/longopt.c:139:5: note: in expansion of macro 'ASSERT_ARGS'
  139 |     ASSERT_ARGS(longopt_get_longopt)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'options' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/longopt.c:52:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   52 |     , PARROT_ASSERT_ARG(options) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_longopt_get_longopt'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/longopt.c:139:5: note: in expansion of macro 'ASSERT_ARGS'
  139 |     ASSERT_ARGS(longopt_get_longopt)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'info_buf' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/longopt.c:53:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   53 |     , PARROT_ASSERT_ARG(info_buf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_longopt_get_longopt'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/longopt.c:139:5: note: in expansion of macro 'ASSERT_ARGS'
  139 |     ASSERT_ARGS(longopt_get_longopt)
      |     ^~~~~~~~~~~
src/longopt.c: In function 'longopt_get_shortopt':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'argv' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/longopt.c:55:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   55 |        PARROT_ASSERT_ARG(argv) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_longopt_get_shortopt'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/longopt.c:241:5: note: in expansion of macro 'ASSERT_ARGS'
  241 |     ASSERT_ARGS(longopt_get_shortopt)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'options' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/longopt.c:56:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   56 |     , PARROT_ASSERT_ARG(options) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_longopt_get_shortopt'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/longopt.c:241:5: note: in expansion of macro 'ASSERT_ARGS'
  241 |     ASSERT_ARGS(longopt_get_shortopt)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'info_buf' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/longopt.c:57:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   57 |     , PARROT_ASSERT_ARG(info_buf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_longopt_get_shortopt'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/longopt.c:241:5: note: in expansion of macro 'ASSERT_ARGS'
  241 |     ASSERT_ARGS(longopt_get_shortopt)
      |     ^~~~~~~~~~~
src/longopt.c: In function 'Parrot_longopt_get':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'argv' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/longopt.h:69:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   69 |        PARROT_ASSERT_ARG(argv) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_longopt_get'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/longopt.c:89:5: note: in expansion of macro 'ASSERT_ARGS'
   89 |     ASSERT_ARGS(Parrot_longopt_get)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'options' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/longopt.h:70:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   70 |     , PARROT_ASSERT_ARG(options) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_longopt_get'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/longopt.c:89:5: note: in expansion of macro 'ASSERT_ARGS'
   89 |     ASSERT_ARGS(Parrot_longopt_get)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'info_buf' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/longopt.h:71:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   71 |     , PARROT_ASSERT_ARG(info_buf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_longopt_get'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/longopt.c:89:5: note: in expansion of macro 'ASSERT_ARGS'
   89 |     ASSERT_ARGS(Parrot_longopt_get)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/io.o -c src/platform/generic/io.c
src/platform/generic/io.c: In function 'Parrot_io_internal_open':
src/platform/generic/io.c:159:29: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  159 |     Parrot_str_free_cstring((char*)spath);
      |                             ^
src/platform/generic/io.c: In function 'Parrot_io_internal_open_pipe':
src/platform/generic/io.c:483:45: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  483 |         *pid_out = Parrot_proc_exec(interp, (STRING*)command, PARROT_EXEC_STDOUT,
      |                                             ^
src/platform/generic/io.c:488:45: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  488 |         *pid_out = Parrot_proc_exec(interp, (STRING*)command, PARROT_EXEC_STDIN,
      |                                             ^
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/socket.o -c src/platform/generic/socket.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/file.o -c src/platform/generic/file.c
In file included from ./include/parrot/parrot.h:261,
                 from src/platform/generic/file.c:25:
src/platform/generic/file.c: In function 'convert_stat_buf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'stat_buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/platform/generic/file.c:51:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   51 |        PARROT_ASSERT_ARG(stat_buf) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_convert_stat_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/platform/generic/file.c:194:5: note: in expansion of macro 'ASSERT_ARGS'
  194 |     ASSERT_ARGS(convert_stat_buf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/platform/generic/file.c:52:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   52 |     , PARROT_ASSERT_ARG(buf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_convert_stat_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/platform/generic/file.c:194:5: note: in expansion of macro 'ASSERT_ARGS'
  194 |     ASSERT_ARGS(convert_stat_buf)
      |     ^~~~~~~~~~~
src/platform/generic/file.c: In function 'stat_intval':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/platform/generic/file.c:54:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   54 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_stat_intval'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/platform/generic/file.c:409:5: note: in expansion of macro 'ASSERT_ARGS'
  409 |     ASSERT_ARGS(stat_intval)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'statbuf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/platform/generic/file.c:55:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   55 |     , PARROT_ASSERT_ARG(statbuf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_stat_intval'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/platform/generic/file.c:409:5: note: in expansion of macro 'ASSERT_ARGS'
  409 |     ASSERT_ARGS(stat_intval)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/time.o -c src/platform/generic/time.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/encoding.o -c src/platform/generic/encoding.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/env.o -c src/platform/generic/env.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/cpu_type.o -c src/platform/generic/cpu_type.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/num_cpus.o -c src/platform/generic/num_cpus.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/dl.o -c src/platform/generic/dl.c
In file included from ./include/parrot/parrot.h:261,
                 from src/platform/generic/dl.c:23:
src/platform/generic/dl.c: In function 'find_handle_entry':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/platform/generic/dl.c:43:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   43 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_handle_entry'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/platform/generic/dl.c:97:5: note: in expansion of macro 'ASSERT_ARGS'
   97 |     ASSERT_ARGS(find_handle_entry)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/math.o -c src/platform/generic/math.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/itimer.o -c src/platform/generic/itimer.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/exec.o -c src/platform/generic/exec.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/misc.o -c src/platform/generic/misc.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/hires_timer.o -c src/platform/generic/hires_timer.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/sysmem.o -c src/platform/generic/sysmem.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/uid.o -c src/platform/generic/uid.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/error.o -c src/platform/generic/error.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/platform/generic/. -Isrc -o src/platform/generic/entropy.o -c src/platform/generic/entropy.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden \
  -Isrc/io/. -o src/io/api.o -c src/io/api.c
src/io/api.c: In function 'Parrot_io_eof':
src/io/api.c:1263:37: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
 1263 |     if (Parrot_io_is_closed(interp, (PMC*)handle))
      |                                     ^
In file included from ./include/parrot/parrot.h:259,
                 from src/io/api.c:21:
src/io/api.c:1266:63: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
 1266 |         IO_BUFFER * const buffer = IO_GET_READ_BUFFER(interp, (PMC*)handle);
      |                                                               ^
./include/parrot/vtable.h:524:6: note: in definition of macro 'VTABLE_get_pointer_keyed_int'
  524 |     (pmc)->vtable->get_pointer_keyed_int(interp, pmc, key)
      |      ^~~
src/io/api.c:1266:36: note: in expansion of macro 'IO_GET_READ_BUFFER'
 1266 |         IO_BUFFER * const buffer = IO_GET_READ_BUFFER(interp, (PMC*)handle);
      |                                    ^~~~~~~~~~~~~~~~~~
src/io/api.c:1266:63: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
 1266 |         IO_BUFFER * const buffer = IO_GET_READ_BUFFER(interp, (PMC*)handle);
      |                                                               ^
./include/parrot/vtable.h:524:50: note: in definition of macro 'VTABLE_get_pointer_keyed_int'
  524 |     (pmc)->vtable->get_pointer_keyed_int(interp, pmc, key)
      |                                                  ^~~
src/io/api.c:1266:36: note: in expansion of macro 'IO_GET_READ_BUFFER'
 1266 |         IO_BUFFER * const buffer = IO_GET_READ_BUFFER(interp, (PMC*)handle);
      |                                    ^~~~~~~~~~~~~~~~~~
src/io/api.c:1267:64: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
 1267 |         const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                                                ^
./include/parrot/vtable.h:524:6: note: in definition of macro 'VTABLE_get_pointer_keyed_int'
  524 |     (pmc)->vtable->get_pointer_keyed_int(interp, pmc, key)
      |      ^~~
src/io/api.c:1267:42: note: in expansion of macro 'IO_GET_VTABLE'
 1267 |         const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                          ^~~~~~~~~~~~~
src/io/api.c:1267:64: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
 1267 |         const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                                                ^
./include/parrot/vtable.h:524:50: note: in definition of macro 'VTABLE_get_pointer_keyed_int'
  524 |     (pmc)->vtable->get_pointer_keyed_int(interp, pmc, key)
      |                                                  ^~~
src/io/api.c:1267:42: note: in expansion of macro 'IO_GET_VTABLE'
 1267 |         const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                          ^~~~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_puts':
src/io/api.c:1291:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
 1291 |     return Parrot_io_write_b(interp, (PMC*)pmc, s, strlen(s));
      |                                      ^
src/io/api.c: In function 'Parrot_io_putps':
src/io/api.c:1311:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
 1311 |     return Parrot_io_write_s(interp, (PMC*)pmc, s);
      |                                      ^
src/io/api.c: In function 'Parrot_io_fprintf':
src/io/api.c:1338:41: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
 1338 |         ret = Parrot_io_write_s(interp, (PMC*)pmc, str);
      |                                         ^
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
src/io/api.c: In function 'io_setup_vtables':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:880:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  880 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_setup_vtables'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:109:5: note: in expansion of macro 'ASSERT_ARGS'
  109 |     ASSERT_ARGS(io_setup_vtables)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_allocate_new_vtable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:882:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  882 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_allocate_new_vtable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:144:5: note: in expansion of macro 'ASSERT_ARGS'
  144 |     ASSERT_ARGS(Parrot_io_allocate_new_vtable)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:883:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  883 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_allocate_new_vtable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:144:5: note: in expansion of macro 'ASSERT_ARGS'
  144 |     ASSERT_ARGS(Parrot_io_allocate_new_vtable)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_get_vtable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:756:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  756 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_get_vtable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:163:5: note: in expansion of macro 'ASSERT_ARGS'
  163 |     ASSERT_ARGS(Parrot_io_get_vtable)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_mark':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:903:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  903 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:225:5: note: in expansion of macro 'ASSERT_ARGS'
  225 |     ASSERT_ARGS(Parrot_io_mark)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'piodata' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:904:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  904 |     , PARROT_ASSERT_ARG(piodata))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_mark'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:225:5: note: in expansion of macro 'ASSERT_ARGS'
  225 |     ASSERT_ARGS(Parrot_io_mark)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_stdhandle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:860:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  860 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_stdhandle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:266:5: note: in expansion of macro 'ASSERT_ARGS'
  266 |     ASSERT_ARGS(Parrot_io_stdhandle)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_open':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:777:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  777 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:317:5: note: in expansion of macro 'ASSERT_ARGS'
  317 |     ASSERT_ARGS(Parrot_io_open)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:322:9: note: in expansion of macro 'PMC_IS_NULL'
  322 |     if (PMC_IS_NULL(pmc))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:778:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  778 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:317:5: note: in expansion of macro 'ASSERT_ARGS'
  317 |     ASSERT_ARGS(Parrot_io_open)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/io/api.c:330:60: note: in expansion of macro 'STRING_IS_NULL'
  330 |     if ((vtable->flags & PIO_VF_PATH_NOT_REQUIRED) == 0 && STRING_IS_NULL(path))
      |                                                            ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:779:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  779 |     , PARROT_ASSERT_ARG(path) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:317:5: note: in expansion of macro 'ASSERT_ARGS'
  317 |     ASSERT_ARGS(Parrot_io_open)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 'mode' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/io/api.c:335:9: note: in expansion of macro 'STRING_IS_NULL'
  335 |     if (STRING_IS_NULL(mode))
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mode' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:780:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  780 |     , PARROT_ASSERT_ARG(mode))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:317:5: note: in expansion of macro 'ASSERT_ARGS'
  317 |     ASSERT_ARGS(Parrot_io_open)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_open_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:782:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  782 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_open_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:305:5: note: in expansion of macro 'ASSERT_ARGS'
  305 |     ASSERT_ARGS(Parrot_io_open_handle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:783:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  783 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_open_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:305:5: note: in expansion of macro 'ASSERT_ARGS'
  305 |     ASSERT_ARGS(Parrot_io_open_handle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:784:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  784 |     , PARROT_ASSERT_ARG(path) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_open_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:305:5: note: in expansion of macro 'ASSERT_ARGS'
  305 |     ASSERT_ARGS(Parrot_io_open_handle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mode' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:785:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  785 |     , PARROT_ASSERT_ARG(mode))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_open_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:305:5: note: in expansion of macro 'ASSERT_ARGS'
  305 |     ASSERT_ARGS(Parrot_io_open_handle)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_socket':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:836:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  836 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:399:5: note: in expansion of macro 'ASSERT_ARGS'
  399 |     ASSERT_ARGS(Parrot_io_socket)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_socket_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:849:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  849 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:385:5: note: in expansion of macro 'ASSERT_ARGS'
  385 |     ASSERT_ARGS(Parrot_io_socket_handle)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_fdopen_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:741:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  741 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_fdopen_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:470:5: note: in expansion of macro 'ASSERT_ARGS'
  470 |     ASSERT_ARGS(Parrot_io_fdopen_flags)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'filehandle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:481:9: note: in expansion of macro 'PMC_IS_NULL'
  481 |     if (PMC_IS_NULL(filehandle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'filehandle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:742:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  742 |     , PARROT_ASSERT_ARG(filehandle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_fdopen_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:470:5: note: in expansion of macro 'ASSERT_ARGS'
  470 |     ASSERT_ARGS(Parrot_io_fdopen_flags)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_fdopen':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:737:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  737 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_fdopen'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:443:5: note: in expansion of macro 'ASSERT_ARGS'
  443 |     ASSERT_ARGS(Parrot_io_fdopen)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:738:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  738 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_fdopen'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:443:5: note: in expansion of macro 'ASSERT_ARGS'
  443 |     ASSERT_ARGS(Parrot_io_fdopen)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sflags' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:739:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  739 |     , PARROT_ASSERT_ARG(sflags))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_fdopen'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:443:5: note: in expansion of macro 'ASSERT_ARGS'
  443 |     ASSERT_ARGS(Parrot_io_fdopen)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_socket_initialize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'socket' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:851:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  851 |        PARROT_ASSERT_ARG(socket))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_initialize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:511:5: note: in expansion of macro 'ASSERT_ARGS'
  511 |     ASSERT_ARGS(Parrot_io_socket_initialize)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_close':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:726:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  726 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_close'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:549:5: note: in expansion of macro 'ASSERT_ARGS'
  549 |     ASSERT_ARGS(Parrot_io_close)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:550:9: note: in expansion of macro 'PMC_IS_NULL'
  550 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:727:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  727 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_close'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:549:5: note: in expansion of macro 'ASSERT_ARGS'
  549 |     ASSERT_ARGS(Parrot_io_close)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_close_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:729:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  729 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_close_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:541:5: note: in expansion of macro 'ASSERT_ARGS'
  541 |     ASSERT_ARGS(Parrot_io_close_handle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:730:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  730 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_close_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:541:5: note: in expansion of macro 'ASSERT_ARGS'
  541 |     ASSERT_ARGS(Parrot_io_close_handle)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_is_closed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:769:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  769 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_is_closed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:588:5: note: in expansion of macro 'ASSERT_ARGS'
  588 |     ASSERT_ARGS(Parrot_io_is_closed)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:590:9: note: in expansion of macro 'PMC_IS_NULL'
  590 |     if (PMC_IS_NULL(pmc))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:770:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  770 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_is_closed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:588:5: note: in expansion of macro 'ASSERT_ARGS'
  588 |     ASSERT_ARGS(Parrot_io_is_closed)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_flush':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:746:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  746 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:628:5: note: in expansion of macro 'ASSERT_ARGS'
  628 |     ASSERT_ARGS(Parrot_io_flush)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:630:9: note: in expansion of macro 'PMC_IS_NULL'
  630 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:747:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  747 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:628:5: note: in expansion of macro 'ASSERT_ARGS'
  628 |     ASSERT_ARGS(Parrot_io_flush)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_finish':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:744:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  744 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_finish'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:198:5: note: in expansion of macro 'ASSERT_ARGS'
  198 |     ASSERT_ARGS(Parrot_io_finish)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_flush_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:749:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  749 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_flush_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:620:5: note: in expansion of macro 'ASSERT_ARGS'
  620 |     ASSERT_ARGS(Parrot_io_flush_handle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:750:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  750 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_flush_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:620:5: note: in expansion of macro 'ASSERT_ARGS'
  620 |     ASSERT_ARGS(Parrot_io_flush_handle)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_read_s':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:811:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  811 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_read_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:691:5: note: in expansion of macro 'ASSERT_ARGS'
  691 |     ASSERT_ARGS(Parrot_io_read_s)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:693:9: note: in expansion of macro 'PMC_IS_NULL'
  693 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:812:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  812 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_read_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:691:5: note: in expansion of macro 'ASSERT_ARGS'
  691 |     ASSERT_ARGS(Parrot_io_read_s)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_reads':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:824:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  824 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_reads'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:681:5: note: in expansion of macro 'ASSERT_ARGS'
  681 |     ASSERT_ARGS(Parrot_io_reads)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:825:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  825 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_reads'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:681:5: note: in expansion of macro 'ASSERT_ARGS'
  681 |     ASSERT_ARGS(Parrot_io_reads)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_recv_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:827:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  827 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_recv_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:731:5: note: in expansion of macro 'ASSERT_ARGS'
  731 |     ASSERT_ARGS(Parrot_io_recv_handle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:828:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  828 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_recv_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:731:5: note: in expansion of macro 'ASSERT_ARGS'
  731 |     ASSERT_ARGS(Parrot_io_recv_handle)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_read_byte_buffer_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:808:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  808 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_read_byte_buffer_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:829:5: note: in expansion of macro 'ASSERT_ARGS'
  829 |     ASSERT_ARGS(Parrot_io_read_byte_buffer_pmc)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:831:9: note: in expansion of macro 'PMC_IS_NULL'
  831 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:809:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  809 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_read_byte_buffer_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:829:5: note: in expansion of macro 'ASSERT_ARGS'
  829 |     ASSERT_ARGS(Parrot_io_read_byte_buffer_pmc)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_readline_s':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:820:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  820 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_readline_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:947:5: note: in expansion of macro 'ASSERT_ARGS'
  947 |     ASSERT_ARGS(Parrot_io_readline_s)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:949:9: note: in expansion of macro 'PMC_IS_NULL'
  949 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:821:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  821 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_readline_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:947:5: note: in expansion of macro 'ASSERT_ARGS'
  947 |     ASSERT_ARGS(Parrot_io_readline_s)
      |     ^~~~~~~~~~~
src/io/api.c:953:36: warning: 'nonnull' argument 'terminator' compared to NULL [-Wnonnull-compare]
  953 |     if (STRING_IS_NULL(terminator) || STRING_length(terminator) == 0)
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 'terminator' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/io/api.c:953:9: note: in expansion of macro 'STRING_IS_NULL'
  953 |     if (STRING_IS_NULL(terminator) || STRING_length(terminator) == 0)
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'terminator' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:822:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  822 |     , PARROT_ASSERT_ARG(terminator))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_readline_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:947:5: note: in expansion of macro 'ASSERT_ARGS'
  947 |     ASSERT_ARGS(Parrot_io_readline_s)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_readline':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:817:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  817 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_readline'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:933:5: note: in expansion of macro 'ASSERT_ARGS'
  933 |     ASSERT_ARGS(Parrot_io_readline)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:818:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  818 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_readline'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:933:5: note: in expansion of macro 'ASSERT_ARGS'
  933 |     ASSERT_ARGS(Parrot_io_readline)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_write_b':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:872:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  872 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1005:5: note: in expansion of macro 'ASSERT_ARGS'
 1005 |     ASSERT_ARGS(Parrot_io_write_b)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:1007:9: note: in expansion of macro 'PMC_IS_NULL'
 1007 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:873:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  873 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1005:5: note: in expansion of macro 'ASSERT_ARGS'
 1005 |     ASSERT_ARGS(Parrot_io_write_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:874:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  874 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1005:5: note: in expansion of macro 'ASSERT_ARGS'
 1005 |     ASSERT_ARGS(Parrot_io_write_b)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_write_byte_buffer_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:918:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  918 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_write_byte_buffer_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:886:5: note: in expansion of macro 'ASSERT_ARGS'
  886 |     ASSERT_ARGS(Parrot_io_write_byte_buffer_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:919:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  919 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_write_byte_buffer_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:886:5: note: in expansion of macro 'ASSERT_ARGS'
  886 |     ASSERT_ARGS(Parrot_io_write_byte_buffer_pmc)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:888:9: note: in expansion of macro 'PMC_IS_NULL'
  888 |     if (PMC_IS_NULL(buffer))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:920:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  920 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_write_byte_buffer_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:886:5: note: in expansion of macro 'ASSERT_ARGS'
  886 |     ASSERT_ARGS(Parrot_io_write_byte_buffer_pmc)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_write_s':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:876:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  876 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_write_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1054:5: note: in expansion of macro 'ASSERT_ARGS'
 1054 |     ASSERT_ARGS(Parrot_io_write_s)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:1056:9: note: in expansion of macro 'PMC_IS_NULL'
 1056 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:877:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  877 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_write_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1054:5: note: in expansion of macro 'ASSERT_ARGS'
 1054 |     ASSERT_ARGS(Parrot_io_write_s)
      |     ^~~~~~~~~~~
src/io/api.c:1060:27: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
 1060 |     if (STRING_IS_NULL(s) || STRING_length(s) == 0)
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/io/api.c:1060:9: note: in expansion of macro 'STRING_IS_NULL'
 1060 |     if (STRING_IS_NULL(s) || STRING_length(s) == 0)
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:878:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  878 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_write_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1054:5: note: in expansion of macro 'ASSERT_ARGS'
 1054 |     ASSERT_ARGS(Parrot_io_write_s)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_seek':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:830:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  830 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1122:5: note: in expansion of macro 'ASSERT_ARGS'
 1122 |     ASSERT_ARGS(Parrot_io_seek)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:831:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  831 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1122:5: note: in expansion of macro 'ASSERT_ARGS'
 1122 |     ASSERT_ARGS(Parrot_io_seek)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_seek_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:833:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  833 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_seek_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1113:5: note: in expansion of macro 'ASSERT_ARGS'
 1113 |     ASSERT_ARGS(Parrot_io_seek_handle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:834:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  834 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_seek_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1113:5: note: in expansion of macro 'ASSERT_ARGS'
 1113 |     ASSERT_ARGS(Parrot_io_seek_handle)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_tell':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:866:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  866 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1188:5: note: in expansion of macro 'ASSERT_ARGS'
 1188 |     ASSERT_ARGS(Parrot_io_tell)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:867:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  867 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1188:5: note: in expansion of macro 'ASSERT_ARGS'
 1188 |     ASSERT_ARGS(Parrot_io_tell)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_tell_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:869:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  869 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_tell_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1179:5: note: in expansion of macro 'ASSERT_ARGS'
 1179 |     ASSERT_ARGS(Parrot_io_tell_handle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:870:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  870 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_tell_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1179:5: note: in expansion of macro 'ASSERT_ARGS'
 1179 |     ASSERT_ARGS(Parrot_io_tell_handle)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_peek':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:787:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  787 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_peek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1221:5: note: in expansion of macro 'ASSERT_ARGS'
 1221 |     ASSERT_ARGS(Parrot_io_peek)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:1223:9: note: in expansion of macro 'PMC_IS_NULL'
 1223 |     if (PMC_IS_NULL(handle) || Parrot_io_is_closed(interp, handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:788:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  788 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_peek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1221:5: note: in expansion of macro 'ASSERT_ARGS'
 1221 |     ASSERT_ARGS(Parrot_io_peek)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_eof':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:732:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  732 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_eof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1257:5: note: in expansion of macro 'ASSERT_ARGS'
 1257 |     ASSERT_ARGS(Parrot_io_eof)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:1261:9: note: in expansion of macro 'PMC_IS_NULL'
 1261 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:733:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  733 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_eof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1257:5: note: in expansion of macro 'ASSERT_ARGS'
 1257 |     ASSERT_ARGS(Parrot_io_eof)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_readall_s':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:814:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  814 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_readall_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:756:5: note: in expansion of macro 'ASSERT_ARGS'
  756 |     ASSERT_ARGS(Parrot_io_readall_s)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:758:9: note: in expansion of macro 'PMC_IS_NULL'
  758 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:815:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  815 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_readall_s'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:756:5: note: in expansion of macro 'ASSERT_ARGS'
  756 |     ASSERT_ARGS(Parrot_io_readall_s)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_puts':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:803:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  803 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_puts'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1290:5: note: in expansion of macro 'ASSERT_ARGS'
 1290 |     ASSERT_ARGS(Parrot_io_puts)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:804:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  804 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_puts'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1290:5: note: in expansion of macro 'ASSERT_ARGS'
 1290 |     ASSERT_ARGS(Parrot_io_puts)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:805:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  805 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_puts'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1290:5: note: in expansion of macro 'ASSERT_ARGS'
 1290 |     ASSERT_ARGS(Parrot_io_puts)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_putps':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:799:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  799 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_putps'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1310:5: note: in expansion of macro 'ASSERT_ARGS'
 1310 |     ASSERT_ARGS(Parrot_io_putps)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:800:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  800 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_putps'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1310:5: note: in expansion of macro 'ASSERT_ARGS'
 1310 |     ASSERT_ARGS(Parrot_io_putps)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:801:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  801 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_putps'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1310:5: note: in expansion of macro 'ASSERT_ARGS'
 1310 |     ASSERT_ARGS(Parrot_io_putps)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_fprintf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:752:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  752 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_fprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1331:5: note: in expansion of macro 'ASSERT_ARGS'
 1331 |     ASSERT_ARGS(Parrot_io_fprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:753:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  753 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_fprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1331:5: note: in expansion of macro 'ASSERT_ARGS'
 1331 |     ASSERT_ARGS(Parrot_io_fprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:754:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  754 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_fprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1331:5: note: in expansion of macro 'ASSERT_ARGS'
 1331 |     ASSERT_ARGS(Parrot_io_fprintf)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_pprintf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:793:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  793 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_pprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1363:5: note: in expansion of macro 'ASSERT_ARGS'
 1363 |     ASSERT_ARGS(Parrot_io_pprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:794:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  794 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_pprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1363:5: note: in expansion of macro 'ASSERT_ARGS'
 1363 |     ASSERT_ARGS(Parrot_io_pprintf)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_printf':
src/io/api.c:1398:8: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
 1398 |     if (interp) {
      |        ^
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:796:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  796 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_printf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1392:5: note: in expansion of macro 'ASSERT_ARGS'
 1392 |     ASSERT_ARGS(Parrot_io_printf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:797:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  797 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_printf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1392:5: note: in expansion of macro 'ASSERT_ARGS'
 1392 |     ASSERT_ARGS(Parrot_io_printf)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_eprintf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:735:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  735 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_eprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1429:5: note: in expansion of macro 'ASSERT_ARGS'
 1429 |     ASSERT_ARGS(Parrot_io_eprintf)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:764:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  764 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:61:5: note: in expansion of macro 'ASSERT_ARGS'
   61 |     ASSERT_ARGS(Parrot_io_init)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_is_async':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:766:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  766 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_is_async'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1505:5: note: in expansion of macro 'ASSERT_ARGS'
 1505 |     ASSERT_ARGS(Parrot_io_is_async)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:767:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  767 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_is_async'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1505:5: note: in expansion of macro 'ASSERT_ARGS'
 1505 |     ASSERT_ARGS(Parrot_io_is_async)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_STDIN':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:862:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  862 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_STDIN'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1535:5: note: in expansion of macro 'ASSERT_ARGS'
 1535 |     ASSERT_ARGS(Parrot_io_STDIN)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_STDOUT':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:864:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  864 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_STDOUT'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1555:5: note: in expansion of macro 'ASSERT_ARGS'
 1555 |     ASSERT_ARGS(Parrot_io_STDOUT)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_STDERR':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:858:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  858 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_STDERR'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1575:5: note: in expansion of macro 'ASSERT_ARGS'
 1575 |     ASSERT_ARGS(Parrot_io_STDERR)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_get_standard_piohandle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:898:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  898 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_get_standard_piohandle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1599:5: note: in expansion of macro 'ASSERT_ARGS'
 1599 |     ASSERT_ARGS(Parrot_io_get_standard_piohandle)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_make_offset_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:900:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  900 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_make_offset_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1683:5: note: in expansion of macro 'ASSERT_ARGS'
 1683 |     ASSERT_ARGS(Parrot_io_make_offset_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:901:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  901 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_make_offset_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1683:5: note: in expansion of macro 'ASSERT_ARGS'
 1683 |     ASSERT_ARGS(Parrot_io_make_offset_pmc)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_poll':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:790:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  790 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_poll'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1704:5: note: in expansion of macro 'ASSERT_ARGS'
 1704 |     ASSERT_ARGS(Parrot_io_poll)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:791:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  791 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_poll'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1704:5: note: in expansion of macro 'ASSERT_ARGS'
 1704 |     ASSERT_ARGS(Parrot_io_poll)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_socket_connect':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:845:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  845 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_connect'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1732:5: note: in expansion of macro 'ASSERT_ARGS'
 1732 |     ASSERT_ARGS(Parrot_io_socket_connect)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:846:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  846 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_connect'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1732:5: note: in expansion of macro 'ASSERT_ARGS'
 1732 |     ASSERT_ARGS(Parrot_io_socket_connect)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'address' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:1741:9: note: in expansion of macro 'PMC_IS_NULL'
 1741 |     if (PMC_IS_NULL(address))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'address' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:847:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  847 |     , PARROT_ASSERT_ARG(address))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_connect'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1732:5: note: in expansion of macro 'ASSERT_ARGS'
 1732 |     ASSERT_ARGS(Parrot_io_socket_connect)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_socket_bind':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:841:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  841 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_bind'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1793:5: note: in expansion of macro 'ASSERT_ARGS'
 1793 |     ASSERT_ARGS(Parrot_io_socket_bind)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:842:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  842 |     , PARROT_ASSERT_ARG(pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_bind'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1793:5: note: in expansion of macro 'ASSERT_ARGS'
 1793 |     ASSERT_ARGS(Parrot_io_socket_bind)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'address' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:1802:9: note: in expansion of macro 'PMC_IS_NULL'
 1802 |     if (PMC_IS_NULL(address))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'address' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:843:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  843 |     , PARROT_ASSERT_ARG(address))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_bind'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1793:5: note: in expansion of macro 'ASSERT_ARGS'
 1793 |     ASSERT_ARGS(Parrot_io_socket_bind)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_socket_listen':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:853:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  853 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_listen'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1853:5: note: in expansion of macro 'ASSERT_ARGS'
 1853 |     ASSERT_ARGS(Parrot_io_socket_listen)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:854:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  854 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_listen'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1853:5: note: in expansion of macro 'ASSERT_ARGS'
 1853 |     ASSERT_ARGS(Parrot_io_socket_listen)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_socket_accept':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:838:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  838 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_accept'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1880:5: note: in expansion of macro 'ASSERT_ARGS'
 1880 |     ASSERT_ARGS(Parrot_io_socket_accept)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:839:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  839 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_accept'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1880:5: note: in expansion of macro 'ASSERT_ARGS'
 1880 |     ASSERT_ARGS(Parrot_io_socket_accept)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_get_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:891:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  891 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_get_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1943:5: note: in expansion of macro 'ASSERT_ARGS'
 1943 |     ASSERT_ARGS(Parrot_io_get_flags)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:1944:9: note: in expansion of macro 'PMC_IS_NULL'
 1944 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:892:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  892 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_get_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1943:5: note: in expansion of macro 'ASSERT_ARGS'
 1943 |     ASSERT_ARGS(Parrot_io_get_flags)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_is_tty_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:772:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  772 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_is_tty_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1483:5: note: in expansion of macro 'ASSERT_ARGS'
 1483 |     ASSERT_ARGS(Parrot_io_is_tty_handle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:773:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  773 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_is_tty_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1483:5: note: in expansion of macro 'ASSERT_ARGS'
 1483 |     ASSERT_ARGS(Parrot_io_is_tty_handle)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_set_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:914:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  914 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_set_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1956:5: note: in expansion of macro 'ASSERT_ARGS'
 1956 |     ASSERT_ARGS(Parrot_io_set_flags)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:1957:9: note: in expansion of macro 'PMC_IS_NULL'
 1957 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:915:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  915 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_set_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1956:5: note: in expansion of macro 'ASSERT_ARGS'
 1956 |     ASSERT_ARGS(Parrot_io_set_flags)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_socket_new':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:856:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  856 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_socket_new'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1919:5: note: in expansion of macro 'ASSERT_ARGS'
 1919 |     ASSERT_ARGS(Parrot_io_socket_new)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_get_os_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:894:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  894 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_get_os_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1980:5: note: in expansion of macro 'ASSERT_ARGS'
 1980 |     ASSERT_ARGS(Parrot_io_get_os_handle)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:1981:9: note: in expansion of macro 'PMC_IS_NULL'
 1981 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:895:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  895 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_get_os_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1980:5: note: in expansion of macro 'ASSERT_ARGS'
 1980 |     ASSERT_ARGS(Parrot_io_get_os_handle)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_getfd':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:758:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  758 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_getfd'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1463:5: note: in expansion of macro 'ASSERT_ARGS'
 1463 |     ASSERT_ARGS(Parrot_io_getfd)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:759:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  759 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_getfd'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:1463:5: note: in expansion of macro 'ASSERT_ARGS'
 1463 |     ASSERT_ARGS(Parrot_io_getfd)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_set_buffer_mode':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:910:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  910 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_set_buffer_mode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:2017:5: note: in expansion of macro 'ASSERT_ARGS'
 2017 |     ASSERT_ARGS(Parrot_io_set_buffer_mode)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:911:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  911 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_set_buffer_mode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:2017:5: note: in expansion of macro 'ASSERT_ARGS'
 2017 |     ASSERT_ARGS(Parrot_io_set_buffer_mode)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mode' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:912:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  912 |     , PARROT_ASSERT_ARG(mode))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_set_buffer_mode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:2017:5: note: in expansion of macro 'ASSERT_ARGS'
 2017 |     ASSERT_ARGS(Parrot_io_set_buffer_mode)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_get_buffer_mode':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:888:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  888 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_get_buffer_mode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:2050:5: note: in expansion of macro 'ASSERT_ARGS'
 2050 |     ASSERT_ARGS(Parrot_io_get_buffer_mode)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:889:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  889 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_get_buffer_mode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:2050:5: note: in expansion of macro 'ASSERT_ARGS'
 2050 |     ASSERT_ARGS(Parrot_io_get_buffer_mode)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_buffer_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:885:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  885 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:2073:5: note: in expansion of macro 'ASSERT_ARGS'
 2073 |     ASSERT_ARGS(Parrot_io_buffer_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:886:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  886 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:2073:5: note: in expansion of macro 'ASSERT_ARGS'
 2073 |     ASSERT_ARGS(Parrot_io_buffer_size)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_reencode_string_for_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:907:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  907 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_reencode_string_for_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:2103:5: note: in expansion of macro 'ASSERT_ARGS'
 2103 |     ASSERT_ARGS(Parrot_io_reencode_string_for_handle)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/api.c:21:
./include/parrot/interpreter.h:333:45: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  333 | #define PMC_IS_NULL(pmc)  ((pmc) == PMCNULL || (pmc) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/io/api.c:2105:9: note: in expansion of macro 'PMC_IS_NULL'
 2105 |     if (PMC_IS_NULL(handle))
      |         ^~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/api.c:21:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:908:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  908 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_reencode_string_for_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:2103:5: note: in expansion of macro 'ASSERT_ARGS'
 2103 |     ASSERT_ARGS(Parrot_io_reencode_string_for_handle)
      |     ^~~~~~~~~~~
src/io/api.c: In function 'Parrot_io_getprotobyname':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:761:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  761 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_getprotobyname'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:2138:5: note: in expansion of macro 'ASSERT_ARGS'
 2138 |     ASSERT_ARGS(Parrot_io_getprotobyname)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:762:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  762 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_getprotobyname'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/api.c:2138:5: note: in expansion of macro 'ASSERT_ARGS'
 2138 |     ASSERT_ARGS(Parrot_io_getprotobyname)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/io/. -Isrc -o src/io/buffer.o -c src/io/buffer.c
In file included from ./include/parrot/parrot.h:261,
                 from src/io/buffer.c:22:
src/io/buffer.c: In function 'Parrot_io_buffer_allocate':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1125:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1125 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_allocate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:95:5: note: in expansion of macro 'ASSERT_ARGS'
   95 |     ASSERT_ARGS(Parrot_io_buffer_allocate)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'owner' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1126:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1126 |     , PARROT_ASSERT_ARG(owner))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_allocate'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:95:5: note: in expansion of macro 'ASSERT_ARGS'
   95 |     ASSERT_ARGS(Parrot_io_buffer_allocate)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_free':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:1139:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1139 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_free'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:128:5: note: in expansion of macro 'ASSERT_ARGS'
  128 |     ASSERT_ARGS(Parrot_io_buffer_free)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_remove_from_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1153:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1153 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_remove_from_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:188:5: note: in expansion of macro 'ASSERT_ARGS'
  188 |     ASSERT_ARGS(Parrot_io_buffer_remove_from_handle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1154:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1154 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_remove_from_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:188:5: note: in expansion of macro 'ASSERT_ARGS'
  188 |     ASSERT_ARGS(Parrot_io_buffer_remove_from_handle)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_resize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:1156:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1156 |        PARROT_ASSERT_ARG(buffer))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_resize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:219:5: note: in expansion of macro 'ASSERT_ARGS'
  219 |     ASSERT_ARGS(Parrot_io_buffer_resize)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_add_to_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1119:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1119 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_add_to_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:165:5: note: in expansion of macro 'ASSERT_ARGS'
  165 |     ASSERT_ARGS(Parrot_io_buffer_add_to_handle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1120:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1120 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_add_to_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:165:5: note: in expansion of macro 'ASSERT_ARGS'
  165 |     ASSERT_ARGS(Parrot_io_buffer_add_to_handle)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'io_buffer_normalize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/buffer.c:63:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   63 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_normalize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:373:5: note: in expansion of macro 'ASSERT_ARGS'
  373 |     ASSERT_ARGS(io_buffer_normalize)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'io_buffer_transfer_to_mem':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/buffer.c:68:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   68 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_transfer_to_mem'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:340:5: note: in expansion of macro 'ASSERT_ARGS'
  340 |     ASSERT_ARGS(io_buffer_transfer_to_mem)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/buffer.c:69:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   69 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_transfer_to_mem'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:340:5: note: in expansion of macro 'ASSERT_ARGS'
  340 |     ASSERT_ARGS(io_buffer_transfer_to_mem)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'io_buffer_requires_flush':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/buffer.c:65:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   65 |        PARROT_ASSERT_ARG(buffer) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_requires_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:424:5: note: in expansion of macro 'ASSERT_ARGS'
  424 |     ASSERT_ARGS(io_buffer_requires_flush)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/buffer.c:66:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   66 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_requires_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:424:5: note: in expansion of macro 'ASSERT_ARGS'
  424 |     ASSERT_ARGS(io_buffer_requires_flush)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'io_buffer_add_bytes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/buffer.c:60:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   60 |        PARROT_ASSERT_ARG(buffer) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_add_bytes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:514:5: note: in expansion of macro 'ASSERT_ARGS'
  514 |     ASSERT_ARGS(io_buffer_add_bytes)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/buffer.c:61:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   61 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_add_bytes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:514:5: note: in expansion of macro 'ASSERT_ARGS'
  514 |     ASSERT_ARGS(io_buffer_add_bytes)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_flush':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1135:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1135 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:543:5: note: in expansion of macro 'ASSERT_ARGS'
  543 |     ASSERT_ARGS(Parrot_io_buffer_flush)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1136:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1136 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:543:5: note: in expansion of macro 'ASSERT_ARGS'
  543 |     ASSERT_ARGS(Parrot_io_buffer_flush)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1137:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1137 |     , PARROT_ASSERT_ARG(vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:543:5: note: in expansion of macro 'ASSERT_ARGS'
  543 |     ASSERT_ARGS(Parrot_io_buffer_flush)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_write_b':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1167:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1167 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:457:5: note: in expansion of macro 'ASSERT_ARGS'
  457 |     ASSERT_ARGS(Parrot_io_buffer_write_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1168:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1168 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:457:5: note: in expansion of macro 'ASSERT_ARGS'
  457 |     ASSERT_ARGS(Parrot_io_buffer_write_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1169:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1169 |     , PARROT_ASSERT_ARG(vtable) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:457:5: note: in expansion of macro 'ASSERT_ARGS'
  457 |     ASSERT_ARGS(Parrot_io_buffer_write_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1170:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1170 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:457:5: note: in expansion of macro 'ASSERT_ARGS'
  457 |     ASSERT_ARGS(Parrot_io_buffer_write_b)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_fill':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1131:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1131 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_fill'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:601:5: note: in expansion of macro 'ASSERT_ARGS'
  601 |     ASSERT_ARGS(Parrot_io_buffer_fill)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1132:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1132 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_fill'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:601:5: note: in expansion of macro 'ASSERT_ARGS'
  601 |     ASSERT_ARGS(Parrot_io_buffer_fill)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1133:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1133 |     , PARROT_ASSERT_ARG(vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_fill'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:601:5: note: in expansion of macro 'ASSERT_ARGS'
  601 |     ASSERT_ARGS(Parrot_io_buffer_fill)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_read_b':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1147:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1147 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:294:5: note: in expansion of macro 'ASSERT_ARGS'
  294 |     ASSERT_ARGS(Parrot_io_buffer_read_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1148:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1148 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:294:5: note: in expansion of macro 'ASSERT_ARGS'
  294 |     ASSERT_ARGS(Parrot_io_buffer_read_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1149:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1149 |     , PARROT_ASSERT_ARG(vtable) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:294:5: note: in expansion of macro 'ASSERT_ARGS'
  294 |     ASSERT_ARGS(Parrot_io_buffer_read_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1150:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1150 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:294:5: note: in expansion of macro 'ASSERT_ARGS'
  294 |     ASSERT_ARGS(Parrot_io_buffer_read_b)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_peek':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1142:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1142 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_peek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:571:5: note: in expansion of macro 'ASSERT_ARGS'
  571 |     ASSERT_ARGS(Parrot_io_buffer_peek)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1143:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1143 |     , PARROT_ASSERT_ARG(buffer) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_peek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:571:5: note: in expansion of macro 'ASSERT_ARGS'
  571 |     ASSERT_ARGS(Parrot_io_buffer_peek)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1144:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1144 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_peek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:571:5: note: in expansion of macro 'ASSERT_ARGS'
  571 |     ASSERT_ARGS(Parrot_io_buffer_peek)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1145:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1145 |     , PARROT_ASSERT_ARG(vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_peek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:571:5: note: in expansion of macro 'ASSERT_ARGS'
  571 |     ASSERT_ARGS(Parrot_io_buffer_peek)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_content_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:1129:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1129 |        PARROT_ASSERT_ARG(buffer))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_content_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:644:5: note: in expansion of macro 'ASSERT_ARGS'
  644 |     ASSERT_ARGS(Parrot_io_buffer_content_size)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_advance_position':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/parrot/io.h:1123:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1123 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_advance_position'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:651:5: note: in expansion of macro 'ASSERT_ARGS'
  651 |     ASSERT_ARGS(Parrot_io_buffer_advance_position)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'io_buffer_find_string_marker':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1109:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1109 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_string_marker'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:688:5: note: in expansion of macro 'ASSERT_ARGS'
  688 |     ASSERT_ARGS(io_buffer_find_string_marker)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1110:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1110 |     , PARROT_ASSERT_ARG(buffer) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_string_marker'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:688:5: note: in expansion of macro 'ASSERT_ARGS'
  688 |     ASSERT_ARGS(io_buffer_find_string_marker)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1111:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1111 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_string_marker'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:688:5: note: in expansion of macro 'ASSERT_ARGS'
  688 |     ASSERT_ARGS(io_buffer_find_string_marker)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1112:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1112 |     , PARROT_ASSERT_ARG(vtable) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_string_marker'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:688:5: note: in expansion of macro 'ASSERT_ARGS'
  688 |     ASSERT_ARGS(io_buffer_find_string_marker)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encoding' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1113:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1113 |     , PARROT_ASSERT_ARG(encoding) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_string_marker'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:688:5: note: in expansion of macro 'ASSERT_ARGS'
  688 |     ASSERT_ARGS(io_buffer_find_string_marker)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bounds' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1114:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1114 |     , PARROT_ASSERT_ARG(bounds) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_string_marker'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:688:5: note: in expansion of macro 'ASSERT_ARGS'
  688 |     ASSERT_ARGS(io_buffer_find_string_marker)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/buffer.c:22:
./include/parrot/string.h:27:57: warning: 'nonnull' argument 'delim' compared to NULL [-Wnonnull-compare]
   27 | #define STRING_byte_length(src) ((src) ? (src)->bufused : 0U)
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/io/buffer.c:691:34: note: in expansion of macro 'STRING_byte_length'
  691 |     const size_t delim_bytelen = STRING_byte_length(delim);
      |                                  ^~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/buffer.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'delim' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1115:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1115 |     , PARROT_ASSERT_ARG(delim) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_string_marker'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:688:5: note: in expansion of macro 'ASSERT_ARGS'
  688 |     ASSERT_ARGS(io_buffer_find_string_marker)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'have_delim' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1116:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1116 |     , PARROT_ASSERT_ARG(have_delim))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_string_marker'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:688:5: note: in expansion of macro 'ASSERT_ARGS'
  688 |     ASSERT_ARGS(io_buffer_find_string_marker)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'io_buffer_find_num_characters':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1102:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1102 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_num_characters'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:801:5: note: in expansion of macro 'ASSERT_ARGS'
  801 |     ASSERT_ARGS(io_buffer_find_num_characters)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1103:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1103 |     , PARROT_ASSERT_ARG(buffer) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_num_characters'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:801:5: note: in expansion of macro 'ASSERT_ARGS'
  801 |     ASSERT_ARGS(io_buffer_find_num_characters)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1104:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1104 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_num_characters'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:801:5: note: in expansion of macro 'ASSERT_ARGS'
  801 |     ASSERT_ARGS(io_buffer_find_num_characters)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1105:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1105 |     , PARROT_ASSERT_ARG(vtable) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_num_characters'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:801:5: note: in expansion of macro 'ASSERT_ARGS'
  801 |     ASSERT_ARGS(io_buffer_find_num_characters)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encoding' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1106:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1106 |     , PARROT_ASSERT_ARG(encoding) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_num_characters'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:801:5: note: in expansion of macro 'ASSERT_ARGS'
  801 |     ASSERT_ARGS(io_buffer_find_num_characters)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bounds' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1107:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1107 |     , PARROT_ASSERT_ARG(bounds))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_buffer_find_num_characters'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:801:5: note: in expansion of macro 'ASSERT_ARGS'
  801 |     ASSERT_ARGS(io_buffer_find_num_characters)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_seek':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1158:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1158 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:838:5: note: in expansion of macro 'ASSERT_ARGS'
  838 |     ASSERT_ARGS(Parrot_io_buffer_seek)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1159:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1159 |     , PARROT_ASSERT_ARG(buffer) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:838:5: note: in expansion of macro 'ASSERT_ARGS'
  838 |     ASSERT_ARGS(Parrot_io_buffer_seek)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1160:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1160 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:838:5: note: in expansion of macro 'ASSERT_ARGS'
  838 |     ASSERT_ARGS(Parrot_io_buffer_seek)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1161:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1161 |     , PARROT_ASSERT_ARG(vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:838:5: note: in expansion of macro 'ASSERT_ARGS'
  838 |     ASSERT_ARGS(Parrot_io_buffer_seek)
      |     ^~~~~~~~~~~
src/io/buffer.c: In function 'Parrot_io_buffer_tell':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1163:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1163 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:889:5: note: in expansion of macro 'ASSERT_ARGS'
  889 |     ASSERT_ARGS(Parrot_io_buffer_tell)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1164:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1164 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:889:5: note: in expansion of macro 'ASSERT_ARGS'
  889 |     ASSERT_ARGS(Parrot_io_buffer_tell)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/io.h:1165:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
 1165 |     , PARROT_ASSERT_ARG(vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_buffer_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/buffer.c:889:5: note: in expansion of macro 'ASSERT_ARGS'
  889 |     ASSERT_ARGS(Parrot_io_buffer_tell)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/io/. -Isrc -o src/io/filehandle.o -c src/io/filehandle.c
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/filehandle.c:24:
src/io/filehandle.c: In function 'io_filehandle_is_eof':
src/io/filehandle.c:323:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  323 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |                                      ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_filehandle.h:195:14: note: in expansion of macro 'PObj_is_object_TEST'
  195 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:323:5: note: in expansion of macro 'GETATTR_FileHandle_flags'
  323 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:323:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  323 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |                                      ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/filehandle.c:323:5: note: in expansion of macro 'GETATTR_FileHandle_flags'
  323 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/filehandle.c:24:
src/io/filehandle.c:323:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  323 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |                                      ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/filehandle.c:323:5: note: in expansion of macro 'GETATTR_FileHandle_flags'
  323 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:323:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  323 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |                                      ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/filehandle.c:323:5: note: in expansion of macro 'GETATTR_FileHandle_flags'
  323 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_open':
src/io/filehandle.c:484:49: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  484 |     SETATTR_FileHandle_filename(interp, handle, (STRING*)path);
      |                                                 ^
./include/parrot/vtable.h:710:51: note: in definition of macro 'VTABLE_set_string_native'
  710 |     (pmc)->vtable->set_string_native(interp, pmc, value)
      |                                                   ^~~~~
src/io/filehandle.c:484:5: note: in expansion of macro 'SETATTR_FileHandle_filename'
  484 |     SETATTR_FileHandle_filename(interp, handle, (STRING*)path);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/io/filehandle.c:26:
src/io/filehandle.c:484:49: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  484 |     SETATTR_FileHandle_filename(interp, handle, (STRING*)path);
      |                                                 ^
./include/pmc/pmc_filehandle.h:237:74: note: in definition of macro 'SETATTR_FileHandle_filename'
  237 |             ((Parrot_FileHandle_attributes *)PMC_data(pmc))->filename = (value); \
      |                                                                          ^~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/filehandle.c:24:
src/io/filehandle.c:485:45: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  485 |     SETATTR_FileHandle_mode(interp, handle, (STRING*)mode);
      |                                             ^
./include/parrot/vtable.h:710:51: note: in definition of macro 'VTABLE_set_string_native'
  710 |     (pmc)->vtable->set_string_native(interp, pmc, value)
      |                                                   ^~~~~
src/io/filehandle.c:485:5: note: in expansion of macro 'SETATTR_FileHandle_mode'
  485 |     SETATTR_FileHandle_mode(interp, handle, (STRING*)mode);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from src/io/filehandle.c:26:
src/io/filehandle.c:485:45: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  485 |     SETATTR_FileHandle_mode(interp, handle, (STRING*)mode);
      |                                             ^
./include/pmc/pmc_filehandle.h:262:70: note: in definition of macro 'SETATTR_FileHandle_mode'
  262 |             ((Parrot_FileHandle_attributes *)PMC_data(pmc))->mode = (value); \
      |                                                                      ^~~~~
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/filehandle.c:24:
src/io/filehandle.c: In function 'io_filehandle_get_encoding':
src/io/filehandle.c:559:41: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  559 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |                                         ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_filehandle.h:170:14: note: in expansion of macro 'PObj_is_object_TEST'
  170 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:559:5: note: in expansion of macro 'GETATTR_FileHandle_encoding'
  559 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:559:41: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  559 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |                                         ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/filehandle.c:559:5: note: in expansion of macro 'GETATTR_FileHandle_encoding'
  559 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/filehandle.c:24:
src/io/filehandle.c:559:41: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  559 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |                                         ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/filehandle.c:559:5: note: in expansion of macro 'GETATTR_FileHandle_encoding'
  559 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:559:41: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  559 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |                                         ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/filehandle.c:559:5: note: in expansion of macro 'GETATTR_FileHandle_encoding'
  559 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/filehandle.c:24:
src/io/filehandle.c: In function 'io_filehandle_total_size':
src/io/filehandle.c:610:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  610 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |                                      ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_filehandle.h:195:14: note: in expansion of macro 'PObj_is_object_TEST'
  195 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:610:5: note: in expansion of macro 'GETATTR_FileHandle_flags'
  610 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:610:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  610 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |                                      ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/filehandle.c:610:5: note: in expansion of macro 'GETATTR_FileHandle_flags'
  610 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/filehandle.c:24:
src/io/filehandle.c:610:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  610 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |                                      ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/filehandle.c:610:5: note: in expansion of macro 'GETATTR_FileHandle_flags'
  610 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:610:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  610 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |                                      ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/filehandle.c:610:5: note: in expansion of macro 'GETATTR_FileHandle_flags'
  610 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/filehandle.c:24:
src/io/filehandle.c:613:45: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  613 |         GETATTR_FileHandle_filename(interp, (PMC*)handle, name);
      |                                             ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_filehandle.h:219:14: note: in expansion of macro 'PObj_is_object_TEST'
  219 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:613:9: note: in expansion of macro 'GETATTR_FileHandle_filename'
  613 |         GETATTR_FileHandle_filename(interp, (PMC*)handle, name);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:613:45: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  613 |         GETATTR_FileHandle_filename(interp, (PMC*)handle, name);
      |                                             ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/filehandle.c:613:9: note: in expansion of macro 'GETATTR_FileHandle_filename'
  613 |         GETATTR_FileHandle_filename(interp, (PMC*)handle, name);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/filehandle.c:24:
src/io/filehandle.c:613:45: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  613 |         GETATTR_FileHandle_filename(interp, (PMC*)handle, name);
      |                                             ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/filehandle.c:613:9: note: in expansion of macro 'GETATTR_FileHandle_filename'
  613 |         GETATTR_FileHandle_filename(interp, (PMC*)handle, name);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:613:45: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  613 |         GETATTR_FileHandle_filename(interp, (PMC*)handle, name);
      |                                             ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/filehandle.c:613:9: note: in expansion of macro 'GETATTR_FileHandle_filename'
  613 |         GETATTR_FileHandle_filename(interp, (PMC*)handle, name);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/filehandle.c:24:
src/io/filehandle.c: In function 'io_filehandle_set_eof':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/filehandle.c:179:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  179 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_set_eof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:332:5: note: in expansion of macro 'ASSERT_ARGS'
  332 |     ASSERT_ARGS(io_filehandle_set_eof)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_adv_position':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/filehandle.c:143:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  143 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_adv_position'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:408:5: note: in expansion of macro 'ASSERT_ARGS'
  408 |     ASSERT_ARGS(io_filehandle_adv_position)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_set_position':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/filehandle.c:183:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  183 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_set_position'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:417:5: note: in expansion of macro 'ASSERT_ARGS'
  417 |     ASSERT_ARGS(io_filehandle_set_position)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_get_position':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/filehandle.c:159:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  159 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_get_position'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:425:5: note: in expansion of macro 'ASSERT_ARGS'
  425 |     ASSERT_ARGS(io_filehandle_get_position)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_set_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/filehandle.c:181:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  181 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_set_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:583:5: note: in expansion of macro 'ASSERT_ARGS'
  583 |     ASSERT_ARGS(io_filehandle_set_flags)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_get_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/filehandle.c:154:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  154 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_get_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:590:5: note: in expansion of macro 'ASSERT_ARGS'
  590 |     ASSERT_ARGS(io_filehandle_get_flags)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_is_eof':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:161:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  161 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_is_eof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:321:5: note: in expansion of macro 'ASSERT_ARGS'
  321 |     ASSERT_ARGS(io_filehandle_is_eof)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:162:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  162 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_is_eof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:321:5: note: in expansion of macro 'ASSERT_ARGS'
  321 |     ASSERT_ARGS(io_filehandle_is_eof)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_get_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:151:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  151 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_get_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:556:5: note: in expansion of macro 'ASSERT_ARGS'
  556 |     ASSERT_ARGS(io_filehandle_get_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:152:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_get_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:556:5: note: in expansion of macro 'ASSERT_ARGS'
  556 |     ASSERT_ARGS(io_filehandle_get_encoding)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_total_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:188:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  188 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_total_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:608:5: note: in expansion of macro 'ASSERT_ARGS'
  608 |     ASSERT_ARGS(io_filehandle_total_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:189:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  189 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_total_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:608:5: note: in expansion of macro 'ASSERT_ARGS'
  608 |     ASSERT_ARGS(io_filehandle_total_size)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_setup_vtable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/io_private.h:417:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  417 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_setup_vtable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:211:5: note: in expansion of macro 'ASSERT_ARGS'
  211 |     ASSERT_ARGS(io_filehandle_setup_vtable)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_set_os_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'filehandle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/io_private.h:415:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  415 |        PARROT_ASSERT_ARG(filehandle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_set_os_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:664:5: note: in expansion of macro 'ASSERT_ARGS'
  664 |     ASSERT_ARGS(io_filehandle_set_os_handle)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_get_os_handle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'filehandle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/io_private.h:410:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  410 |        PARROT_ASSERT_ARG(filehandle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_get_os_handle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:689:5: note: in expansion of macro 'ASSERT_ARGS'
  689 |     ASSERT_ARGS(io_filehandle_get_os_handle)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_read_b':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:172:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  172 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:257:5: note: in expansion of macro 'ASSERT_ARGS'
  257 |     ASSERT_ARGS(io_filehandle_read_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:173:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  173 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:257:5: note: in expansion of macro 'ASSERT_ARGS'
  257 |     ASSERT_ARGS(io_filehandle_read_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:174:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  174 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:257:5: note: in expansion of macro 'ASSERT_ARGS'
  257 |     ASSERT_ARGS(io_filehandle_read_b)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_write_b':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:191:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  191 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:279:5: note: in expansion of macro 'ASSERT_ARGS'
  279 |     ASSERT_ARGS(io_filehandle_write_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:192:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  192 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:279:5: note: in expansion of macro 'ASSERT_ARGS'
  279 |     ASSERT_ARGS(io_filehandle_write_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:193:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  193 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:279:5: note: in expansion of macro 'ASSERT_ARGS'
  279 |     ASSERT_ARGS(io_filehandle_write_b)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_flush':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:148:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  148 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:297:5: note: in expansion of macro 'ASSERT_ARGS'
  297 |     ASSERT_ARGS(io_filehandle_flush)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:149:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  149 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:297:5: note: in expansion of macro 'ASSERT_ARGS'
  297 |     ASSERT_ARGS(io_filehandle_flush)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_tell':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:185:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  185 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:352:5: note: in expansion of macro 'ASSERT_ARGS'
  352 |     ASSERT_ARGS(io_filehandle_tell)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:186:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  186 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:352:5: note: in expansion of macro 'ASSERT_ARGS'
  352 |     ASSERT_ARGS(io_filehandle_tell)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_seek':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:176:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  176 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:373:5: note: in expansion of macro 'ASSERT_ARGS'
  373 |     ASSERT_ARGS(io_filehandle_seek)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:177:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  177 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:373:5: note: in expansion of macro 'ASSERT_ARGS'
  373 |     ASSERT_ARGS(io_filehandle_seek)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_is_open':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:164:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  164 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_is_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:504:5: note: in expansion of macro 'ASSERT_ARGS'
  504 |     ASSERT_ARGS(io_filehandle_is_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:165:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_is_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:504:5: note: in expansion of macro 'ASSERT_ARGS'
  504 |     ASSERT_ARGS(io_filehandle_is_open)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_close':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:145:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_close'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:522:5: note: in expansion of macro 'ASSERT_ARGS'
  522 |     ASSERT_ARGS(io_filehandle_close)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:146:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  146 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_close'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:522:5: note: in expansion of macro 'ASSERT_ARGS'
  522 |     ASSERT_ARGS(io_filehandle_close)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_get_piohandle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:156:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  156 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_get_piohandle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:634:5: note: in expansion of macro 'ASSERT_ARGS'
  634 |     ASSERT_ARGS(io_filehandle_get_piohandle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:157:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  157 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_get_piohandle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:634:5: note: in expansion of macro 'ASSERT_ARGS'
  634 |     ASSERT_ARGS(io_filehandle_get_piohandle)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_get_file_position':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'filehandle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/io_private.h:408:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  408 |        PARROT_ASSERT_ARG(filehandle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_get_file_position'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:726:5: note: in expansion of macro 'ASSERT_ARGS'
  726 |     ASSERT_ARGS(io_filehandle_get_file_position)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_set_file_position':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'filehandle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/io_private.h:413:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  413 |        PARROT_ASSERT_ARG(filehandle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_set_file_position'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:752:5: note: in expansion of macro 'ASSERT_ARGS'
  752 |     ASSERT_ARGS(io_filehandle_set_file_position)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_convert_to_pipe':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:404:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  404 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_convert_to_pipe'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:778:5: note: in expansion of macro 'ASSERT_ARGS'
  778 |     ASSERT_ARGS(io_filehandle_convert_to_pipe)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:405:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  405 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_convert_to_pipe'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:778:5: note: in expansion of macro 'ASSERT_ARGS'
  778 |     ASSERT_ARGS(io_filehandle_convert_to_pipe)
      |     ^~~~~~~~~~~
src/io/filehandle.c: In function 'io_filehandle_open':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:167:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  167 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:445:5: note: in expansion of macro 'ASSERT_ARGS'
  445 |     ASSERT_ARGS(io_filehandle_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:168:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  168 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:445:5: note: in expansion of macro 'ASSERT_ARGS'
  445 |     ASSERT_ARGS(io_filehandle_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:169:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  169 |     , PARROT_ASSERT_ARG(path) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:445:5: note: in expansion of macro 'ASSERT_ARGS'
  445 |     ASSERT_ARGS(io_filehandle_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mode' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/filehandle.c:170:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  170 |     , PARROT_ASSERT_ARG(mode))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_filehandle_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/filehandle.c:445:5: note: in expansion of macro 'ASSERT_ARGS'
  445 |     ASSERT_ARGS(io_filehandle_open)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/io/. -Isrc -o src/io/socket.o -c src/io/socket.c
In file included from ./include/parrot/parrot.h:259,
                 from src/io/socket.c:20:
src/io/socket.c: In function 'io_socket_tell':
src/io/socket.c:320:60: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  320 |     const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                                            ^
./include/parrot/vtable.h:524:6: note: in definition of macro 'VTABLE_get_pointer_keyed_int'
  524 |     (pmc)->vtable->get_pointer_keyed_int(interp, pmc, key)
      |      ^~~
src/io/socket.c:320:38: note: in expansion of macro 'IO_GET_VTABLE'
  320 |     const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                      ^~~~~~~~~~~~~
src/io/socket.c:320:60: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  320 |     const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                                            ^
./include/parrot/vtable.h:524:50: note: in definition of macro 'VTABLE_get_pointer_keyed_int'
  524 |     (pmc)->vtable->get_pointer_keyed_int(interp, pmc, key)
      |                                                  ^~~
src/io/socket.c:320:38: note: in expansion of macro 'IO_GET_VTABLE'
  320 |     const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                      ^~~~~~~~~~~~~
src/io/socket.c: In function 'io_socket_total_size':
src/io/socket.c:505:64: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  505 |         const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                                                ^
./include/parrot/vtable.h:524:6: note: in definition of macro 'VTABLE_get_pointer_keyed_int'
  524 |     (pmc)->vtable->get_pointer_keyed_int(interp, pmc, key)
      |      ^~~
src/io/socket.c:505:42: note: in expansion of macro 'IO_GET_VTABLE'
  505 |         const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                          ^~~~~~~~~~~~~
src/io/socket.c:505:64: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  505 |         const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                                                ^
./include/parrot/vtable.h:524:50: note: in definition of macro 'VTABLE_get_pointer_keyed_int'
  524 |     (pmc)->vtable->get_pointer_keyed_int(interp, pmc, key)
      |                                                  ^~~
src/io/socket.c:505:42: note: in expansion of macro 'IO_GET_VTABLE'
  505 |         const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                          ^~~~~~~~~~~~~
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/socket.c:20:
src/io/socket.c: In function 'io_socket_get_piohandle':
src/io/socket.c:526:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  526 |     GETATTR_Socket_os_handle(interp, (PMC*)handle, os_handle);
      |                                      ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_socket.h:47:14: note: in expansion of macro 'PObj_is_object_TEST'
   47 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/socket.c:526:5: note: in expansion of macro 'GETATTR_Socket_os_handle'
  526 |     GETATTR_Socket_os_handle(interp, (PMC*)handle, os_handle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:526:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  526 |     GETATTR_Socket_os_handle(interp, (PMC*)handle, os_handle);
      |                                      ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/socket.c:526:5: note: in expansion of macro 'GETATTR_Socket_os_handle'
  526 |     GETATTR_Socket_os_handle(interp, (PMC*)handle, os_handle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c: In function 'io_socket_get_encoding':
src/io/socket.c:549:37: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  549 |     GETATTR_Socket_encoding(interp, (PMC*)handle, encoding_str);
      |                                     ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_socket.h:168:14: note: in expansion of macro 'PObj_is_object_TEST'
  168 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/socket.c:549:5: note: in expansion of macro 'GETATTR_Socket_encoding'
  549 |     GETATTR_Socket_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:549:37: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  549 |     GETATTR_Socket_encoding(interp, (PMC*)handle, encoding_str);
      |                                     ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/socket.c:549:5: note: in expansion of macro 'GETATTR_Socket_encoding'
  549 |     GETATTR_Socket_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/socket.c:20:
src/io/socket.c:549:37: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  549 |     GETATTR_Socket_encoding(interp, (PMC*)handle, encoding_str);
      |                                     ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/socket.c:549:5: note: in expansion of macro 'GETATTR_Socket_encoding'
  549 |     GETATTR_Socket_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:549:37: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  549 |     GETATTR_Socket_encoding(interp, (PMC*)handle, encoding_str);
      |                                     ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/socket.c:549:5: note: in expansion of macro 'GETATTR_Socket_encoding'
  549 |     GETATTR_Socket_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/socket.c:20:
src/io/socket.c: In function 'io_socket_is_eof':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/socket.c:144:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  144 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_is_eof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:294:5: note: in expansion of macro 'ASSERT_ARGS'
  294 |     ASSERT_ARGS(io_socket_is_eof)
      |     ^~~~~~~~~~~
src/io/socket.c: In function 'io_socket_is_open':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:146:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  146 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_is_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:429:5: note: in expansion of macro 'ASSERT_ARGS'
  429 |     ASSERT_ARGS(io_socket_is_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:147:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  147 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_is_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:429:5: note: in expansion of macro 'ASSERT_ARGS'
  429 |     ASSERT_ARGS(io_socket_is_open)
      |     ^~~~~~~~~~~
src/io/socket.c: In function 'io_socket_read_b':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:152:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:230:5: note: in expansion of macro 'ASSERT_ARGS'
  230 |     ASSERT_ARGS(io_socket_read_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:153:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  153 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:230:5: note: in expansion of macro 'ASSERT_ARGS'
  230 |     ASSERT_ARGS(io_socket_read_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:154:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  154 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:230:5: note: in expansion of macro 'ASSERT_ARGS'
  230 |     ASSERT_ARGS(io_socket_read_b)
      |     ^~~~~~~~~~~
src/io/socket.c: In function 'io_socket_write_b':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:168:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  168 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:251:5: note: in expansion of macro 'ASSERT_ARGS'
  251 |     ASSERT_ARGS(io_socket_write_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:169:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  169 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:251:5: note: in expansion of macro 'ASSERT_ARGS'
  251 |     ASSERT_ARGS(io_socket_write_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:170:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  170 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:251:5: note: in expansion of macro 'ASSERT_ARGS'
  251 |     ASSERT_ARGS(io_socket_write_b)
      |     ^~~~~~~~~~~
src/io/socket.c: In function 'io_socket_tell':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:162:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  162 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:319:5: note: in expansion of macro 'ASSERT_ARGS'
  319 |     ASSERT_ARGS(io_socket_tell)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:163:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  163 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:319:5: note: in expansion of macro 'ASSERT_ARGS'
  319 |     ASSERT_ARGS(io_socket_tell)
      |     ^~~~~~~~~~~
src/io/socket.c: In function 'io_socket_seek':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:156:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  156 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:340:5: note: in expansion of macro 'ASSERT_ARGS'
  340 |     ASSERT_ARGS(io_socket_seek)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:157:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  157 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:340:5: note: in expansion of macro 'ASSERT_ARGS'
  340 |     ASSERT_ARGS(io_socket_seek)
      |     ^~~~~~~~~~~
src/io/socket.c: In function 'io_socket_total_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:165:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_total_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:504:5: note: in expansion of macro 'ASSERT_ARGS'
  504 |     ASSERT_ARGS(io_socket_total_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:166:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  166 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_total_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:504:5: note: in expansion of macro 'ASSERT_ARGS'
  504 |     ASSERT_ARGS(io_socket_total_size)
      |     ^~~~~~~~~~~
src/io/socket.c: In function 'io_socket_open':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:149:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  149 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:410:5: note: in expansion of macro 'ASSERT_ARGS'
  410 |     ASSERT_ARGS(io_socket_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:150:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  150 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:410:5: note: in expansion of macro 'ASSERT_ARGS'
  410 |     ASSERT_ARGS(io_socket_open)
      |     ^~~~~~~~~~~
src/io/socket.c: In function 'io_socket_close':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:132:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  132 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_close'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:448:5: note: in expansion of macro 'ASSERT_ARGS'
  448 |     ASSERT_ARGS(io_socket_close)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:133:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  133 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_close'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:448:5: note: in expansion of macro 'ASSERT_ARGS'
  448 |     ASSERT_ARGS(io_socket_close)
      |     ^~~~~~~~~~~
src/io/socket.c: In function 'io_socket_get_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:136:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  136 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_get_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:546:5: note: in expansion of macro 'ASSERT_ARGS'
  546 |     ASSERT_ARGS(io_socket_get_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:137:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  137 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_get_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:546:5: note: in expansion of macro 'ASSERT_ARGS'
  546 |     ASSERT_ARGS(io_socket_get_encoding)
      |     ^~~~~~~~~~~
src/io/socket.c: In function 'io_socket_setup_vtable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/io_private.h:445:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  445 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_setup_vtable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:188:5: note: in expansion of macro 'ASSERT_ARGS'
  188 |     ASSERT_ARGS(io_socket_setup_vtable)
      |     ^~~~~~~~~~~
src/io/socket.c: In function 'io_socket_get_piohandle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:140:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  140 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_get_piohandle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:524:5: note: in expansion of macro 'ASSERT_ARGS'
  524 |     ASSERT_ARGS(io_socket_get_piohandle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/socket.c:141:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  141 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_socket_get_piohandle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/socket.c:524:5: note: in expansion of macro 'ASSERT_ARGS'
  524 |     ASSERT_ARGS(io_socket_get_piohandle)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/io/. -Isrc -o src/io/stringhandle.o -c src/io/stringhandle.c
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c: In function 'io_stringhandle_is_eof':
src/io/stringhandle.c:354:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  354 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offs);
      |                                              ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_stringhandle.h:292:14: note: in expansion of macro 'PObj_is_object_TEST'
  292 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:354:5: note: in expansion of macro 'GETATTR_StringHandle_read_offset'
  354 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offs);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:354:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  354 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offs);
      |                                              ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/stringhandle.c:354:5: note: in expansion of macro 'GETATTR_StringHandle_read_offset'
  354 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offs);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c:354:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  354 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offs);
      |                                              ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/stringhandle.c:354:5: note: in expansion of macro 'GETATTR_StringHandle_read_offset'
  354 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offs);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:354:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  354 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offs);
      |                                              ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/stringhandle.c:354:5: note: in expansion of macro 'GETATTR_StringHandle_read_offset'
  354 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offs);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c:355:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  355 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |                                               ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_stringhandle.h:217:14: note: in expansion of macro 'PObj_is_object_TEST'
  217 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:355:5: note: in expansion of macro 'GETATTR_StringHandle_stringhandle'
  355 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:355:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  355 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |                                               ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/stringhandle.c:355:5: note: in expansion of macro 'GETATTR_StringHandle_stringhandle'
  355 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c:355:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  355 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |                                               ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/stringhandle.c:355:5: note: in expansion of macro 'GETATTR_StringHandle_stringhandle'
  355 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:355:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  355 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |                                               ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/stringhandle.c:355:5: note: in expansion of macro 'GETATTR_StringHandle_stringhandle'
  355 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c: In function 'io_stringhandle_tell':
src/io/stringhandle.c:380:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  380 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offset);
      |                                              ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_stringhandle.h:292:14: note: in expansion of macro 'PObj_is_object_TEST'
  292 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:380:5: note: in expansion of macro 'GETATTR_StringHandle_read_offset'
  380 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offset);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:380:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  380 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offset);
      |                                              ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/stringhandle.c:380:5: note: in expansion of macro 'GETATTR_StringHandle_read_offset'
  380 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offset);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c:380:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  380 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offset);
      |                                              ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/stringhandle.c:380:5: note: in expansion of macro 'GETATTR_StringHandle_read_offset'
  380 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offset);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:380:46: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  380 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offset);
      |                                              ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/stringhandle.c:380:5: note: in expansion of macro 'GETATTR_StringHandle_read_offset'
  380 |     GETATTR_StringHandle_read_offset(interp, (PMC*)handle, read_offset);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_open':
src/io/stringhandle.c:495:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  495 |     SETATTR_StringHandle_mode(interp, handle, (STRING*)mode);
      |                                               ^
./include/parrot/vtable.h:710:51: note: in definition of macro 'VTABLE_set_string_native'
  710 |     (pmc)->vtable->set_string_native(interp, pmc, value)
      |                                                   ^~~~~
src/io/stringhandle.c:495:5: note: in expansion of macro 'SETATTR_StringHandle_mode'
  495 |     SETATTR_StringHandle_mode(interp, handle, (STRING*)mode);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/io/stringhandle.c:24:
src/io/stringhandle.c:495:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  495 |     SETATTR_StringHandle_mode(interp, handle, (STRING*)mode);
      |                                               ^
./include/pmc/pmc_stringhandle.h:260:72: note: in definition of macro 'SETATTR_StringHandle_mode'
  260 |             ((Parrot_StringHandle_attributes *)PMC_data(pmc))->mode = (value); \
      |                                                                        ^~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c:496:51: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  496 |     SETATTR_StringHandle_filename(interp, handle, (STRING*)path);
      |                                                   ^
./include/parrot/vtable.h:710:51: note: in definition of macro 'VTABLE_set_string_native'
  710 |     (pmc)->vtable->set_string_native(interp, pmc, value)
      |                                                   ^~~~~
src/io/stringhandle.c:496:5: note: in expansion of macro 'SETATTR_StringHandle_filename'
  496 |     SETATTR_StringHandle_filename(interp, handle, (STRING*)path);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/io/stringhandle.c:24:
src/io/stringhandle.c:496:51: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  496 |     SETATTR_StringHandle_filename(interp, handle, (STRING*)path);
      |                                                   ^
./include/pmc/pmc_stringhandle.h:285:76: note: in definition of macro 'SETATTR_StringHandle_filename'
  285 |             ((Parrot_StringHandle_attributes *)PMC_data(pmc))->filename = (value); \
      |                                                                            ^~~~~
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c: In function 'io_stringhandle_is_open':
src/io/stringhandle.c:516:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  516 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |                                               ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_stringhandle.h:217:14: note: in expansion of macro 'PObj_is_object_TEST'
  217 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:516:5: note: in expansion of macro 'GETATTR_StringHandle_stringhandle'
  516 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:516:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  516 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |                                               ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/stringhandle.c:516:5: note: in expansion of macro 'GETATTR_StringHandle_stringhandle'
  516 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c:516:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  516 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |                                               ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/stringhandle.c:516:5: note: in expansion of macro 'GETATTR_StringHandle_stringhandle'
  516 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:516:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  516 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |                                               ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/stringhandle.c:516:5: note: in expansion of macro 'GETATTR_StringHandle_stringhandle'
  516 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c: In function 'io_stringhandle_total_size':
src/io/stringhandle.c:554:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  554 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |                                               ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_stringhandle.h:217:14: note: in expansion of macro 'PObj_is_object_TEST'
  217 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:554:5: note: in expansion of macro 'GETATTR_StringHandle_stringhandle'
  554 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:554:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  554 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |                                               ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/stringhandle.c:554:5: note: in expansion of macro 'GETATTR_StringHandle_stringhandle'
  554 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c:554:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  554 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |                                               ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/stringhandle.c:554:5: note: in expansion of macro 'GETATTR_StringHandle_stringhandle'
  554 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:554:47: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  554 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |                                               ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/stringhandle.c:554:5: note: in expansion of macro 'GETATTR_StringHandle_stringhandle'
  554 |     GETATTR_StringHandle_stringhandle(interp, (PMC*)handle, stringhandle);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_get_piohandle':
src/io/stringhandle.c:575:60: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  575 |     const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                                            ^
./include/parrot/vtable.h:524:6: note: in definition of macro 'VTABLE_get_pointer_keyed_int'
  524 |     (pmc)->vtable->get_pointer_keyed_int(interp, pmc, key)
      |      ^~~
src/io/stringhandle.c:575:38: note: in expansion of macro 'IO_GET_VTABLE'
  575 |     const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                      ^~~~~~~~~~~~~
src/io/stringhandle.c:575:60: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  575 |     const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                                            ^
./include/parrot/vtable.h:524:50: note: in definition of macro 'VTABLE_get_pointer_keyed_int'
  524 |     (pmc)->vtable->get_pointer_keyed_int(interp, pmc, key)
      |                                                  ^~~
src/io/stringhandle.c:575:38: note: in expansion of macro 'IO_GET_VTABLE'
  575 |     const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                      ^~~~~~~~~~~~~
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c: In function 'io_stringhandle_get_encoding':
src/io/stringhandle.c:636:43: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  636 |     GETATTR_StringHandle_encoding(interp, (PMC*)handle, encoding_str);
      |                                           ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_stringhandle.h:168:14: note: in expansion of macro 'PObj_is_object_TEST'
  168 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:636:5: note: in expansion of macro 'GETATTR_StringHandle_encoding'
  636 |     GETATTR_StringHandle_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:636:43: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  636 |     GETATTR_StringHandle_encoding(interp, (PMC*)handle, encoding_str);
      |                                           ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/stringhandle.c:636:5: note: in expansion of macro 'GETATTR_StringHandle_encoding'
  636 |     GETATTR_StringHandle_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c:636:43: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  636 |     GETATTR_StringHandle_encoding(interp, (PMC*)handle, encoding_str);
      |                                           ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/stringhandle.c:636:5: note: in expansion of macro 'GETATTR_StringHandle_encoding'
  636 |     GETATTR_StringHandle_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:636:43: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  636 |     GETATTR_StringHandle_encoding(interp, (PMC*)handle, encoding_str);
      |                                           ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/stringhandle.c:636:5: note: in expansion of macro 'GETATTR_StringHandle_encoding'
  636 |     GETATTR_StringHandle_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/stringhandle.c:22:
src/io/stringhandle.c: In function 'io_stringhandle_set_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/stringhandle.c:176:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  176 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_set_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:599:5: note: in expansion of macro 'ASSERT_ARGS'
  599 |     ASSERT_ARGS(io_stringhandle_set_flags)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_get_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/stringhandle.c:149:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  149 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_get_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:606:5: note: in expansion of macro 'ASSERT_ARGS'
  606 |     ASSERT_ARGS(io_stringhandle_get_flags)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_is_eof':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:157:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  157 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_is_eof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:351:5: note: in expansion of macro 'ASSERT_ARGS'
  351 |     ASSERT_ARGS(io_stringhandle_is_eof)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:158:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  158 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_is_eof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:351:5: note: in expansion of macro 'ASSERT_ARGS'
  351 |     ASSERT_ARGS(io_stringhandle_is_eof)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_tell':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:179:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  179 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:378:5: note: in expansion of macro 'ASSERT_ARGS'
  378 |     ASSERT_ARGS(io_stringhandle_tell)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:180:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  180 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:378:5: note: in expansion of macro 'ASSERT_ARGS'
  378 |     ASSERT_ARGS(io_stringhandle_tell)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_get_position':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:154:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  154 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_get_position'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:467:5: note: in expansion of macro 'ASSERT_ARGS'
  467 |     ASSERT_ARGS(io_stringhandle_get_position)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:155:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  155 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_get_position'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:467:5: note: in expansion of macro 'ASSERT_ARGS'
  467 |     ASSERT_ARGS(io_stringhandle_get_position)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_is_open':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:160:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  160 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_is_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:514:5: note: in expansion of macro 'ASSERT_ARGS'
  514 |     ASSERT_ARGS(io_stringhandle_is_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:161:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  161 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_is_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:514:5: note: in expansion of macro 'ASSERT_ARGS'
  514 |     ASSERT_ARGS(io_stringhandle_is_open)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_total_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:182:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  182 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_total_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:552:5: note: in expansion of macro 'ASSERT_ARGS'
  552 |     ASSERT_ARGS(io_stringhandle_total_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:183:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  183 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_total_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:552:5: note: in expansion of macro 'ASSERT_ARGS'
  552 |     ASSERT_ARGS(io_stringhandle_total_size)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_read_b':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:168:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  168 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:255:5: note: in expansion of macro 'ASSERT_ARGS'
  255 |     ASSERT_ARGS(io_stringhandle_read_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:169:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  169 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:255:5: note: in expansion of macro 'ASSERT_ARGS'
  255 |     ASSERT_ARGS(io_stringhandle_read_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:170:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  170 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:255:5: note: in expansion of macro 'ASSERT_ARGS'
  255 |     ASSERT_ARGS(io_stringhandle_read_b)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_close':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:140:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  140 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_close'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:533:5: note: in expansion of macro 'ASSERT_ARGS'
  533 |     ASSERT_ARGS(io_stringhandle_close)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:141:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  141 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_close'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:533:5: note: in expansion of macro 'ASSERT_ARGS'
  533 |     ASSERT_ARGS(io_stringhandle_close)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_flush':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:143:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  143 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:327:5: note: in expansion of macro 'ASSERT_ARGS'
  327 |     ASSERT_ARGS(io_stringhandle_flush)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:144:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  144 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:327:5: note: in expansion of macro 'ASSERT_ARGS'
  327 |     ASSERT_ARGS(io_stringhandle_flush)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_seek':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:172:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  172 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:399:5: note: in expansion of macro 'ASSERT_ARGS'
  399 |     ASSERT_ARGS(io_stringhandle_seek)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:173:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  173 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:399:5: note: in expansion of macro 'ASSERT_ARGS'
  399 |     ASSERT_ARGS(io_stringhandle_seek)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_get_piohandle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:151:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  151 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_get_piohandle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:574:5: note: in expansion of macro 'ASSERT_ARGS'
  574 |     ASSERT_ARGS(io_stringhandle_get_piohandle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:152:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_get_piohandle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:574:5: note: in expansion of macro 'ASSERT_ARGS'
  574 |     ASSERT_ARGS(io_stringhandle_get_piohandle)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_get_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:146:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  146 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_get_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:626:5: note: in expansion of macro 'ASSERT_ARGS'
  626 |     ASSERT_ARGS(io_stringhandle_get_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:147:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  147 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_get_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:626:5: note: in expansion of macro 'ASSERT_ARGS'
  626 |     ASSERT_ARGS(io_stringhandle_get_encoding)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_write_b':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:185:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  185 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:288:5: note: in expansion of macro 'ASSERT_ARGS'
  288 |     ASSERT_ARGS(io_stringhandle_write_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:186:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  186 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:288:5: note: in expansion of macro 'ASSERT_ARGS'
  288 |     ASSERT_ARGS(io_stringhandle_write_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:187:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  187 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:288:5: note: in expansion of macro 'ASSERT_ARGS'
  288 |     ASSERT_ARGS(io_stringhandle_write_b)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_open':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:163:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  163 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:486:5: note: in expansion of macro 'ASSERT_ARGS'
  486 |     ASSERT_ARGS(io_stringhandle_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:164:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  164 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:486:5: note: in expansion of macro 'ASSERT_ARGS'
  486 |     ASSERT_ARGS(io_stringhandle_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:165:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |     , PARROT_ASSERT_ARG(path) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:486:5: note: in expansion of macro 'ASSERT_ARGS'
  486 |     ASSERT_ARGS(io_stringhandle_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mode' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/stringhandle.c:166:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  166 |     , PARROT_ASSERT_ARG(mode))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:486:5: note: in expansion of macro 'ASSERT_ARGS'
  486 |     ASSERT_ARGS(io_stringhandle_open)
      |     ^~~~~~~~~~~
src/io/stringhandle.c: In function 'io_stringhandle_setup_vtable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/io_private.h:459:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  459 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_stringhandle_setup_vtable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/stringhandle.c:205:5: note: in expansion of macro 'ASSERT_ARGS'
  205 |     ASSERT_ARGS(io_stringhandle_setup_vtable)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/io/. -Isrc -o src/io/pipe.o -c src/io/pipe.c
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/pipe.c:20:
src/io/pipe.c: In function 'io_pipe_is_eof':
src/io/pipe.c:310:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  310 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |                                      ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_filehandle.h:195:14: note: in expansion of macro 'PObj_is_object_TEST'
  195 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/pipe.c:310:5: note: in expansion of macro 'GETATTR_FileHandle_flags'
  310 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:310:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  310 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |                                      ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/pipe.c:310:5: note: in expansion of macro 'GETATTR_FileHandle_flags'
  310 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/pipe.c:20:
src/io/pipe.c:310:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  310 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |                                      ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/pipe.c:310:5: note: in expansion of macro 'GETATTR_FileHandle_flags'
  310 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:310:38: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  310 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |                                      ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/pipe.c:310:5: note: in expansion of macro 'GETATTR_FileHandle_flags'
  310 |     GETATTR_FileHandle_flags(interp, (PMC*)handle, flags);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_tell':
src/io/pipe.c:340:60: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  340 |     const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                                            ^
./include/parrot/vtable.h:524:6: note: in definition of macro 'VTABLE_get_pointer_keyed_int'
  524 |     (pmc)->vtable->get_pointer_keyed_int(interp, pmc, key)
      |      ^~~
src/io/pipe.c:340:38: note: in expansion of macro 'IO_GET_VTABLE'
  340 |     const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                      ^~~~~~~~~~~~~
src/io/pipe.c:340:60: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  340 |     const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                                            ^
./include/parrot/vtable.h:524:50: note: in definition of macro 'VTABLE_get_pointer_keyed_int'
  524 |     (pmc)->vtable->get_pointer_keyed_int(interp, pmc, key)
      |                                                  ^~~
src/io/pipe.c:340:38: note: in expansion of macro 'IO_GET_VTABLE'
  340 |     const IO_VTABLE * const vtable = IO_GET_VTABLE(interp, (PMC*)handle);
      |                                      ^~~~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_open':
src/io/pipe.c:467:49: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  467 |     SETATTR_FileHandle_filename(interp, handle, (STRING*)path);
      |                                                 ^
./include/parrot/vtable.h:710:51: note: in definition of macro 'VTABLE_set_string_native'
  710 |     (pmc)->vtable->set_string_native(interp, pmc, value)
      |                                                   ^~~~~
src/io/pipe.c:467:5: note: in expansion of macro 'SETATTR_FileHandle_filename'
  467 |     SETATTR_FileHandle_filename(interp, handle, (STRING*)path);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/io/pipe.c:22:
src/io/pipe.c:467:49: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  467 |     SETATTR_FileHandle_filename(interp, handle, (STRING*)path);
      |                                                 ^
./include/pmc/pmc_filehandle.h:237:74: note: in definition of macro 'SETATTR_FileHandle_filename'
  237 |             ((Parrot_FileHandle_attributes *)PMC_data(pmc))->filename = (value); \
      |                                                                          ^~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/pipe.c:20:
src/io/pipe.c:468:45: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  468 |     SETATTR_FileHandle_mode(interp, handle, (STRING*)mode);
      |                                             ^
./include/parrot/vtable.h:710:51: note: in definition of macro 'VTABLE_set_string_native'
  710 |     (pmc)->vtable->set_string_native(interp, pmc, value)
      |                                                   ^~~~~
src/io/pipe.c:468:5: note: in expansion of macro 'SETATTR_FileHandle_mode'
  468 |     SETATTR_FileHandle_mode(interp, handle, (STRING*)mode);
      |     ^~~~~~~~~~~~~~~~~~~~~~~
In file included from src/io/pipe.c:22:
src/io/pipe.c:468:45: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  468 |     SETATTR_FileHandle_mode(interp, handle, (STRING*)mode);
      |                                             ^
./include/pmc/pmc_filehandle.h:262:70: note: in definition of macro 'SETATTR_FileHandle_mode'
  262 |             ((Parrot_FileHandle_attributes *)PMC_data(pmc))->mode = (value); \
      |                                                                      ^~~~~
In file included from ./include/parrot/string.h:20,
                 from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/pipe.c:20:
src/io/pipe.c: In function 'io_pipe_get_encoding':
src/io/pipe.c:543:41: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  543 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |                                         ^
./include/parrot/pobj.h:222:29: note: in definition of macro 'PObj_get_FLAGS'
  222 | #define PObj_get_FLAGS(o) ((o)->flags)
      |                             ^
./include/parrot/pobj.h:289:32: note: in expansion of macro 'PObj_flag_TEST'
  289 | #define PObj_is_object_TEST(o) PObj_flag_TEST(is_object, o)
      |                                ^~~~~~~~~~~~~~
./include/pmc/pmc_filehandle.h:170:14: note: in expansion of macro 'PObj_is_object_TEST'
  170 |         if (!PObj_is_object_TEST(pmc)) { \
      |              ^~~~~~~~~~~~~~~~~~~
src/io/pipe.c:543:5: note: in expansion of macro 'GETATTR_FileHandle_encoding'
  543 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:543:41: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  543 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |                                         ^
./include/parrot/pobj.h:112:42: note: in definition of macro 'PMC_data'
  112 | #define PMC_data(pmc)                   (pmc)->data
      |                                          ^~~
src/io/pipe.c:543:5: note: in expansion of macro 'GETATTR_FileHandle_encoding'
  543 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:259,
                 from src/io/pipe.c:20:
src/io/pipe.c:543:41: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  543 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |                                         ^
./include/parrot/vtable.h:486:6: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |      ^~~
src/io/pipe.c:543:5: note: in expansion of macro 'GETATTR_FileHandle_encoding'
  543 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:543:41: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  543 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |                                         ^
./include/parrot/vtable.h:486:41: note: in definition of macro 'VTABLE_get_attr_str'
  486 |     (pmc)->vtable->get_attr_str(interp, pmc, idx)
      |                                         ^~~
src/io/pipe.c:543:5: note: in expansion of macro 'GETATTR_FileHandle_encoding'
  543 |     GETATTR_FileHandle_encoding(interp, (PMC*)handle, encoding_str);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/pipe.c:20:
src/io/pipe.c: In function 'io_pipe_set_eof':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/pipe.c:167:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  167 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_set_eof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:319:5: note: in expansion of macro 'ASSERT_ARGS'
  319 |     ASSERT_ARGS(io_pipe_set_eof)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_set_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/pipe.c:169:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  169 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_set_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:563:5: note: in expansion of macro 'ASSERT_ARGS'
  563 |     ASSERT_ARGS(io_pipe_set_flags)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_get_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/pipe.c:143:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  143 |        PARROT_ASSERT_ARG(handle))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_get_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:580:5: note: in expansion of macro 'ASSERT_ARGS'
  580 |     ASSERT_ARGS(io_pipe_get_flags)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_is_open':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:152:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_is_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:487:5: note: in expansion of macro 'ASSERT_ARGS'
  487 |     ASSERT_ARGS(io_pipe_is_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:153:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  153 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_is_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:487:5: note: in expansion of macro 'ASSERT_ARGS'
  487 |     ASSERT_ARGS(io_pipe_is_open)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_get_piohandle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:145:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_get_piohandle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:616:5: note: in expansion of macro 'ASSERT_ARGS'
  616 |     ASSERT_ARGS(io_pipe_get_piohandle)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:146:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  146 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_get_piohandle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:616:5: note: in expansion of macro 'ASSERT_ARGS'
  616 |     ASSERT_ARGS(io_pipe_get_piohandle)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_is_eof':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:149:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  149 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_is_eof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:308:5: note: in expansion of macro 'ASSERT_ARGS'
  308 |     ASSERT_ARGS(io_pipe_is_eof)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:150:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  150 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_is_eof'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:308:5: note: in expansion of macro 'ASSERT_ARGS'
  308 |     ASSERT_ARGS(io_pipe_is_eof)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_read_b':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:160:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  160 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:239:5: note: in expansion of macro 'ASSERT_ARGS'
  239 |     ASSERT_ARGS(io_pipe_read_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:161:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  161 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:239:5: note: in expansion of macro 'ASSERT_ARGS'
  239 |     ASSERT_ARGS(io_pipe_read_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:162:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  162 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_read_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:239:5: note: in expansion of macro 'ASSERT_ARGS'
  239 |     ASSERT_ARGS(io_pipe_read_b)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_write_b':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:176:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  176 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:266:5: note: in expansion of macro 'ASSERT_ARGS'
  266 |     ASSERT_ARGS(io_pipe_write_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:177:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  177 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:266:5: note: in expansion of macro 'ASSERT_ARGS'
  266 |     ASSERT_ARGS(io_pipe_write_b)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:178:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  178 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_write_b'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:266:5: note: in expansion of macro 'ASSERT_ARGS'
  266 |     ASSERT_ARGS(io_pipe_write_b)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_flush':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:137:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  137 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:284:5: note: in expansion of macro 'ASSERT_ARGS'
  284 |     ASSERT_ARGS(io_pipe_flush)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:138:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  138 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:284:5: note: in expansion of macro 'ASSERT_ARGS'
  284 |     ASSERT_ARGS(io_pipe_flush)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_tell':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:172:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  172 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:339:5: note: in expansion of macro 'ASSERT_ARGS'
  339 |     ASSERT_ARGS(io_pipe_tell)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:173:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  173 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_tell'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:339:5: note: in expansion of macro 'ASSERT_ARGS'
  339 |     ASSERT_ARGS(io_pipe_tell)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_seek':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:164:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  164 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:360:5: note: in expansion of macro 'ASSERT_ARGS'
  360 |     ASSERT_ARGS(io_pipe_seek)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:165:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_seek'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:360:5: note: in expansion of macro 'ASSERT_ARGS'
  360 |     ASSERT_ARGS(io_pipe_seek)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_open':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:155:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  155 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:438:5: note: in expansion of macro 'ASSERT_ARGS'
  438 |     ASSERT_ARGS(io_pipe_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:156:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  156 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:438:5: note: in expansion of macro 'ASSERT_ARGS'
  438 |     ASSERT_ARGS(io_pipe_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'path' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:157:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  157 |     , PARROT_ASSERT_ARG(path) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:438:5: note: in expansion of macro 'ASSERT_ARGS'
  438 |     ASSERT_ARGS(io_pipe_open)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mode' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:158:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  158 |     , PARROT_ASSERT_ARG(mode))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:438:5: note: in expansion of macro 'ASSERT_ARGS'
  438 |     ASSERT_ARGS(io_pipe_open)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_close':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:134:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  134 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_close'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:505:5: note: in expansion of macro 'ASSERT_ARGS'
  505 |     ASSERT_ARGS(io_pipe_close)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:135:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  135 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_close'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:505:5: note: in expansion of macro 'ASSERT_ARGS'
  505 |     ASSERT_ARGS(io_pipe_close)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_get_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:140:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  140 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_get_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:540:5: note: in expansion of macro 'ASSERT_ARGS'
  540 |     ASSERT_ARGS(io_pipe_get_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/pipe.c:141:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  141 |     , PARROT_ASSERT_ARG(handle))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_get_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:540:5: note: in expansion of macro 'ASSERT_ARGS'
  540 |     ASSERT_ARGS(io_pipe_get_encoding)
      |     ^~~~~~~~~~~
src/io/pipe.c: In function 'io_pipe_setup_vtable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/io_private.h:431:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  431 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_pipe_setup_vtable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/pipe.c:196:5: note: in expansion of macro 'ASSERT_ARGS'
  196 |     ASSERT_ARGS(io_pipe_setup_vtable)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/io/. -Isrc -o src/io/userhandle.o -c src/io/userhandle.c
In file included from ./include/parrot/parrot.h:261,
                 from src/io/userhandle.c:21:
src/io/userhandle.c: In function 'io_userhandle_setup_vtable':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/io_private.h:473:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  473 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_userhandle_setup_vtable'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/userhandle.c:181:5: note: in expansion of macro 'ASSERT_ARGS'
  181 |     ASSERT_ARGS(io_userhandle_setup_vtable)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/io/. -Isrc -o src/io/utilities.o -c src/io/utilities.c
src/io/utilities.c: In function 'io_verify_string_encoding':
src/io/utilities.c:251:16: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
  251 |         return (STRING*)s;
      |                ^
In file included from ./include/parrot/parrot.h:261,
                 from src/io/utilities.c:22:
src/io/utilities.c: In function 'Parrot_io_parse_open_flags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:312:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  312 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_parse_open_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:47:5: note: in expansion of macro 'ASSERT_ARGS'
   47 |     ASSERT_ARGS(Parrot_io_parse_open_flags)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/utilities.c:22:
./include/parrot/interpreter.h:330:46: warning: 'nonnull' argument 'mode_str' compared to NULL [-Wnonnull-compare]
  330 | #define STRING_IS_NULL(s) ((s) == STRINGNULL || (s) == NULL)
      |                           ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/io/utilities.c:51:9: note: in expansion of macro 'STRING_IS_NULL'
   51 |     if (STRING_IS_NULL(mode_str))
      |         ^~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/utilities.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'mode_str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:313:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  313 |     , PARROT_ASSERT_ARG(mode_str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_Parrot_io_parse_open_flags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:47:5: note: in expansion of macro 'ASSERT_ARGS'
   47 |     ASSERT_ARGS(Parrot_io_parse_open_flags)
      |     ^~~~~~~~~~~
src/io/utilities.c: In function 'io_get_new_filehandle':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/io_private.h:321:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  321 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_get_new_filehandle'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:112:5: note: in expansion of macro 'ASSERT_ARGS'
  112 |     ASSERT_ARGS(io_get_new_filehandle)
      |     ^~~~~~~~~~~
src/io/utilities.c: In function 'io_get_new_socket':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/io_private.h:323:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  323 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_get_new_socket'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:123:5: note: in expansion of macro 'ASSERT_ARGS'
  123 |     ASSERT_ARGS(io_get_new_socket)
      |     ^~~~~~~~~~~
src/io/utilities.c: In function 'io_get_new_empty_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/io/io_private.h:319:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  319 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_get_new_empty_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:135:5: note: in expansion of macro 'ASSERT_ARGS'
  135 |     ASSERT_ARGS(io_get_new_empty_string)
      |     ^~~~~~~~~~~
src/io/utilities.c: In function 'io_verify_is_open_for':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:353:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  353 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_verify_is_open_for'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:173:5: note: in expansion of macro 'ASSERT_ARGS'
  173 |     ASSERT_ARGS(io_verify_is_open_for)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:354:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  354 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_verify_is_open_for'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:173:5: note: in expansion of macro 'ASSERT_ARGS'
  173 |     ASSERT_ARGS(io_verify_is_open_for)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:355:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  355 |     , PARROT_ASSERT_ARG(vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_verify_is_open_for'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:173:5: note: in expansion of macro 'ASSERT_ARGS'
  173 |     ASSERT_ARGS(io_verify_is_open_for)
      |     ^~~~~~~~~~~
src/io/utilities.c: In function 'io_verify_has_read_buffer':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:349:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  349 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_verify_has_read_buffer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:211:5: note: in expansion of macro 'ASSERT_ARGS'
  211 |     ASSERT_ARGS(io_verify_has_read_buffer)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:350:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  350 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_verify_has_read_buffer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:211:5: note: in expansion of macro 'ASSERT_ARGS'
  211 |     ASSERT_ARGS(io_verify_has_read_buffer)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:351:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  351 |     , PARROT_ASSERT_ARG(vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_verify_has_read_buffer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:211:5: note: in expansion of macro 'ASSERT_ARGS'
  211 |     ASSERT_ARGS(io_verify_has_read_buffer)
      |     ^~~~~~~~~~~
src/io/utilities.c: In function 'io_read_chars_append_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:325:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  325 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_read_chars_append_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:366:5: note: in expansion of macro 'ASSERT_ARGS'
  366 |     ASSERT_ARGS(io_read_chars_append_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:326:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  326 |     , PARROT_ASSERT_ARG(s) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_read_chars_append_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:366:5: note: in expansion of macro 'ASSERT_ARGS'
  366 |     ASSERT_ARGS(io_read_chars_append_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:327:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  327 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_read_chars_append_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:366:5: note: in expansion of macro 'ASSERT_ARGS'
  366 |     ASSERT_ARGS(io_read_chars_append_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:328:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  328 |     , PARROT_ASSERT_ARG(vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_read_chars_append_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:366:5: note: in expansion of macro 'ASSERT_ARGS'
  366 |     ASSERT_ARGS(io_read_chars_append_string)
      |     ^~~~~~~~~~~
src/io/utilities.c: In function 'io_get_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:315:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  315 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_get_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:482:5: note: in expansion of macro 'ASSERT_ARGS'
  482 |     ASSERT_ARGS(io_get_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:316:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  316 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_get_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:482:5: note: in expansion of macro 'ASSERT_ARGS'
  482 |     ASSERT_ARGS(io_get_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:317:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  317 |     , PARROT_ASSERT_ARG(vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_get_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:482:5: note: in expansion of macro 'ASSERT_ARGS'
  482 |     ASSERT_ARGS(io_get_encoding)
      |     ^~~~~~~~~~~
src/io/utilities.c: In function 'io_verify_string_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:357:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  357 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_verify_string_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:245:5: note: in expansion of macro 'ASSERT_ARGS'
  245 |     ASSERT_ARGS(io_verify_string_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:358:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  358 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_verify_string_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:245:5: note: in expansion of macro 'ASSERT_ARGS'
  245 |     ASSERT_ARGS(io_verify_string_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:359:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  359 |     , PARROT_ASSERT_ARG(vtable) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_verify_string_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:245:5: note: in expansion of macro 'ASSERT_ARGS'
  245 |     ASSERT_ARGS(io_verify_string_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:360:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  360 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_verify_string_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:245:5: note: in expansion of macro 'ASSERT_ARGS'
  245 |     ASSERT_ARGS(io_verify_string_encoding)
      |     ^~~~~~~~~~~
src/io/utilities.c: In function 'io_read_encoded_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:330:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  330 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_read_encoded_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:279:5: note: in expansion of macro 'ASSERT_ARGS'
  279 |     ASSERT_ARGS(io_read_encoded_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:331:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  331 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_read_encoded_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:279:5: note: in expansion of macro 'ASSERT_ARGS'
  279 |     ASSERT_ARGS(io_read_encoded_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:332:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  332 |     , PARROT_ASSERT_ARG(vtable) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_read_encoded_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:279:5: note: in expansion of macro 'ASSERT_ARGS'
  279 |     ASSERT_ARGS(io_read_encoded_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:333:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  333 |     , PARROT_ASSERT_ARG(buffer))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_read_encoded_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:279:5: note: in expansion of macro 'ASSERT_ARGS'
  279 |     ASSERT_ARGS(io_read_encoded_string)
      |     ^~~~~~~~~~~
src/io/utilities.c: In function 'io_readline_encoded_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:335:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  335 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_readline_encoded_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:411:5: note: in expansion of macro 'ASSERT_ARGS'
  411 |     ASSERT_ARGS(io_readline_encoded_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:336:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  336 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_readline_encoded_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:411:5: note: in expansion of macro 'ASSERT_ARGS'
  411 |     ASSERT_ARGS(io_readline_encoded_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:337:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  337 |     , PARROT_ASSERT_ARG(vtable) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_readline_encoded_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:411:5: note: in expansion of macro 'ASSERT_ARGS'
  411 |     ASSERT_ARGS(io_readline_encoded_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buffer' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:338:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  338 |     , PARROT_ASSERT_ARG(buffer) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_readline_encoded_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:411:5: note: in expansion of macro 'ASSERT_ARGS'
  411 |     ASSERT_ARGS(io_readline_encoded_string)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/io/utilities.c:22:
./include/parrot/string.h:27:57: warning: 'nonnull' argument 'rs' compared to NULL [-Wnonnull-compare]
   27 | #define STRING_byte_length(src) ((src) ? (src)->bufused : 0U)
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/io/utilities.c:416:31: note: in expansion of macro 'STRING_byte_length'
  416 |     const size_t delim_size = STRING_byte_length(rs);
      |                               ^~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/io/utilities.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:339:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  339 |     , PARROT_ASSERT_ARG(rs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_readline_encoded_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:411:5: note: in expansion of macro 'ASSERT_ARGS'
  411 |     ASSERT_ARGS(io_readline_encoded_string)
      |     ^~~~~~~~~~~
src/io/utilities.c: In function 'io_sync_buffers_for_read':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:341:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  341 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_sync_buffers_for_read'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:511:5: note: in expansion of macro 'ASSERT_ARGS'
  511 |     ASSERT_ARGS(io_sync_buffers_for_read)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:342:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  342 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_sync_buffers_for_read'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:511:5: note: in expansion of macro 'ASSERT_ARGS'
  511 |     ASSERT_ARGS(io_sync_buffers_for_read)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:343:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  343 |     , PARROT_ASSERT_ARG(vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_sync_buffers_for_read'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:511:5: note: in expansion of macro 'ASSERT_ARGS'
  511 |     ASSERT_ARGS(io_sync_buffers_for_read)
      |     ^~~~~~~~~~~
src/io/utilities.c: In function 'io_sync_buffers_for_write':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:345:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  345 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_sync_buffers_for_write'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:544:5: note: in expansion of macro 'ASSERT_ARGS'
  544 |     ASSERT_ARGS(io_sync_buffers_for_write)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'handle' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:346:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  346 |     , PARROT_ASSERT_ARG(handle) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_sync_buffers_for_write'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:544:5: note: in expansion of macro 'ASSERT_ARGS'
  544 |     ASSERT_ARGS(io_sync_buffers_for_write)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'vtable' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/io/io_private.h:347:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  347 |     , PARROT_ASSERT_ARG(vtable))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_io_sync_buffers_for_write'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/io/utilities.c:544:5: note: in expansion of macro 'ASSERT_ARGS'
  544 |     ASSERT_ARGS(io_sync_buffers_for_write)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/default.o -c src/pmc/default.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/null.o -c src/pmc/null.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/env.o -c src/pmc/env.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/key.o -c src/pmc/key.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/unmanagedstruct.o -c src/pmc/unmanagedstruct.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/managedstruct.o -c src/pmc/managedstruct.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/exception.o -c src/pmc/exception.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/parrotlibrary.o -c src/pmc/parrotlibrary.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/parrotinterpreter.o -c src/pmc/parrotinterpreter.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/lexpad.o -c src/pmc/lexpad.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/timer.o -c src/pmc/timer.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/pointer.o -c src/pmc/pointer.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/sub.o -c src/pmc/sub.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/continuation.o -c src/pmc/continuation.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/coroutine.o -c src/pmc/coroutine.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/nci.o -c src/pmc/nci.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/float.o -c src/pmc/float.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/integer.o -c src/pmc/integer.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/bigint.o -c src/pmc/bigint.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/bignum.o -c src/pmc/bignum.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/complex.o -c src/pmc/complex.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/string.o -c src/pmc/string.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/boolean.o -c src/pmc/boolean.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/fixedintegerarray.o -c src/pmc/fixedintegerarray.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/iterator.o -c src/pmc/iterator.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/fixedstringarray.o -c src/pmc/fixedstringarray.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/hash.o -c src/pmc/hash.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/orderedhash.o -c src/pmc/orderedhash.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/oplib.o -c src/pmc/oplib.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/opcode.o -c src/pmc/opcode.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/callcontext.o -c src/pmc/callcontext.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/addrregistry.o -c src/pmc/addrregistry.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/alarm.o -c src/pmc/alarm.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/arrayiterator.o -c src/pmc/arrayiterator.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/bytebuffer.o -c src/pmc/bytebuffer.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/callback.o -c src/pmc/callback.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/capture.o -c src/pmc/capture.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/class.o -c src/pmc/class.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/eventhandler.o -c src/pmc/eventhandler.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/exceptionhandler.o -c src/pmc/exceptionhandler.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/exporter.o -c src/pmc/exporter.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/filehandle.o -c src/pmc/filehandle.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/fixedbooleanarray.o -c src/pmc/fixedbooleanarray.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/fixedfloatarray.o -c src/pmc/fixedfloatarray.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/fixedpmcarray.o -c src/pmc/fixedpmcarray.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/handle.o -c src/pmc/handle.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/hashiterator.o -c src/pmc/hashiterator.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/hashiteratorkey.o -c src/pmc/hashiteratorkey.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/imageiofreeze.o -c src/pmc/imageiofreeze.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/imageiosize.o -c src/pmc/imageiosize.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/imageiostrings.o -c src/pmc/imageiostrings.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/imageiothaw.o -c src/pmc/imageiothaw.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/imccompiler.o -c src/pmc/imccompiler.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/lexinfo.o -c src/pmc/lexinfo.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/mappedbytearray.o -c src/pmc/mappedbytearray.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/multisub.o -c src/pmc/multisub.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/namespace.o -c src/pmc/namespace.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/nativepccmethod.o -c src/pmc/nativepccmethod.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/object.o -c src/pmc/object.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/orderedhashiterator.o -c src/pmc/orderedhashiterator.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/os.o -c src/pmc/os.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/packfile.o -c src/pmc/packfile.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/packfileannotation.o -c src/pmc/packfileannotation.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/packfileannotations.o -c src/pmc/packfileannotations.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/packfilebytecodesegment.o -c src/pmc/packfilebytecodesegment.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/packfileconstanttable.o -c src/pmc/packfileconstanttable.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/packfiledebug.o -c src/pmc/packfiledebug.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/packfiledirectory.o -c src/pmc/packfiledirectory.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/packfileopmap.o -c src/pmc/packfileopmap.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/packfilerawsegment.o -c src/pmc/packfilerawsegment.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/packfilesegment.o -c src/pmc/packfilesegment.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/packfileview.o -c src/pmc/packfileview.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/pmclist.o -c src/pmc/pmclist.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/pmcproxy.o -c src/pmc/pmcproxy.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/proxy.o -c src/pmc/proxy.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/ptr.o -c src/pmc/ptr.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/ptrbuf.o -c src/pmc/ptrbuf.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/ptrobj.o -c src/pmc/ptrobj.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/resizablebooleanarray.o -c src/pmc/resizablebooleanarray.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/resizablefloatarray.o -c src/pmc/resizablefloatarray.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/resizableintegerarray.o -c src/pmc/resizableintegerarray.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/resizablepmcarray.o -c src/pmc/resizablepmcarray.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/resizablestringarray.o -c src/pmc/resizablestringarray.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/role.o -c src/pmc/role.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/scalar.o -c src/pmc/scalar.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/scheduler.o -c src/pmc/scheduler.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/schedulermessage.o -c src/pmc/schedulermessage.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/sockaddr.o -c src/pmc/sockaddr.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/socket.o -c src/pmc/socket.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/stringbuilder.o -c src/pmc/stringbuilder.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/stringhandle.o -c src/pmc/stringhandle.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/stringiterator.o -c src/pmc/stringiterator.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/structview.o -c src/pmc/structview.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/task.o -c src/pmc/task.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -fPIC  -Isrc/pmc/. -o src/pmc/undef.o -c src/pmc/undef.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  \
  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden \
  -Isrc/string/encoding/. -o src/string/encoding/shared.o -c src/string/encoding/shared.c
src/string/encoding/shared.c: In function 'unicode_compose':
src/string/encoding/shared.c:1407:5: warning: 'unorm_normalize' is deprecated [-Wdeprecated-declarations]
 1407 |     dest_len = unorm_normalize((UChar *)src->strstart, src_len,
      |     ^~~~~~~~
In file included from src/string/encoding/shared.c:31:
/usr/include/unicode/unorm.h:218:1: note: declared here
  218 | unorm_normalize(const UChar *source, int32_t sourceLength,
      | ^~~~~~~~~~~~~~~
src/string/encoding/shared.c:1418:9: warning: 'unorm_normalize' is deprecated [-Wdeprecated-declarations]
 1418 |         dest_len = unorm_normalize((UChar *)src->strstart, src_len,
      |         ^~~~~~~~
In file included from src/string/encoding/shared.c:31:
/usr/include/unicode/unorm.h:218:1: note: declared here
  218 | unorm_normalize(const UChar *source, int32_t sourceLength,
      | ^~~~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
src/string/encoding/shared.c: In function 'encoding_to_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:318:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  318 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:88:5: note: in expansion of macro 'ASSERT_ARGS'
   88 |     ASSERT_ARGS(encoding_to_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:319:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  319 |     , PARROT_ASSERT_ARG(src) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:88:5: note: in expansion of macro 'ASSERT_ARGS'
   88 |     ASSERT_ARGS(encoding_to_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'encoding' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:320:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  320 |     , PARROT_ASSERT_ARG(encoding))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:88:5: note: in expansion of macro 'ASSERT_ARGS'
   88 |     ASSERT_ARGS(encoding_to_encoding)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'encoding_equal':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:285:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  285 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_equal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:151:5: note: in expansion of macro 'ASSERT_ARGS'
  151 |     ASSERT_ARGS(encoding_equal)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c:164:16: warning: 'nonnull' argument 'lhs' compared to NULL [-Wnonnull-compare]
  164 |         return memcmp(lhs->strstart, rhs->strstart, STRING_byte_length(lhs)) == 0;
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'lhs' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:153:25: note: in expansion of macro 'STRING_length'
  153 |     const UINTVAL len = STRING_length(lhs);
      |                         ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lhs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:286:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  286 |     , PARROT_ASSERT_ARG(lhs) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_equal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:151:5: note: in expansion of macro 'ASSERT_ARGS'
  151 |     ASSERT_ARGS(encoding_equal)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:155:16: note: in expansion of macro 'STRING_length'
  155 |     if (len != STRING_length(rhs))
      |                ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:287:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  287 |     , PARROT_ASSERT_ARG(rhs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_equal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:151:5: note: in expansion of macro 'ASSERT_ARGS'
  151 |     ASSERT_ARGS(encoding_equal)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'encoding_compare':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:279:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  279 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_compare'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:197:5: note: in expansion of macro 'ASSERT_ARGS'
  197 |     ASSERT_ARGS(encoding_compare)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'lhs' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:199:27: note: in expansion of macro 'STRING_length'
  199 |     const UINTVAL l_len = STRING_length(lhs);
      |                           ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lhs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:280:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  280 |     , PARROT_ASSERT_ARG(lhs) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_compare'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:197:5: note: in expansion of macro 'ASSERT_ARGS'
  197 |     ASSERT_ARGS(encoding_compare)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:200:27: note: in expansion of macro 'STRING_length'
  200 |     const UINTVAL r_len = STRING_length(rhs);
      |                           ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:281:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  281 |     , PARROT_ASSERT_ARG(rhs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_compare'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:197:5: note: in expansion of macro 'ASSERT_ARGS'
  197 |     ASSERT_ARGS(encoding_compare)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'encoding_index':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:301:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  301 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:250:5: note: in expansion of macro 'ASSERT_ARGS'
  250 |     ASSERT_ARGS(encoding_index)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:253:28: note: in expansion of macro 'STRING_length'
  253 |     if ((UINTVAL)offset >= STRING_length(src)
      |                            ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:302:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  302 |     , PARROT_ASSERT_ARG(src) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:250:5: note: in expansion of macro 'ASSERT_ARGS'
  250 |     ASSERT_ARGS(encoding_index)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c:254:5: warning: 'nonnull' argument 'search' compared to NULL [-Wnonnull-compare]
  254 |     ||  !STRING_length(search))
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'search' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:303:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  303 |     , PARROT_ASSERT_ARG(search))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:250:5: note: in expansion of macro 'ASSERT_ARGS'
  250 |     ASSERT_ARGS(encoding_index)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'encoding_rindex':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:311:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  311 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_rindex'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:281:5: note: in expansion of macro 'ASSERT_ARGS'
  281 |     ASSERT_ARGS(encoding_rindex)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:312:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  312 |     , PARROT_ASSERT_ARG(src) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_rindex'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:281:5: note: in expansion of macro 'ASSERT_ARGS'
  281 |     ASSERT_ARGS(encoding_rindex)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'search' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:313:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  313 |     , PARROT_ASSERT_ARG(search))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_rindex'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:281:5: note: in expansion of macro 'ASSERT_ARGS'
  281 |     ASSERT_ARGS(encoding_rindex)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'encoding_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:298:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  298 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:345:5: note: in expansion of macro 'ASSERT_ARGS'
  345 |     ASSERT_ARGS(encoding_hash)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:299:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  299 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:345:5: note: in expansion of macro 'ASSERT_ARGS'
  345 |     ASSERT_ARGS(encoding_hash)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'u_iscclass':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/shared.c:63:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   63 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_u_iscclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:377:5: note: in expansion of macro 'ASSERT_ARGS'
  377 |     ASSERT_ARGS(u_iscclass)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'encoding_ord_error':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:308:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  308 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_ord_error'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:485:5: note: in expansion of macro 'ASSERT_ARGS'
  485 |     ASSERT_ARGS(encoding_ord_error)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:486:25: note: in expansion of macro 'STRING_length'
  486 |     const UINTVAL len = STRING_length(s);
      |                         ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:309:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  309 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_ord_error'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:485:5: note: in expansion of macro 'ASSERT_ARGS'
  485 |     ASSERT_ARGS(encoding_ord_error)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'encoding_substr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:315:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  315 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_substr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:521:5: note: in expansion of macro 'ASSERT_ARGS'
  521 |     ASSERT_ARGS(encoding_substr)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:522:29: note: in expansion of macro 'STRING_length'
  522 |     const UINTVAL  strlen = STRING_length(src);
      |                             ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:316:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  316 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_substr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:521:5: note: in expansion of macro 'ASSERT_ARGS'
  521 |     ASSERT_ARGS(encoding_substr)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'encoding_is_cclass':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:305:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  305 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_is_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:584:5: note: in expansion of macro 'ASSERT_ARGS'
  584 |     ASSERT_ARGS(encoding_is_cclass)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:306:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  306 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_is_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:584:5: note: in expansion of macro 'ASSERT_ARGS'
  584 |     ASSERT_ARGS(encoding_is_cclass)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'encoding_find_cclass':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:289:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  289 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_find_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:615:5: note: in expansion of macro 'ASSERT_ARGS'
  615 |     ASSERT_ARGS(encoding_find_cclass)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:290:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  290 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_find_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:615:5: note: in expansion of macro 'ASSERT_ARGS'
  615 |     ASSERT_ARGS(encoding_find_cclass)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'encoding_find_not_cclass':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:292:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  292 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_find_not_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:677:5: note: in expansion of macro 'ASSERT_ARGS'
  677 |     ASSERT_ARGS(encoding_find_not_cclass)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:293:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  293 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_find_not_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:677:5: note: in expansion of macro 'ASSERT_ARGS'
  677 |     ASSERT_ARGS(encoding_find_not_cclass)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'encoding_get_graphemes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:295:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  295 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_get_graphemes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:753:5: note: in expansion of macro 'ASSERT_ARGS'
  753 |     ASSERT_ARGS(encoding_get_graphemes)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:296:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  296 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_get_graphemes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:753:5: note: in expansion of macro 'ASSERT_ARGS'
  753 |     ASSERT_ARGS(encoding_get_graphemes)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'encoding_decompose':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/shared.h:283:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  283 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_encoding_decompose'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:772:5: note: in expansion of macro 'ASSERT_ARGS'
  772 |     ASSERT_ARGS(encoding_decompose)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_to_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:365:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  365 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:795:5: note: in expansion of macro 'ASSERT_ARGS'
  795 |     ASSERT_ARGS(fixed8_to_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:366:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  366 |     , PARROT_ASSERT_ARG(src) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:795:5: note: in expansion of macro 'ASSERT_ARGS'
  795 |     ASSERT_ARGS(fixed8_to_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'enc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:367:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  367 |     , PARROT_ASSERT_ARG(enc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:795:5: note: in expansion of macro 'ASSERT_ARGS'
  795 |     ASSERT_ARGS(fixed8_to_encoding)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_equal':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:329:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  329 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_equal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:860:5: note: in expansion of macro 'ASSERT_ARGS'
  860 |     ASSERT_ARGS(fixed8_equal)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'lhs' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:861:25: note: in expansion of macro 'STRING_length'
  861 |     const UINTVAL len = STRING_length(lhs);
      |                         ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lhs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:330:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  330 |     , PARROT_ASSERT_ARG(lhs) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_equal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:860:5: note: in expansion of macro 'ASSERT_ARGS'
  860 |     ASSERT_ARGS(fixed8_equal)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:863:16: note: in expansion of macro 'STRING_length'
  863 |     if (len != STRING_length(rhs))
      |                ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:331:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  331 |     , PARROT_ASSERT_ARG(rhs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_equal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:860:5: note: in expansion of macro 'ASSERT_ARGS'
  860 |     ASSERT_ARGS(fixed8_equal)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_compare':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:322:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  322 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_compare'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:909:5: note: in expansion of macro 'ASSERT_ARGS'
  909 |     ASSERT_ARGS(fixed8_compare)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'lhs' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:910:27: note: in expansion of macro 'STRING_length'
  910 |     const UINTVAL l_len = STRING_length(lhs);
      |                           ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lhs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:323:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  323 |     , PARROT_ASSERT_ARG(lhs) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_compare'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:909:5: note: in expansion of macro 'ASSERT_ARGS'
  909 |     ASSERT_ARGS(fixed8_compare)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:911:27: note: in expansion of macro 'STRING_length'
  911 |     const UINTVAL r_len = STRING_length(rhs);
      |                           ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:324:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  324 |     , PARROT_ASSERT_ARG(rhs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_compare'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:909:5: note: in expansion of macro 'ASSERT_ARGS'
  909 |     ASSERT_ARGS(fixed8_compare)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_index':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:339:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  339 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:967:5: note: in expansion of macro 'ASSERT_ARGS'
  967 |     ASSERT_ARGS(fixed8_index)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:972:28: note: in expansion of macro 'STRING_length'
  972 |     if ((UINTVAL)offset >= STRING_length(src)
      |                            ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:340:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  340 |     , PARROT_ASSERT_ARG(src) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:967:5: note: in expansion of macro 'ASSERT_ARGS'
  967 |     ASSERT_ARGS(fixed8_index)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c:973:5: warning: 'nonnull' argument 'search' compared to NULL [-Wnonnull-compare]
  973 |     ||  !STRING_length(search))
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'search' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:341:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  341 |     , PARROT_ASSERT_ARG(search))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_index'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:967:5: note: in expansion of macro 'ASSERT_ARGS'
  967 |     ASSERT_ARGS(fixed8_index)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_rindex':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:361:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  361 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_rindex'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:997:5: note: in expansion of macro 'ASSERT_ARGS'
  997 |     ASSERT_ARGS(fixed8_rindex)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:362:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  362 |     , PARROT_ASSERT_ARG(src) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_rindex'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:997:5: note: in expansion of macro 'ASSERT_ARGS'
  997 |     ASSERT_ARGS(fixed8_rindex)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c:1003:5: warning: 'nonnull' argument 'search_string' compared to NULL [-Wnonnull-compare]
 1003 |     ||  !STRING_length(search_string))
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'search_string' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:363:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  363 |     , PARROT_ASSERT_ARG(search_string))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_rindex'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:997:5: note: in expansion of macro 'ASSERT_ARGS'
  997 |     ASSERT_ARGS(fixed8_rindex)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/shared.h:337:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  337 |        PARROT_ASSERT_ARG(src))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1024:5: note: in expansion of macro 'ASSERT_ARGS'
 1024 |     ASSERT_ARGS(fixed8_hash)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_ord':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:358:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  358 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_ord'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1047:5: note: in expansion of macro 'ASSERT_ARGS'
 1047 |     ASSERT_ARGS(fixed8_ord)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:1048:25: note: in expansion of macro 'STRING_length'
 1048 |     const UINTVAL len = STRING_length(src);
      |                         ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:359:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  359 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_ord'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1047:5: note: in expansion of macro 'ASSERT_ARGS'
 1047 |     ASSERT_ARGS(fixed8_ord)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed_substr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:369:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  369 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed_substr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1077:5: note: in expansion of macro 'ASSERT_ARGS'
 1077 |     ASSERT_ARGS(fixed_substr)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/shared.c:22:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/shared.c:1078:29: note: in expansion of macro 'STRING_length'
 1078 |     const UINTVAL  strlen = STRING_length(src);
      |                             ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/shared.c:22:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:370:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  370 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed_substr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1077:5: note: in expansion of macro 'ASSERT_ARGS'
 1077 |     ASSERT_ARGS(fixed_substr)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_is_cclass':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/shared.h:343:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  343 |        PARROT_ASSERT_ARG(src))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_is_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1136:5: note: in expansion of macro 'ASSERT_ARGS'
 1136 |     ASSERT_ARGS(fixed8_is_cclass)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_find_cclass':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/shared.h:333:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  333 |        PARROT_ASSERT_ARG(src))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_find_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1164:5: note: in expansion of macro 'ASSERT_ARGS'
 1164 |     ASSERT_ARGS(fixed8_find_cclass)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_find_not_cclass':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/shared.h:335:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  335 |        PARROT_ASSERT_ARG(src))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_find_not_cclass'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1197:5: note: in expansion of macro 'ASSERT_ARGS'
 1197 |     ASSERT_ARGS(fixed8_find_not_cclass)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_compose':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:326:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  326 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_compose'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1229:5: note: in expansion of macro 'ASSERT_ARGS'
 1229 |     ASSERT_ARGS(fixed8_compose)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:327:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  327 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_compose'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1229:5: note: in expansion of macro 'ASSERT_ARGS'
 1229 |     ASSERT_ARGS(fixed8_compose)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_iter_get':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:345:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  345 |        PARROT_ASSERT_ARG(str) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_iter_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1250:5: note: in expansion of macro 'ASSERT_ARGS'
 1250 |     ASSERT_ARGS(fixed8_iter_get)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'iter' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:346:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  346 |     , PARROT_ASSERT_ARG(iter))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_iter_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1250:5: note: in expansion of macro 'ASSERT_ARGS'
 1250 |     ASSERT_ARGS(fixed8_iter_get)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_iter_skip':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:355:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  355 |        PARROT_ASSERT_ARG(str) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_iter_skip'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1274:5: note: in expansion of macro 'ASSERT_ARGS'
 1274 |     ASSERT_ARGS(fixed8_iter_skip)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'iter' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:356:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  356 |     , PARROT_ASSERT_ARG(iter))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_iter_skip'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1274:5: note: in expansion of macro 'ASSERT_ARGS'
 1274 |     ASSERT_ARGS(fixed8_iter_skip)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_iter_get_and_advance':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:348:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  348 |        PARROT_ASSERT_ARG(str) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_iter_get_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1298:5: note: in expansion of macro 'ASSERT_ARGS'
 1298 |     ASSERT_ARGS(fixed8_iter_get_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'iter' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:349:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  349 |     , PARROT_ASSERT_ARG(iter))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_iter_get_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1298:5: note: in expansion of macro 'ASSERT_ARGS'
 1298 |     ASSERT_ARGS(fixed8_iter_get_and_advance)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'fixed8_iter_set_and_advance':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:351:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  351 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1326:5: note: in expansion of macro 'ASSERT_ARGS'
 1326 |     ASSERT_ARGS(fixed8_iter_set_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:352:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  352 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1326:5: note: in expansion of macro 'ASSERT_ARGS'
 1326 |     ASSERT_ARGS(fixed8_iter_set_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'iter' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:353:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  353 |     , PARROT_ASSERT_ARG(iter))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixed8_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1326:5: note: in expansion of macro 'ASSERT_ARGS'
 1326 |     ASSERT_ARGS(fixed8_iter_set_and_advance)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'unicode_chr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/shared.h:372:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  372 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_chr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1357:5: note: in expansion of macro 'ASSERT_ARGS'
 1357 |     ASSERT_ARGS(unicode_chr)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'unicode_compose':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:374:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  374 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_compose'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1390:5: note: in expansion of macro 'ASSERT_ARGS'
 1390 |     ASSERT_ARGS(unicode_compose)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:375:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  375 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_compose'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1390:5: note: in expansion of macro 'ASSERT_ARGS'
 1390 |     ASSERT_ARGS(unicode_compose)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'convert_case_buf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.c:60:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   60 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_convert_case_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1457:5: note: in expansion of macro 'ASSERT_ARGS'
 1457 |     ASSERT_ARGS(convert_case_buf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src_buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.c:61:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   61 |     , PARROT_ASSERT_ARG(src_buf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_convert_case_buf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1457:5: note: in expansion of macro 'ASSERT_ARGS'
 1457 |     ASSERT_ARGS(convert_case_buf)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'unicode_convert_case':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.c:65:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   65 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_convert_case'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1540:5: note: in expansion of macro 'ASSERT_ARGS'
 1540 |     ASSERT_ARGS(unicode_convert_case)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.c:66:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   66 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_convert_case'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1540:5: note: in expansion of macro 'ASSERT_ARGS'
 1540 |     ASSERT_ARGS(unicode_convert_case)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'unicode_upcase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:387:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  387 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_upcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1583:5: note: in expansion of macro 'ASSERT_ARGS'
 1583 |     ASSERT_ARGS(unicode_upcase)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:388:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  388 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_upcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1583:5: note: in expansion of macro 'ASSERT_ARGS'
 1583 |     ASSERT_ARGS(unicode_upcase)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'unicode_downcase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:377:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  377 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_downcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1607:5: note: in expansion of macro 'ASSERT_ARGS'
 1607 |     ASSERT_ARGS(unicode_downcase)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:378:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  378 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_downcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1607:5: note: in expansion of macro 'ASSERT_ARGS'
 1607 |     ASSERT_ARGS(unicode_downcase)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'unicode_titlecase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:382:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  382 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_titlecase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1631:5: note: in expansion of macro 'ASSERT_ARGS'
 1631 |     ASSERT_ARGS(unicode_titlecase)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/shared.h:383:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  383 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_titlecase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1631:5: note: in expansion of macro 'ASSERT_ARGS'
 1631 |     ASSERT_ARGS(unicode_titlecase)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'unicode_upcase_first':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/shared.h:390:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  390 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_upcase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1656:5: note: in expansion of macro 'ASSERT_ARGS'
 1656 |     ASSERT_ARGS(unicode_upcase_first)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'unicode_downcase_first':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/shared.h:380:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  380 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_downcase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1678:5: note: in expansion of macro 'ASSERT_ARGS'
 1678 |     ASSERT_ARGS(unicode_downcase_first)
      |     ^~~~~~~~~~~
src/string/encoding/shared.c: In function 'unicode_titlecase_first':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/shared.h:385:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  385 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unicode_titlecase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/shared.c:1700:5: note: in expansion of macro 'ASSERT_ARGS'
 1700 |     ASSERT_ARGS(unicode_titlecase_first)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/encoding/. -Isrc -o src/string/encoding/tables.o -c src/string/encoding/tables.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/encoding/. -Isrc -o src/string/encoding/null.o -c src/string/encoding/null.c
src/string/encoding/null.c:146:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} [-Wcast-function-type]
  146 |     (str_vtable_to_encoding_t)null_error,
      |     ^
src/string/encoding/null.c:147:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'STRING * (*)(struct parrot_interp_t *, UINTVAL)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, long unsigned int)'} [-Wcast-function-type]
  147 |     (str_vtable_chr_t)null_error,
      |     ^
src/string/encoding/null.c:151:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'INTVAL (*)(struct parrot_interp_t *, const STRING *, const STRING *, INTVAL)' {aka 'long int (*)(struct parrot_interp_t *, const struct parrot_string_t *, const struct parrot_string_t *, long int)'} [-Wcast-function-type]
  151 |     (str_vtable_index_t)null_error,
      |     ^
src/string/encoding/null.c:152:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'INTVAL (*)(struct parrot_interp_t *, const STRING *, const STRING *, INTVAL)' {aka 'long int (*)(struct parrot_interp_t *, const struct parrot_string_t *, const struct parrot_string_t *, long int)'} [-Wcast-function-type]
  152 |     (str_vtable_rindex_t)null_error,
      |     ^
src/string/encoding/null.c:155:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'void (*)(struct parrot_interp_t *, STRING *)' {aka 'void (*)(struct parrot_interp_t *, struct parrot_string_t *)'} [-Wcast-function-type]
  155 |     (str_vtable_scan_t)null_error,
      |     ^
src/string/encoding/null.c:156:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'INTVAL (*)(struct parrot_interp_t *, const char *, Parrot_String_Bounds *)' {aka 'long int (*)(struct parrot_interp_t *, const char *, struct _Parrot_String_Bounds *)'} [-Wcast-function-type]
  156 |     (str_vtable_partial_scan_t)null_error,
      |     ^
src/string/encoding/null.c:157:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'UINTVAL (*)(struct parrot_interp_t *, const STRING *, INTVAL)' {aka 'long unsigned int (*)(struct parrot_interp_t *, const struct parrot_string_t *, long int)'} [-Wcast-function-type]
  157 |     (str_vtable_ord_t)null_error,
      |     ^
src/string/encoding/null.c:158:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'STRING * (*)(struct parrot_interp_t *, const STRING *, INTVAL,  INTVAL)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *, long int,  long int)'} [-Wcast-function-type]
  158 |     (str_vtable_substr_t)null_error,
      |     ^
src/string/encoding/null.c:160:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'INTVAL (*)(struct parrot_interp_t *, INTVAL,  const STRING *, UINTVAL)' {aka 'long int (*)(struct parrot_interp_t *, long int,  const struct parrot_string_t *, long unsigned int)'} [-Wcast-function-type]
  160 |     (str_vtable_is_cclass_t)null_error,
      |     ^
src/string/encoding/null.c:161:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'INTVAL (*)(struct parrot_interp_t *, INTVAL,  const STRING *, UINTVAL,  UINTVAL)' {aka 'long int (*)(struct parrot_interp_t *, long int,  const struct parrot_string_t *, long unsigned int,  long unsigned int)'} [-Wcast-function-type]
  161 |     (str_vtable_find_cclass_t)null_error,
      |     ^
src/string/encoding/null.c:162:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'INTVAL (*)(struct parrot_interp_t *, INTVAL,  const STRING *, UINTVAL,  UINTVAL)' {aka 'long int (*)(struct parrot_interp_t *, long int,  const struct parrot_string_t *, long unsigned int,  long unsigned int)'} [-Wcast-function-type]
  162 |     (str_vtable_find_not_cclass_t)null_error,
      |     ^
src/string/encoding/null.c:164:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'STRING * (*)(struct parrot_interp_t *, const STRING *, UINTVAL,  UINTVAL)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *, long unsigned int,  long unsigned int)'} [-Wcast-function-type]
  164 |     (str_vtable_get_graphemes_t)null_error,
      |     ^
src/string/encoding/null.c:165:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} [-Wcast-function-type]
  165 |     (str_vtable_compose_t)null_error,
      |     ^
src/string/encoding/null.c:166:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} [-Wcast-function-type]
  166 |     (str_vtable_decompose_t)null_error,
      |     ^
src/string/encoding/null.c:168:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} [-Wcast-function-type]
  168 |     (str_vtable_upcase_t)null_error,
      |     ^
src/string/encoding/null.c:169:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} [-Wcast-function-type]
  169 |     (str_vtable_downcase_t)null_error,
      |     ^
src/string/encoding/null.c:170:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} [-Wcast-function-type]
  170 |     (str_vtable_titlecase_t)null_error,
      |     ^
src/string/encoding/null.c:171:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} [-Wcast-function-type]
  171 |     (str_vtable_upcase_first_t)null_error,
      |     ^
src/string/encoding/null.c:172:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} [-Wcast-function-type]
  172 |     (str_vtable_downcase_first_t)null_error,
      |     ^
src/string/encoding/null.c:173:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} [-Wcast-function-type]
  173 |     (str_vtable_titlecase_first_t)null_error,
      |     ^
src/string/encoding/null.c:175:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'UINTVAL (*)(struct parrot_interp_t *, const STRING *, const String_iter *, INTVAL)' {aka 'long unsigned int (*)(struct parrot_interp_t *, const struct parrot_string_t *, const struct string_iterator_t *, long int)'} [-Wcast-function-type]
  175 |     (str_vtable_iter_get_t)null_error,
      |     ^
src/string/encoding/null.c:176:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'void (*)(struct parrot_interp_t *, const STRING *, String_iter *, INTVAL)' {aka 'void (*)(struct parrot_interp_t *, const struct parrot_string_t *, struct string_iterator_t *, long int)'} [-Wcast-function-type]
  176 |     (str_vtable_iter_skip_t)null_error,
      |     ^
src/string/encoding/null.c:177:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'UINTVAL (*)(struct parrot_interp_t *, const STRING *, String_iter *)' {aka 'long unsigned int (*)(struct parrot_interp_t *, const struct parrot_string_t *, struct string_iterator_t *)'} [-Wcast-function-type]
  177 |     (str_vtable_iter_get_and_advance_t)null_error,
      |     ^
src/string/encoding/null.c:178:5: warning: cast between incompatible function types from 'void (*)(struct parrot_interp_t *)' to 'void (*)(struct parrot_interp_t *, STRING *, String_iter *, UINTVAL)' {aka 'void (*)(struct parrot_interp_t *, struct parrot_string_t *, struct string_iterator_t *, long unsigned int)'} [-Wcast-function-type]
  178 |     (str_vtable_iter_set_and_advance_t)null_error
      |     ^
src/string/encoding/null.c: In function 'null_equal':
src/string/encoding/null.c:93:31: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
   93 |     return STRING_length(rhs) == 0;
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/null.c:18:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/null.c:47:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   47 |        PARROT_ASSERT_ARG(rhs))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_null_equal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/null.c:91:5: note: in expansion of macro 'ASSERT_ARGS'
   91 |     ASSERT_ARGS(null_equal)
      |     ^~~~~~~~~~~
src/string/encoding/null.c: In function 'null_compare':
src/string/encoding/null.c:115:36: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
  115 |     return STRING_length(rhs) ? -1 : 0;
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/null.c:18:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/null.c:45:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   45 |        PARROT_ASSERT_ARG(rhs))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_null_compare'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/null.c:113:5: note: in expansion of macro 'ASSERT_ARGS'
  113 |     ASSERT_ARGS(null_compare)
      |     ^~~~~~~~~~~
src/string/encoding/null.c: In function 'null_error':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/null.c:49:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   49 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_null_error'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/null.c:68:5: note: in expansion of macro 'ASSERT_ARGS'
   68 |     ASSERT_ARGS(null_error)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/encoding/. -Isrc -o src/string/encoding/ascii.o -c src/string/encoding/ascii.c
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/ascii.c:18:
src/string/encoding/ascii.c: In function 'ascii_to_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:103:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  103 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:129:5: note: in expansion of macro 'ASSERT_ARGS'
  129 |     ASSERT_ARGS(ascii_to_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:104:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:129:5: note: in expansion of macro 'ASSERT_ARGS'
  129 |     ASSERT_ARGS(ascii_to_encoding)
      |     ^~~~~~~~~~~
src/string/encoding/ascii.c: In function 'ascii_chr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/ascii.c:82:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   82 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_chr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:151:5: note: in expansion of macro 'ASSERT_ARGS'
  151 |     ASSERT_ARGS(ascii_chr)
      |     ^~~~~~~~~~~
src/string/encoding/ascii.c: In function 'ascii_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:94:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   94 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:171:5: note: in expansion of macro 'ASSERT_ARGS'
  171 |     ASSERT_ARGS(ascii_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:95:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   95 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:171:5: note: in expansion of macro 'ASSERT_ARGS'
  171 |     ASSERT_ARGS(ascii_scan)
      |     ^~~~~~~~~~~
src/string/encoding/ascii.c: In function 'ascii_partial_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:90:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   90 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:201:5: note: in expansion of macro 'ASSERT_ARGS'
  201 |     ASSERT_ARGS(ascii_partial_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:91:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   91 |     , PARROT_ASSERT_ARG(buf) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:201:5: note: in expansion of macro 'ASSERT_ARGS'
  201 |     ASSERT_ARGS(ascii_partial_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bounds' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:92:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   92 |     , PARROT_ASSERT_ARG(bounds))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:201:5: note: in expansion of macro 'ASSERT_ARGS'
  201 |     ASSERT_ARGS(ascii_partial_scan)
      |     ^~~~~~~~~~~
src/string/encoding/ascii.c: In function 'ascii_upcase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:106:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_upcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:246:5: note: in expansion of macro 'ASSERT_ARGS'
  246 |     ASSERT_ARGS(ascii_upcase)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:107:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_upcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:246:5: note: in expansion of macro 'ASSERT_ARGS'
  246 |     ASSERT_ARGS(ascii_upcase)
      |     ^~~~~~~~~~~
src/string/encoding/ascii.c: In function 'ascii_upcase_first':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:109:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  109 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_upcase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:340:5: note: in expansion of macro 'ASSERT_ARGS'
  340 |     ASSERT_ARGS(ascii_upcase_first)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:110:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  110 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_upcase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:340:5: note: in expansion of macro 'ASSERT_ARGS'
  340 |     ASSERT_ARGS(ascii_upcase_first)
      |     ^~~~~~~~~~~
src/string/encoding/ascii.c: In function 'ascii_titlecase_first':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:100:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  100 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_titlecase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:392:5: note: in expansion of macro 'ASSERT_ARGS'
  392 |     ASSERT_ARGS(ascii_titlecase_first)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:101:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  101 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_titlecase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:392:5: note: in expansion of macro 'ASSERT_ARGS'
  392 |     ASSERT_ARGS(ascii_titlecase_first)
      |     ^~~~~~~~~~~
src/string/encoding/ascii.c: In function 'ascii_downcase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:84:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_downcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:276:5: note: in expansion of macro 'ASSERT_ARGS'
  276 |     ASSERT_ARGS(ascii_downcase)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:85:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   85 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_downcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:276:5: note: in expansion of macro 'ASSERT_ARGS'
  276 |     ASSERT_ARGS(ascii_downcase)
      |     ^~~~~~~~~~~
src/string/encoding/ascii.c: In function 'ascii_titlecase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:97:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   97 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_titlecase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:308:5: note: in expansion of macro 'ASSERT_ARGS'
  308 |     ASSERT_ARGS(ascii_titlecase)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:98:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   98 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_titlecase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:308:5: note: in expansion of macro 'ASSERT_ARGS'
  308 |     ASSERT_ARGS(ascii_titlecase)
      |     ^~~~~~~~~~~
src/string/encoding/ascii.c: In function 'ascii_downcase_first':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:87:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   87 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_downcase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:366:5: note: in expansion of macro 'ASSERT_ARGS'
  366 |     ASSERT_ARGS(ascii_downcase_first)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ascii.c:88:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   88 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ascii_downcase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ascii.c:366:5: note: in expansion of macro 'ASSERT_ARGS'
  366 |     ASSERT_ARGS(ascii_downcase_first)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/encoding/. -Isrc -o src/string/encoding/latin1.o -c src/string/encoding/latin1.c
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/latin1.c:18:
src/string/encoding/latin1.c: In function 'latin1_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/latin1.c:92:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   92 |        PARROT_ASSERT_ARG(src))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:169:5: note: in expansion of macro 'ASSERT_ARGS'
  169 |     ASSERT_ARGS(latin1_scan)
      |     ^~~~~~~~~~~
src/string/encoding/latin1.c: In function 'latin1_partial_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:89:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   89 |        PARROT_ASSERT_ARG(buf) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:190:5: note: in expansion of macro 'ASSERT_ARGS'
  190 |     ASSERT_ARGS(latin1_partial_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bounds' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:90:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   90 |     , PARROT_ASSERT_ARG(bounds))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:190:5: note: in expansion of macro 'ASSERT_ARGS'
  190 |     ASSERT_ARGS(latin1_partial_scan)
      |     ^~~~~~~~~~~
src/string/encoding/latin1.c: In function 'latin1_to_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:100:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  100 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:127:5: note: in expansion of macro 'ASSERT_ARGS'
  127 |     ASSERT_ARGS(latin1_to_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:101:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  101 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:127:5: note: in expansion of macro 'ASSERT_ARGS'
  127 |     ASSERT_ARGS(latin1_to_encoding)
      |     ^~~~~~~~~~~
src/string/encoding/latin1.c: In function 'latin1_chr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/latin1.c:81:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   81 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_chr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:147:5: note: in expansion of macro 'ASSERT_ARGS'
  147 |     ASSERT_ARGS(latin1_chr)
      |     ^~~~~~~~~~~
src/string/encoding/latin1.c: In function 'latin1_upcase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:103:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  103 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_upcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:237:5: note: in expansion of macro 'ASSERT_ARGS'
  237 |     ASSERT_ARGS(latin1_upcase)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:104:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_upcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:237:5: note: in expansion of macro 'ASSERT_ARGS'
  237 |     ASSERT_ARGS(latin1_upcase)
      |     ^~~~~~~~~~~
src/string/encoding/latin1.c: In function 'latin1_upcase_first':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:106:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_upcase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:356:5: note: in expansion of macro 'ASSERT_ARGS'
  356 |     ASSERT_ARGS(latin1_upcase_first)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:107:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_upcase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:356:5: note: in expansion of macro 'ASSERT_ARGS'
  356 |     ASSERT_ARGS(latin1_upcase_first)
      |     ^~~~~~~~~~~
src/string/encoding/latin1.c: In function 'latin1_titlecase_first':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:97:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   97 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_titlecase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:426:5: note: in expansion of macro 'ASSERT_ARGS'
  426 |     ASSERT_ARGS(latin1_titlecase_first)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:98:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   98 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_titlecase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:426:5: note: in expansion of macro 'ASSERT_ARGS'
  426 |     ASSERT_ARGS(latin1_titlecase_first)
      |     ^~~~~~~~~~~
src/string/encoding/latin1.c: In function 'latin1_downcase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:83:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   83 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_downcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:274:5: note: in expansion of macro 'ASSERT_ARGS'
  274 |     ASSERT_ARGS(latin1_downcase)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:84:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_downcase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:274:5: note: in expansion of macro 'ASSERT_ARGS'
  274 |     ASSERT_ARGS(latin1_downcase)
      |     ^~~~~~~~~~~
src/string/encoding/latin1.c: In function 'latin1_titlecase':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:94:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   94 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_titlecase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:311:5: note: in expansion of macro 'ASSERT_ARGS'
  311 |     ASSERT_ARGS(latin1_titlecase)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:95:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   95 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_titlecase'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:311:5: note: in expansion of macro 'ASSERT_ARGS'
  311 |     ASSERT_ARGS(latin1_titlecase)
      |     ^~~~~~~~~~~
src/string/encoding/latin1.c: In function 'latin1_downcase_first':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:86:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   86 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_downcase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:391:5: note: in expansion of macro 'ASSERT_ARGS'
  391 |     ASSERT_ARGS(latin1_downcase_first)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/latin1.c:87:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   87 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_latin1_downcase_first'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/latin1.c:391:5: note: in expansion of macro 'ASSERT_ARGS'
  391 |     ASSERT_ARGS(latin1_downcase_first)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/encoding/. -Isrc -o src/string/encoding/binary.o -c src/string/encoding/binary.c
src/string/encoding/binary.c:222:5: warning: cast between incompatible function types from 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} to 'INTVAL (*)(struct parrot_interp_t *, INTVAL,  const STRING *, UINTVAL)' {aka 'long int (*)(struct parrot_interp_t *, long int,  const struct parrot_string_t *, long unsigned int)'} [-Wcast-function-type]
  222 |     (str_vtable_is_cclass_t)binary_error,
      |     ^
src/string/encoding/binary.c:223:5: warning: cast between incompatible function types from 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} to 'INTVAL (*)(struct parrot_interp_t *, INTVAL,  const STRING *, UINTVAL,  UINTVAL)' {aka 'long int (*)(struct parrot_interp_t *, long int,  const struct parrot_string_t *, long unsigned int,  long unsigned int)'} [-Wcast-function-type]
  223 |     (str_vtable_find_cclass_t)binary_error,
      |     ^
src/string/encoding/binary.c:224:5: warning: cast between incompatible function types from 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} to 'INTVAL (*)(struct parrot_interp_t *, INTVAL,  const STRING *, UINTVAL,  UINTVAL)' {aka 'long int (*)(struct parrot_interp_t *, long int,  const struct parrot_string_t *, long unsigned int,  long unsigned int)'} [-Wcast-function-type]
  224 |     (str_vtable_find_not_cclass_t)binary_error,
      |     ^
src/string/encoding/binary.c:226:5: warning: cast between incompatible function types from 'STRING * (*)(struct parrot_interp_t *, const STRING *)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *)'} to 'STRING * (*)(struct parrot_interp_t *, const STRING *, UINTVAL,  UINTVAL)' {aka 'struct parrot_string_t * (*)(struct parrot_interp_t *, const struct parrot_string_t *, long unsigned int,  long unsigned int)'} [-Wcast-function-type]
  226 |     (str_vtable_get_graphemes_t)binary_error,
      |     ^
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/binary.c:18:
src/string/encoding/binary.c: In function 'binary_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/binary.c:58:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   58 |        PARROT_ASSERT_ARG(src))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_binary_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/binary.c:148:5: note: in expansion of macro 'ASSERT_ARGS'
  148 |     ASSERT_ARGS(binary_scan)
      |     ^~~~~~~~~~~
src/string/encoding/binary.c: In function 'binary_partial_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/binary.c:55:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   55 |        PARROT_ASSERT_ARG(buf) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_binary_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/binary.c:169:5: note: in expansion of macro 'ASSERT_ARGS'
  169 |     ASSERT_ARGS(binary_partial_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bounds' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/binary.c:56:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   56 |     , PARROT_ASSERT_ARG(bounds))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_binary_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/binary.c:169:5: note: in expansion of macro 'ASSERT_ARGS'
  169 |     ASSERT_ARGS(binary_partial_scan)
      |     ^~~~~~~~~~~
src/string/encoding/binary.c: In function 'binary_error':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/binary.c:53:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   53 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_binary_error'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/binary.c:87:5: note: in expansion of macro 'ASSERT_ARGS'
   87 |     ASSERT_ARGS(binary_error)
      |     ^~~~~~~~~~~
src/string/encoding/binary.c: In function 'binary_to_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/binary.c:60:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   60 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_binary_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/binary.c:106:5: note: in expansion of macro 'ASSERT_ARGS'
  106 |     ASSERT_ARGS(binary_to_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/binary.c:61:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   61 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_binary_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/binary.c:106:5: note: in expansion of macro 'ASSERT_ARGS'
  106 |     ASSERT_ARGS(binary_to_encoding)
      |     ^~~~~~~~~~~
src/string/encoding/binary.c: In function 'binary_chr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/binary.c:51:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   51 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_binary_chr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/binary.c:127:5: note: in expansion of macro 'ASSERT_ARGS'
  127 |     ASSERT_ARGS(binary_chr)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/encoding/. -Isrc -o src/string/encoding/utf8.o -c src/string/encoding/utf8.c
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/utf8.c:20:
src/string/encoding/utf8.c: In function 'utf8_to_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:158:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  158 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:202:5: note: in expansion of macro 'ASSERT_ARGS'
  202 |     ASSERT_ARGS(utf8_to_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:159:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  159 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:202:5: note: in expansion of macro 'ASSERT_ARGS'
  202 |     ASSERT_ARGS(utf8_to_encoding)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_partial_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:144:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  144 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:263:5: note: in expansion of macro 'ASSERT_ARGS'
  263 |     ASSERT_ARGS(utf8_partial_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:145:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |     , PARROT_ASSERT_ARG(buf) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:263:5: note: in expansion of macro 'ASSERT_ARGS'
  263 |     ASSERT_ARGS(utf8_partial_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bounds' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:146:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  146 |     , PARROT_ASSERT_ARG(bounds))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:263:5: note: in expansion of macro 'ASSERT_ARGS'
  263 |     ASSERT_ARGS(utf8_partial_scan)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:148:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  148 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:230:5: note: in expansion of macro 'ASSERT_ARGS'
  230 |     ASSERT_ARGS(utf8_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:149:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  149 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:230:5: note: in expansion of macro 'ASSERT_ARGS'
  230 |     ASSERT_ARGS(utf8_scan)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_decode':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ptr' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/utf8.c:119:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |        PARROT_ASSERT_ARG(ptr))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_decode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:373:5: note: in expansion of macro 'ASSERT_ARGS'
  373 |     ASSERT_ARGS(utf8_decode)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_iter_get_and_advance':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:128:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  128 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_iter_get_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:589:5: note: in expansion of macro 'ASSERT_ARGS'
  589 |     ASSERT_ARGS(utf8_iter_get_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:129:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  129 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_iter_get_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:589:5: note: in expansion of macro 'ASSERT_ARGS'
  589 |     ASSERT_ARGS(utf8_iter_get_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:130:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  130 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_iter_get_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:589:5: note: in expansion of macro 'ASSERT_ARGS'
  589 |     ASSERT_ARGS(utf8_iter_get_and_advance)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_encode':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:121:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  121 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_encode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:408:5: note: in expansion of macro 'ASSERT_ARGS'
  408 |     ASSERT_ARGS(utf8_encode)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ptr' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:122:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  122 |     , PARROT_ASSERT_ARG(ptr))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_encode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:408:5: note: in expansion of macro 'ASSERT_ARGS'
  408 |     ASSERT_ARGS(utf8_encode)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_iter_set_and_advance':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:132:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  132 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:618:5: note: in expansion of macro 'ASSERT_ARGS'
  618 |     ASSERT_ARGS(utf8_iter_set_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:133:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  133 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:618:5: note: in expansion of macro 'ASSERT_ARGS'
  618 |     ASSERT_ARGS(utf8_iter_set_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:134:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  134 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:618:5: note: in expansion of macro 'ASSERT_ARGS'
  618 |     ASSERT_ARGS(utf8_iter_set_and_advance)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_skip_forward':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ptr' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/utf8.c:153:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  153 |        PARROT_ASSERT_ARG(ptr))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_skip_forward'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:449:5: note: in expansion of macro 'ASSERT_ARGS'
  449 |     ASSERT_ARGS(utf8_skip_forward)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_ord':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:141:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  141 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_ord'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:344:5: note: in expansion of macro 'ASSERT_ARGS'
  344 |     ASSERT_ARGS(utf8_ord)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/utf8.c:20:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/utf8.c:345:25: note: in expansion of macro 'STRING_length'
  345 |     const UINTVAL len = STRING_length(src);
      |                         ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/utf8.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:142:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  142 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_ord'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:344:5: note: in expansion of macro 'ASSERT_ARGS'
  344 |     ASSERT_ARGS(utf8_ord)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_offset':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ptr' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/utf8.c:139:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  139 |        PARROT_ASSERT_ARG(ptr))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_offset'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:475:5: note: in expansion of macro 'ASSERT_ARGS'
  475 |     ASSERT_ARGS(utf8_offset)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_substr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:155:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  155 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_substr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:649:5: note: in expansion of macro 'ASSERT_ARGS'
  649 |     ASSERT_ARGS(utf8_substr)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/utf8.c:20:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/utf8.c:650:29: note: in expansion of macro 'STRING_length'
  650 |     const UINTVAL  strlen = STRING_length(src);
      |                             ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/utf8.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:156:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  156 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_substr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:649:5: note: in expansion of macro 'ASSERT_ARGS'
  649 |     ASSERT_ARGS(utf8_substr)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_skip_backward':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ptr' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/utf8.c:151:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  151 |        PARROT_ASSERT_ARG(ptr))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_skip_backward'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:499:5: note: in expansion of macro 'ASSERT_ARGS'
  499 |     ASSERT_ARGS(utf8_skip_backward)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_iter_get':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:124:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  124 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_iter_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:526:5: note: in expansion of macro 'ASSERT_ARGS'
  526 |     ASSERT_ARGS(utf8_iter_get)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:125:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  125 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_iter_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:526:5: note: in expansion of macro 'ASSERT_ARGS'
  526 |     ASSERT_ARGS(utf8_iter_get)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:126:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  126 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_iter_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:526:5: note: in expansion of macro 'ASSERT_ARGS'
  526 |     ASSERT_ARGS(utf8_iter_get)
      |     ^~~~~~~~~~~
src/string/encoding/utf8.c: In function 'utf8_iter_skip':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:136:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  136 |        PARROT_ASSERT_ARG(str) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_iter_skip'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:555:5: note: in expansion of macro 'ASSERT_ARGS'
  555 |     ASSERT_ARGS(utf8_iter_skip)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf8.c:137:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  137 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf8_iter_skip'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf8.c:555:5: note: in expansion of macro 'ASSERT_ARGS'
  555 |     ASSERT_ARGS(utf8_iter_skip)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/encoding/. -Isrc -o src/string/encoding/utf16.o -c src/string/encoding/utf16.c
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/utf16.c:20:
src/string/encoding/utf16.c: In function 'utf16_to_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:151:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  151 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:172:5: note: in expansion of macro 'ASSERT_ARGS'
  172 |     ASSERT_ARGS(utf16_to_encoding)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/utf16.c:20:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/utf16.c:176:15: note: in expansion of macro 'STRING_length'
  176 |     src_len = STRING_length(src);
      |               ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/utf16.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:152:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:172:5: note: in expansion of macro 'ASSERT_ARGS'
  172 |     ASSERT_ARGS(utf16_to_encoding)
      |     ^~~~~~~~~~~
src/string/encoding/utf16.c: In function 'utf16_partial_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:140:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  140 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:260:5: note: in expansion of macro 'ASSERT_ARGS'
  260 |     ASSERT_ARGS(utf16_partial_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:141:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  141 |     , PARROT_ASSERT_ARG(buf) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:260:5: note: in expansion of macro 'ASSERT_ARGS'
  260 |     ASSERT_ARGS(utf16_partial_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bounds' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:142:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  142 |     , PARROT_ASSERT_ARG(bounds))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:260:5: note: in expansion of macro 'ASSERT_ARGS'
  260 |     ASSERT_ARGS(utf16_partial_scan)
      |     ^~~~~~~~~~~
src/string/encoding/utf16.c: In function 'utf16_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:144:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  144 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:228:5: note: in expansion of macro 'ASSERT_ARGS'
  228 |     ASSERT_ARGS(utf16_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:145:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:228:5: note: in expansion of macro 'ASSERT_ARGS'
  228 |     ASSERT_ARGS(utf16_scan)
      |     ^~~~~~~~~~~
src/string/encoding/utf16.c: In function 'utf16_skip_forward':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'p' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/utf16.c:149:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  149 |        PARROT_ASSERT_ARG(p))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_skip_forward'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:333:5: note: in expansion of macro 'ASSERT_ARGS'
  333 |     ASSERT_ARGS(utf16_skip_forward)
      |     ^~~~~~~~~~~
src/string/encoding/utf16.c: In function 'utf16_skip_backward':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'p' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/utf16.c:147:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  147 |        PARROT_ASSERT_ARG(p))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_skip_backward'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:361:5: note: in expansion of macro 'ASSERT_ARGS'
  361 |     ASSERT_ARGS(utf16_skip_backward)
      |     ^~~~~~~~~~~
src/string/encoding/utf16.c: In function 'utf16_iter_skip':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:134:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  134 |        PARROT_ASSERT_ARG(str) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_iter_skip'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:509:5: note: in expansion of macro 'ASSERT_ARGS'
  509 |     ASSERT_ARGS(utf16_iter_skip)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:135:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  135 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_iter_skip'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:509:5: note: in expansion of macro 'ASSERT_ARGS'
  509 |     ASSERT_ARGS(utf16_iter_skip)
      |     ^~~~~~~~~~~
src/string/encoding/utf16.c: In function 'utf16_decode':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'p' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/utf16.c:117:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  117 |        PARROT_ASSERT_ARG(p))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_decode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:388:5: note: in expansion of macro 'ASSERT_ARGS'
  388 |     ASSERT_ARGS(utf16_decode)
      |     ^~~~~~~~~~~
src/string/encoding/utf16.c: In function 'utf16_ord':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:137:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  137 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_ord'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:450:5: note: in expansion of macro 'ASSERT_ARGS'
  450 |     ASSERT_ARGS(utf16_ord)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/utf16.c:20:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/utf16.c:451:26: note: in expansion of macro 'STRING_length'
  451 |     const UINTVAL  len = STRING_length(src);
      |                          ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/utf16.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:138:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  138 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_ord'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:450:5: note: in expansion of macro 'ASSERT_ARGS'
  450 |     ASSERT_ARGS(utf16_ord)
      |     ^~~~~~~~~~~
src/string/encoding/utf16.c: In function 'utf16_iter_get':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:122:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  122 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_iter_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:481:5: note: in expansion of macro 'ASSERT_ARGS'
  481 |     ASSERT_ARGS(utf16_iter_get)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:123:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  123 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_iter_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:481:5: note: in expansion of macro 'ASSERT_ARGS'
  481 |     ASSERT_ARGS(utf16_iter_get)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:124:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  124 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_iter_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:481:5: note: in expansion of macro 'ASSERT_ARGS'
  481 |     ASSERT_ARGS(utf16_iter_get)
      |     ^~~~~~~~~~~
src/string/encoding/utf16.c: In function 'utf16_iter_get_and_advance':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:126:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  126 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_iter_get_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:542:5: note: in expansion of macro 'ASSERT_ARGS'
  542 |     ASSERT_ARGS(utf16_iter_get_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:127:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  127 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_iter_get_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:542:5: note: in expansion of macro 'ASSERT_ARGS'
  542 |     ASSERT_ARGS(utf16_iter_get_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:128:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  128 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_iter_get_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:542:5: note: in expansion of macro 'ASSERT_ARGS'
  542 |     ASSERT_ARGS(utf16_iter_get_and_advance)
      |     ^~~~~~~~~~~
src/string/encoding/utf16.c: In function 'utf16_encode':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:119:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_encode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:413:5: note: in expansion of macro 'ASSERT_ARGS'
  413 |     ASSERT_ARGS(utf16_encode)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ptr' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:120:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  120 |     , PARROT_ASSERT_ARG(ptr))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_encode'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:413:5: note: in expansion of macro 'ASSERT_ARGS'
  413 |     ASSERT_ARGS(utf16_encode)
      |     ^~~~~~~~~~~
src/string/encoding/utf16.c: In function 'utf16_iter_set_and_advance':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:130:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  130 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:574:5: note: in expansion of macro 'ASSERT_ARGS'
  574 |     ASSERT_ARGS(utf16_iter_set_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:131:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  131 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:574:5: note: in expansion of macro 'ASSERT_ARGS'
  574 |     ASSERT_ARGS(utf16_iter_set_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/utf16.c:132:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  132 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_utf16_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/utf16.c:574:5: note: in expansion of macro 'ASSERT_ARGS'
  574 |     ASSERT_ARGS(utf16_iter_set_and_advance)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/encoding/. -Isrc -o src/string/encoding/ucs2.o -c src/string/encoding/ucs2.c
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/ucs2.c:20:
src/string/encoding/ucs2.c: In function 'ucs2_iter_get':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:97:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   97 |        PARROT_ASSERT_ARG(str) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_iter_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:296:5: note: in expansion of macro 'ASSERT_ARGS'
  296 |     ASSERT_ARGS(ucs2_iter_get)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:98:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   98 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_iter_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:296:5: note: in expansion of macro 'ASSERT_ARGS'
  296 |     ASSERT_ARGS(ucs2_iter_get)
      |     ^~~~~~~~~~~
src/string/encoding/ucs2.c: In function 'ucs2_iter_skip':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/ucs2.c:107:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |        PARROT_ASSERT_ARG(i))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_iter_skip'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:317:5: note: in expansion of macro 'ASSERT_ARGS'
  317 |     ASSERT_ARGS(ucs2_iter_skip)
      |     ^~~~~~~~~~~
src/string/encoding/ucs2.c: In function 'ucs2_iter_get_and_advance':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:100:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  100 |        PARROT_ASSERT_ARG(str) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_iter_get_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:338:5: note: in expansion of macro 'ASSERT_ARGS'
  338 |     ASSERT_ARGS(ucs2_iter_get_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:101:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  101 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_iter_get_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:338:5: note: in expansion of macro 'ASSERT_ARGS'
  338 |     ASSERT_ARGS(ucs2_iter_get_and_advance)
      |     ^~~~~~~~~~~
src/string/encoding/ucs2.c: In function 'ucs2_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/ucs2.c:95:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   95 |        PARROT_ASSERT_ARG(src))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:389:5: note: in expansion of macro 'ASSERT_ARGS'
  389 |     ASSERT_ARGS(ucs2_hash)
      |     ^~~~~~~~~~~
src/string/encoding/ucs2.c: In function 'ucs2_to_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:119:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:144:5: note: in expansion of macro 'ASSERT_ARGS'
  144 |     ASSERT_ARGS(ucs2_to_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:120:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  120 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:144:5: note: in expansion of macro 'ASSERT_ARGS'
  144 |     ASSERT_ARGS(ucs2_to_encoding)
      |     ^~~~~~~~~~~
src/string/encoding/ucs2.c: In function 'ucs2_ord':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:109:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  109 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_ord'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:267:5: note: in expansion of macro 'ASSERT_ARGS'
  267 |     ASSERT_ARGS(ucs2_ord)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from src/string/encoding/ucs2.c:20:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/string/encoding/ucs2.c:269:33: note: in expansion of macro 'STRING_length'
  269 |     const UINTVAL         len = STRING_length(src);
      |                                 ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/ucs2.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:110:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  110 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_ord'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:267:5: note: in expansion of macro 'ASSERT_ARGS'
  267 |     ASSERT_ARGS(ucs2_ord)
      |     ^~~~~~~~~~~
src/string/encoding/ucs2.c: In function 'ucs2_check_codepoint':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/ucs2.c:93:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   93 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_check_codepoint'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:170:5: note: in expansion of macro 'ASSERT_ARGS'
  170 |     ASSERT_ARGS(ucs2_check_codepoint)
      |     ^~~~~~~~~~~
src/string/encoding/ucs2.c: In function 'ucs2_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:116:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  116 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:192:5: note: in expansion of macro 'ASSERT_ARGS'
  192 |     ASSERT_ARGS(ucs2_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:117:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  117 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:192:5: note: in expansion of macro 'ASSERT_ARGS'
  192 |     ASSERT_ARGS(ucs2_scan)
      |     ^~~~~~~~~~~
src/string/encoding/ucs2.c: In function 'ucs2_partial_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:112:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  112 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:224:5: note: in expansion of macro 'ASSERT_ARGS'
  224 |     ASSERT_ARGS(ucs2_partial_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:113:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  113 |     , PARROT_ASSERT_ARG(buf) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:224:5: note: in expansion of macro 'ASSERT_ARGS'
  224 |     ASSERT_ARGS(ucs2_partial_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bounds' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:114:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  114 |     , PARROT_ASSERT_ARG(bounds))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:224:5: note: in expansion of macro 'ASSERT_ARGS'
  224 |     ASSERT_ARGS(ucs2_partial_scan)
      |     ^~~~~~~~~~~
src/string/encoding/ucs2.c: In function 'ucs2_iter_set_and_advance':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:103:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  103 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:364:5: note: in expansion of macro 'ASSERT_ARGS'
  364 |     ASSERT_ARGS(ucs2_iter_set_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:104:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:364:5: note: in expansion of macro 'ASSERT_ARGS'
  364 |     ASSERT_ARGS(ucs2_iter_set_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs2.c:105:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  105 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs2_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs2.c:364:5: note: in expansion of macro 'ASSERT_ARGS'
  364 |     ASSERT_ARGS(ucs2_iter_set_and_advance)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/string/encoding/. -Isrc -o src/string/encoding/ucs4.o -c src/string/encoding/ucs4.c
In file included from ./include/parrot/parrot.h:261,
                 from src/string/encoding/ucs4.c:20:
src/string/encoding/ucs4.c: In function 'ucs4_iter_get':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:91:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   91 |        PARROT_ASSERT_ARG(str) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_iter_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:295:5: note: in expansion of macro 'ASSERT_ARGS'
  295 |     ASSERT_ARGS(ucs4_iter_get)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:92:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   92 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_iter_get'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:295:5: note: in expansion of macro 'ASSERT_ARGS'
  295 |     ASSERT_ARGS(ucs4_iter_get)
      |     ^~~~~~~~~~~
src/string/encoding/ucs4.c: In function 'ucs4_iter_skip':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/ucs4.c:101:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  101 |        PARROT_ASSERT_ARG(i))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_iter_skip'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:317:5: note: in expansion of macro 'ASSERT_ARGS'
  317 |     ASSERT_ARGS(ucs4_iter_skip)
      |     ^~~~~~~~~~~
src/string/encoding/ucs4.c: In function 'ucs4_iter_get_and_advance':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:94:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   94 |        PARROT_ASSERT_ARG(str) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_iter_get_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:339:5: note: in expansion of macro 'ASSERT_ARGS'
  339 |     ASSERT_ARGS(ucs4_iter_get_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:95:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   95 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_iter_get_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:339:5: note: in expansion of macro 'ASSERT_ARGS'
  339 |     ASSERT_ARGS(ucs4_iter_get_and_advance)
      |     ^~~~~~~~~~~
src/string/encoding/ucs4.c: In function 'ucs4_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
src/string/encoding/ucs4.c:89:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   89 |        PARROT_ASSERT_ARG(src))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:394:5: note: in expansion of macro 'ASSERT_ARGS'
  394 |     ASSERT_ARGS(ucs4_hash)
      |     ^~~~~~~~~~~
src/string/encoding/ucs4.c: In function 'ucs4_to_encoding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:113:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  113 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:134:5: note: in expansion of macro 'ASSERT_ARGS'
  134 |     ASSERT_ARGS(ucs4_to_encoding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:114:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  114 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_to_encoding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:134:5: note: in expansion of macro 'ASSERT_ARGS'
  134 |     ASSERT_ARGS(ucs4_to_encoding)
      |     ^~~~~~~~~~~
src/string/encoding/ucs4.c: In function 'ucs4_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:110:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  110 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:185:5: note: in expansion of macro 'ASSERT_ARGS'
  185 |     ASSERT_ARGS(ucs4_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:111:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  111 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:185:5: note: in expansion of macro 'ASSERT_ARGS'
  185 |     ASSERT_ARGS(ucs4_scan)
      |     ^~~~~~~~~~~
src/string/encoding/ucs4.c: In function 'ucs4_partial_scan':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:106:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:221:5: note: in expansion of macro 'ASSERT_ARGS'
  221 |     ASSERT_ARGS(ucs4_partial_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:107:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |     , PARROT_ASSERT_ARG(buf) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:221:5: note: in expansion of macro 'ASSERT_ARGS'
  221 |     ASSERT_ARGS(ucs4_partial_scan)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bounds' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:108:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  108 |     , PARROT_ASSERT_ARG(bounds))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_partial_scan'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:221:5: note: in expansion of macro 'ASSERT_ARGS'
  221 |     ASSERT_ARGS(ucs4_partial_scan)
      |     ^~~~~~~~~~~
src/string/encoding/ucs4.c: In function 'ucs4_iter_set_and_advance':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:97:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   97 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:366:5: note: in expansion of macro 'ASSERT_ARGS'
  366 |     ASSERT_ARGS(ucs4_iter_set_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:98:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   98 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:366:5: note: in expansion of macro 'ASSERT_ARGS'
  366 |     ASSERT_ARGS(ucs4_iter_set_and_advance)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'i' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:99:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   99 |     , PARROT_ASSERT_ARG(i))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_iter_set_and_advance'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:366:5: note: in expansion of macro 'ASSERT_ARGS'
  366 |     ASSERT_ARGS(ucs4_iter_set_and_advance)
      |     ^~~~~~~~~~~
src/string/encoding/ucs4.c: In function 'ucs4_ord':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:103:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  103 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_ord'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:266:5: note: in expansion of macro 'ASSERT_ARGS'
  266 |     ASSERT_ARGS(ucs4_ord)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/string/encoding/ucs4.c:104:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |     , PARROT_ASSERT_ARG(src))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ucs4_ord'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
src/string/encoding/ucs4.c:266:5: note: in expansion of macro 'ASSERT_ARGS'
  266 |     ASSERT_ARGS(ucs4_ord)
      |     ^~~~~~~~~~~
bison -v -y compilers/imcc/imcc.y -d -o compilers/imcc/imcparser.c
compilers/imcc/imcc.y:1123.1-12: warning: POSIX Yacc does not support %pure-parser [-Wyacc]
 1123 | %pure-parser
      | ^~~~~~~~~~~~
compilers/imcc/imcc.y:1123.1-12: warning: deprecated directive: '%pure-parser', use '%define api.pure' [-Wdeprecated]
 1123 | %pure-parser
      | ^~~~~~~~~~~~
      | %define api.pure
compilers/imcc/imcc.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
compilers/imcc/imcc.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
compilers/imcc/imcc.y: warning: fix-its can be applied.  Rerun with option '--update'. [-Wother]
/usr/bin/perl5.34.0 tools/build/fixup_gen_file.pl -noheaderizer compilers/imcc/imcparser.c compilers/imcc/imcc.y
/usr/bin/perl5.34.0 tools/build/fixup_gen_file.pl -noheaderizer compilers/imcc/imcparser.h compilers/imcc/imcc.y
touch compilers/imcc/imcc.y.flag compilers/imcc/imcparser.c compilers/imcc/imcparser.h
bison -v -y compilers/imcc/imcc.y -d -o compilers/imcc/imcparser.c
compilers/imcc/imcc.y:1123.1-12: warning: POSIX Yacc does not support %pure-parser [-Wyacc]
 1123 | %pure-parser
      | ^~~~~~~~~~~~
compilers/imcc/imcc.y:1123.1-12: warning: deprecated directive: '%pure-parser', use '%define api.pure' [-Wdeprecated]
 1123 | %pure-parser
      | ^~~~~~~~~~~~
      | %define api.pure
compilers/imcc/imcc.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
compilers/imcc/imcc.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
compilers/imcc/imcc.y: warning: fix-its can be applied.  Rerun with option '--update'. [-Wother]
/usr/bin/perl5.34.0 tools/build/fixup_gen_file.pl -noheaderizer compilers/imcc/imcparser.c compilers/imcc/imcc.y
/usr/bin/perl5.34.0 tools/build/fixup_gen_file.pl -noheaderizer compilers/imcc/imcparser.h compilers/imcc/imcc.y
touch compilers/imcc/imcc.y.flag compilers/imcc/imcparser.c compilers/imcc/imcparser.h
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  \
  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Wno-sign-compare \
  -Icompilers/imcc/. -o compilers/imcc/imcparser.o -c compilers/imcc/imcparser.c
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/imcc.y:37:
compilers/imcc/imcc.y: In function 'MK_I':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:364:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  364 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_MK_I'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:427:5: note: in expansion of macro 'ASSERT_ARGS'
  427 |     ASSERT_ARGS(MK_I)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:365:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  365 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_MK_I'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:427:5: note: in expansion of macro 'ASSERT_ARGS'
  427 |     ASSERT_ARGS(MK_I)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'fmt' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:366:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  366 |     , PARROT_ASSERT_ARG(fmt))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_MK_I'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:427:5: note: in expansion of macro 'ASSERT_ARGS'
  427 |     ASSERT_ARGS(MK_I)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'mk_pmc_const_named':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:368:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  368 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pmc_const_named'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:469:5: note: in expansion of macro 'ASSERT_ARGS'
  469 |     ASSERT_ARGS(mk_pmc_const_named)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:369:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  369 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pmc_const_named'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:469:5: note: in expansion of macro 'ASSERT_ARGS'
  469 |     ASSERT_ARGS(mk_pmc_const_named)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:370:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  370 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pmc_const_named'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:469:5: note: in expansion of macro 'ASSERT_ARGS'
  469 |     ASSERT_ARGS(mk_pmc_const_named)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'left' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:371:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  371 |     , PARROT_ASSERT_ARG(left) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pmc_const_named'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:469:5: note: in expansion of macro 'ASSERT_ARGS'
  469 |     ASSERT_ARGS(mk_pmc_const_named)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'constant' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:372:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  372 |     , PARROT_ASSERT_ARG(constant))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pmc_const_named'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:469:5: note: in expansion of macro 'ASSERT_ARGS'
  469 |     ASSERT_ARGS(mk_pmc_const_named)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'func_ins':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:338:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  338 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_func_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:542:5: note: in expansion of macro 'ASSERT_ARGS'
  542 |     ASSERT_ARGS(func_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:339:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  339 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_func_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:542:5: note: in expansion of macro 'ASSERT_ARGS'
  542 |     ASSERT_ARGS(func_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lhs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:340:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  340 |     , PARROT_ASSERT_ARG(lhs) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_func_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:542:5: note: in expansion of macro 'ASSERT_ARGS'
  542 |     ASSERT_ARGS(func_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'op' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:341:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  341 |     , PARROT_ASSERT_ARG(op) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_func_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:542:5: note: in expansion of macro 'ASSERT_ARGS'
  542 |     ASSERT_ARGS(func_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:342:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  342 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_func_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:542:5: note: in expansion of macro 'ASSERT_ARGS'
  542 |     ASSERT_ARGS(func_ins)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'clear_state':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/imcc.y:333:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  333 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_clear_state'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:564:5: note: in expansion of macro 'ASSERT_ARGS'
  564 |     ASSERT_ARGS(clear_state)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'INS_LABEL':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:104:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_INS_LABEL'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:584:5: note: in expansion of macro 'ASSERT_ARGS'
  584 |     ASSERT_ARGS(INS_LABEL)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'iLABEL':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:356:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  356 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iLABEL'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:611:5: note: in expansion of macro 'ASSERT_ARGS'
  611 |     ASSERT_ARGS(iLABEL)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r0' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:357:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  357 |     , PARROT_ASSERT_ARG(r0))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iLABEL'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:611:5: note: in expansion of macro 'ASSERT_ARGS'
  611 |     ASSERT_ARGS(iLABEL)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'iSUBROUTINE':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:361:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  361 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iSUBROUTINE'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:633:5: note: in expansion of macro 'ASSERT_ARGS'
  633 |     ASSERT_ARGS(iSUBROUTINE)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:362:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  362 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iSUBROUTINE'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:633:5: note: in expansion of macro 'ASSERT_ARGS'
  633 |     ASSERT_ARGS(iSUBROUTINE)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'iINDEXFETCH':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:344:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  344 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iINDEXFETCH'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:664:5: note: in expansion of macro 'ASSERT_ARGS'
  664 |     ASSERT_ARGS(iINDEXFETCH)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:345:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  345 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iINDEXFETCH'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:664:5: note: in expansion of macro 'ASSERT_ARGS'
  664 |     ASSERT_ARGS(iINDEXFETCH)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r0' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:346:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  346 |     , PARROT_ASSERT_ARG(r0) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iINDEXFETCH'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:664:5: note: in expansion of macro 'ASSERT_ARGS'
  664 |     ASSERT_ARGS(iINDEXFETCH)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r1' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:347:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  347 |     , PARROT_ASSERT_ARG(r1) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iINDEXFETCH'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:664:5: note: in expansion of macro 'ASSERT_ARGS'
  664 |     ASSERT_ARGS(iINDEXFETCH)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r2' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:348:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  348 |     , PARROT_ASSERT_ARG(r2))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iINDEXFETCH'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:664:5: note: in expansion of macro 'ASSERT_ARGS'
  664 |     ASSERT_ARGS(iINDEXFETCH)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'iINDEXSET':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:350:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  350 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iINDEXSET'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:686:5: note: in expansion of macro 'ASSERT_ARGS'
  686 |     ASSERT_ARGS(iINDEXSET)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:351:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  351 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iINDEXSET'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:686:5: note: in expansion of macro 'ASSERT_ARGS'
  686 |     ASSERT_ARGS(iINDEXSET)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r0' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:352:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  352 |     , PARROT_ASSERT_ARG(r0) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iINDEXSET'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:686:5: note: in expansion of macro 'ASSERT_ARGS'
  686 |     ASSERT_ARGS(iINDEXSET)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r1' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:353:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  353 |     , PARROT_ASSERT_ARG(r1) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iINDEXSET'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:686:5: note: in expansion of macro 'ASSERT_ARGS'
  686 |     ASSERT_ARGS(iINDEXSET)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r2' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:354:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  354 |     , PARROT_ASSERT_ARG(r2))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_iINDEXSET'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:686:5: note: in expansion of macro 'ASSERT_ARGS'
  686 |     ASSERT_ARGS(iINDEXSET)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'inv_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'op' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/imcc.y:359:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  359 |        PARROT_ASSERT_ARG(op))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_inv_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:711:5: note: in expansion of macro 'ASSERT_ARGS'
  711 |     ASSERT_ARGS(inv_op)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'IMCC_create_itcall_label':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/imc.h:99:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   99 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_create_itcall_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:729:5: note: in expansion of macro 'ASSERT_ARGS'
  729 |     ASSERT_ARGS(IMCC_create_itcall_label)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'mk_sub_address_fromc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:374:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  374 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_sub_address_fromc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:760:5: note: in expansion of macro 'ASSERT_ARGS'
  760 |     ASSERT_ARGS(mk_sub_address_fromc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:375:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  375 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_sub_address_fromc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:760:5: note: in expansion of macro 'ASSERT_ARGS'
  760 |     ASSERT_ARGS(mk_sub_address_fromc)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'mk_sub_address_u':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:377:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  377 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_sub_address_u'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:794:5: note: in expansion of macro 'ASSERT_ARGS'
  794 |     ASSERT_ARGS(mk_sub_address_u)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:378:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  378 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_sub_address_u'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:794:5: note: in expansion of macro 'ASSERT_ARGS'
  794 |     ASSERT_ARGS(mk_sub_address_u)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'IMCC_itcall_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:101:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  101 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_itcall_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:812:5: note: in expansion of macro 'ASSERT_ARGS'
  812 |     ASSERT_ARGS(IMCC_itcall_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:102:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  102 |     , PARROT_ASSERT_ARG(sub))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_itcall_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:812:5: note: in expansion of macro 'ASSERT_ARGS'
  812 |     ASSERT_ARGS(IMCC_itcall_sub)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'begin_return_or_yield':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/imcc.y:331:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  331 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_begin_return_or_yield'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:836:5: note: in expansion of macro 'ASSERT_ARGS'
  836 |     ASSERT_ARGS(begin_return_or_yield)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'set_lexical':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:380:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  380 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_lexical'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:864:5: note: in expansion of macro 'ASSERT_ARGS'
  864 |     ASSERT_ARGS(set_lexical)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:381:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  381 |     , PARROT_ASSERT_ARG(r) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_lexical'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:864:5: note: in expansion of macro 'ASSERT_ARGS'
  864 |     ASSERT_ARGS(set_lexical)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:382:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  382 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_lexical'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:864:5: note: in expansion of macro 'ASSERT_ARGS'
  864 |     ASSERT_ARGS(set_lexical)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'add_pcc_named_arg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:300:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  300 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_arg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:894:5: note: in expansion of macro 'ASSERT_ARGS'
  894 |     ASSERT_ARGS(add_pcc_named_arg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cur_call' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:301:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  301 |     , PARROT_ASSERT_ARG(cur_call) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_arg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:894:5: note: in expansion of macro 'ASSERT_ARGS'
  894 |     ASSERT_ARGS(add_pcc_named_arg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:302:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  302 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_arg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:894:5: note: in expansion of macro 'ASSERT_ARGS'
  894 |     ASSERT_ARGS(add_pcc_named_arg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:303:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  303 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_arg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:894:5: note: in expansion of macro 'ASSERT_ARGS'
  894 |     ASSERT_ARGS(add_pcc_named_arg)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'add_pcc_named_arg_var':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:305:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  305 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_arg_var'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:914:5: note: in expansion of macro 'ASSERT_ARGS'
  914 |     ASSERT_ARGS(add_pcc_named_arg_var)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cur_call' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:306:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  306 |     , PARROT_ASSERT_ARG(cur_call) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_arg_var'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:914:5: note: in expansion of macro 'ASSERT_ARGS'
  914 |     ASSERT_ARGS(add_pcc_named_arg_var)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:307:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  307 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_arg_var'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:914:5: note: in expansion of macro 'ASSERT_ARGS'
  914 |     ASSERT_ARGS(add_pcc_named_arg_var)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:308:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  308 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_arg_var'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:914:5: note: in expansion of macro 'ASSERT_ARGS'
  914 |     ASSERT_ARGS(add_pcc_named_arg_var)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'add_pcc_named_result':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:315:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  315 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_result'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:933:5: note: in expansion of macro 'ASSERT_ARGS'
  933 |     ASSERT_ARGS(add_pcc_named_result)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cur_call' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:316:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  316 |     , PARROT_ASSERT_ARG(cur_call) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_result'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:933:5: note: in expansion of macro 'ASSERT_ARGS'
  933 |     ASSERT_ARGS(add_pcc_named_result)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:317:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  317 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_result'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:933:5: note: in expansion of macro 'ASSERT_ARGS'
  933 |     ASSERT_ARGS(add_pcc_named_result)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:318:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  318 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_result'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:933:5: note: in expansion of macro 'ASSERT_ARGS'
  933 |     ASSERT_ARGS(add_pcc_named_result)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'add_pcc_named_param':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:310:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  310 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_param'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:953:5: note: in expansion of macro 'ASSERT_ARGS'
  953 |     ASSERT_ARGS(add_pcc_named_param)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cur_call' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:311:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  311 |     , PARROT_ASSERT_ARG(cur_call) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_param'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:953:5: note: in expansion of macro 'ASSERT_ARGS'
  953 |     ASSERT_ARGS(add_pcc_named_param)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:312:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  312 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_param'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:953:5: note: in expansion of macro 'ASSERT_ARGS'
  953 |     ASSERT_ARGS(add_pcc_named_param)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:313:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  313 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_param'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:953:5: note: in expansion of macro 'ASSERT_ARGS'
  953 |     ASSERT_ARGS(add_pcc_named_param)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'add_pcc_named_return':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:320:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  320 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_return'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:973:5: note: in expansion of macro 'ASSERT_ARGS'
  973 |     ASSERT_ARGS(add_pcc_named_return)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cur_call' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:321:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  321 |     , PARROT_ASSERT_ARG(cur_call) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_return'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:973:5: note: in expansion of macro 'ASSERT_ARGS'
  973 |     ASSERT_ARGS(add_pcc_named_return)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:322:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  322 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_return'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:973:5: note: in expansion of macro 'ASSERT_ARGS'
  973 |     ASSERT_ARGS(add_pcc_named_return)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:323:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  323 |     , PARROT_ASSERT_ARG(value))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_named_return'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:973:5: note: in expansion of macro 'ASSERT_ARGS'
  973 |     ASSERT_ARGS(add_pcc_named_return)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'adv_named_set':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:325:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  325 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_adv_named_set'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:997:5: note: in expansion of macro 'ASSERT_ARGS'
  997 |     ASSERT_ARGS(adv_named_set)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:326:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  326 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_adv_named_set'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:997:5: note: in expansion of macro 'ASSERT_ARGS'
  997 |     ASSERT_ARGS(adv_named_set)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'adv_named_set_u':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:328:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  328 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_adv_named_set_u'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:1008:5: note: in expansion of macro 'ASSERT_ARGS'
 1008 |     ASSERT_ARGS(adv_named_set_u)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:329:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  329 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_adv_named_set_u'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:1008:5: note: in expansion of macro 'ASSERT_ARGS'
 1008 |     ASSERT_ARGS(adv_named_set_u)
      |     ^~~~~~~~~~~
compilers/imcc/imcc.y: In function 'do_loadlib':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:335:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  335 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_do_loadlib'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:1027:5: note: in expansion of macro 'ASSERT_ARGS'
 1027 |     ASSERT_ARGS(do_loadlib)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lib' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imcc.y:336:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  336 |     , PARROT_ASSERT_ARG(lib))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_do_loadlib'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imcc.y:1027:5: note: in expansion of macro 'ASSERT_ARGS'
 1027 |     ASSERT_ARGS(do_loadlib)
      |     ^~~~~~~~~~~
compilers/imcc/imcparser.c: In function 'yyparse':
compilers/imcc/imcparser.c:2559:1: warning: stack usage is 2560 bytes [-Wstack-usage=]
 2559 | 
      | ^      
/usr/bin/flex -ocompilers/imcc/imclexer.c compilers/imcc/imcc.l
touch compilers/imcc/imcc.l.flag compilers/imcc/imclexer.c
/usr/bin/flex -ocompilers/imcc/imclexer.c compilers/imcc/imcc.l
touch compilers/imcc/imcc.l.flag compilers/imcc/imclexer.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  \
  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Wno-unused-parameter -Wno-sign-compare \
  -Icompilers/imcc/. -o compilers/imcc/imclexer.o -c compilers/imcc/imclexer.c
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Icompilers/imcc/. -Isrc -o compilers/imcc/imc.o -c compilers/imcc/imc.c
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/imc.c:26:
compilers/imcc/imc.c: In function 'imc_compile_unit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:146:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  146 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imc_compile_unit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imc.c:120:5: note: in expansion of macro 'ASSERT_ARGS'
  120 |     ASSERT_ARGS(imc_compile_unit)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:147:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  147 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imc_compile_unit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imc.c:120:5: note: in expansion of macro 'ASSERT_ARGS'
  120 |     ASSERT_ARGS(imc_compile_unit)
      |     ^~~~~~~~~~~
compilers/imcc/imc.c: In function 'imc_cleanup':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/imc.h:140:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  140 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imc_cleanup'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imc.c:142:5: note: in expansion of macro 'ASSERT_ARGS'
  142 |     ASSERT_ARGS(imc_cleanup)
      |     ^~~~~~~~~~~
compilers/imcc/imc.c: In function 'imc_new_unit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/imc.c:50:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   50 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imc_new_unit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imc.c:169:5: note: in expansion of macro 'ASSERT_ARGS'
  169 |     ASSERT_ARGS(imc_new_unit)
      |     ^~~~~~~~~~~
compilers/imcc/imc.c: In function 'imc_open_unit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imc_info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/imc.h:149:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  149 |        PARROT_ASSERT_ARG(imc_info))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imc_open_unit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imc.c:193:5: note: in expansion of macro 'ASSERT_ARGS'
  193 |     ASSERT_ARGS(imc_open_unit)
      |     ^~~~~~~~~~~
compilers/imcc/imc.c: In function 'imc_close_unit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/imc.h:142:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  142 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imc_close_unit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imc.c:231:5: note: in expansion of macro 'ASSERT_ARGS'
  231 |     ASSERT_ARGS(imc_close_unit)
      |     ^~~~~~~~~~~
compilers/imcc/imc.c: In function 'imc_free_unit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.c:47:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   47 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imc_free_unit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imc.c:254:5: note: in expansion of macro 'ASSERT_ARGS'
  254 |     ASSERT_ARGS(imc_free_unit)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.c:48:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   48 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imc_free_unit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imc.c:254:5: note: in expansion of macro 'ASSERT_ARGS'
  254 |     ASSERT_ARGS(imc_free_unit)
      |     ^~~~~~~~~~~
compilers/imcc/imc.c: In function 'imc_compile_all_units':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/imc.h:144:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  144 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imc_compile_all_units'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/imc.c:70:5: note: in expansion of macro 'ASSERT_ARGS'
   70 |     ASSERT_ARGS(imc_compile_all_units)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Icompilers/imcc/. -Isrc -o compilers/imcc/main.o -c compilers/imcc/main.c
In file included from ./include/parrot/longopt.h:10,
                 from compilers/imcc/main.c:33:
compilers/imcc/main.c: In function 'imcc_destroy_macro_values':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'value' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/main.c:95:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   95 |        PARROT_ASSERT_ARG(value))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_destroy_macro_values'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:664:5: note: in expansion of macro 'ASSERT_ARGS'
  664 |     ASSERT_ARGS(imcc_destroy_macro_values)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_new':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/imcc/embed.h:106:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_new'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:125:5: note: in expansion of macro 'ASSERT_ARGS'
  125 |     ASSERT_ARGS(imcc_new)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_reset':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/imcc/embed.h:111:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  111 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_reset'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:147:5: note: in expansion of macro 'ASSERT_ARGS'
  147 |     ASSERT_ARGS(imcc_reset)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_last_error_message':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/imcc/embed.h:104:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_last_error_message'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:170:5: note: in expansion of macro 'ASSERT_ARGS'
  170 |     ASSERT_ARGS(imcc_last_error_message)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_last_error_code':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/imcc/embed.h:102:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  102 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_last_error_code'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:188:5: note: in expansion of macro 'ASSERT_ARGS'
  188 |     ASSERT_ARGS(imcc_last_error_code)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_set_debug_mode':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/imcc/embed.h:113:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  113 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_set_debug_mode'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:208:5: note: in expansion of macro 'ASSERT_ARGS'
  208 |     ASSERT_ARGS(imcc_set_debug_mode)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_set_verbosity':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/imcc/embed.h:118:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  118 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_set_verbosity'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:228:5: note: in expansion of macro 'ASSERT_ARGS'
  228 |     ASSERT_ARGS(imcc_set_verbosity)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_set_optimization_level':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/imcc/embed.h:115:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  115 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_set_optimization_level'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:248:5: note: in expansion of macro 'ASSERT_ARGS'
  248 |     ASSERT_ARGS(imcc_set_optimization_level)
      |     ^~~~~~~~~~~
compilers/imcc/main.c:249:8: warning: 'nonnull' argument 'opts' compared to NULL [-Wnonnull-compare]
  249 |     if (!opts || !*opts || opts[0] == '0')
      |        ^
In file included from ./include/parrot/longopt.h:10,
                 from compilers/imcc/main.c:33:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'opts' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/imcc/embed.h:116:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  116 |     , PARROT_ASSERT_ARG(opts))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_set_optimization_level'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:248:5: note: in expansion of macro 'ASSERT_ARGS'
  248 |     ASSERT_ARGS(imcc_set_optimization_level)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_get_scanner':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/main.c:97:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   97 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_get_scanner'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:280:5: note: in expansion of macro 'ASSERT_ARGS'
  280 |     ASSERT_ARGS(imcc_get_scanner)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'do_pre_process':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/main.c:92:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   92 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_do_pre_process'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:336:5: note: in expansion of macro 'ASSERT_ARGS'
  336 |     ASSERT_ARGS(do_pre_process)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'sourcefile' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/main.c:93:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   93 |     , PARROT_ASSERT_ARG(sourcefile))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_do_pre_process'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:336:5: note: in expansion of macro 'ASSERT_ARGS'
  336 |     ASSERT_ARGS(do_pre_process)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_preprocess':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/imcc/embed.h:108:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  108 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_preprocess'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:300:5: note: in expansion of macro 'ASSERT_ARGS'
  300 |     ASSERT_ARGS(imcc_preprocess)
      |     ^~~~~~~~~~~
compilers/imcc/main.c:305:8: warning: 'nonnull' argument 'sourcefile' compared to NULL [-Wnonnull-compare]
  305 |     if (!STRING_length(sourcefile))
      |        ^
In file included from ./include/parrot/longopt.h:10,
                 from compilers/imcc/main.c:33:
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'sourcefile' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/imcc/embed.h:109:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  109 |     , PARROT_ASSERT_ARG(sourcefile))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_preprocess'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:300:5: note: in expansion of macro 'ASSERT_ARGS'
  300 |     ASSERT_ARGS(imcc_preprocess)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_run_compilation_internal':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/main.c:99:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   99 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_run_compilation_internal'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:523:5: note: in expansion of macro 'ASSERT_ARGS'
  523 |     ASSERT_ARGS(imcc_run_compilation_internal)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'source' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/main.c:100:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  100 |     , PARROT_ASSERT_ARG(source))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_run_compilation_internal'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:523:5: note: in expansion of macro 'ASSERT_ARGS'
  523 |     ASSERT_ARGS(imcc_run_compilation_internal)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'prepare_reentrant_compile':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/main.c:106:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_prepare_reentrant_compile'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:594:5: note: in expansion of macro 'ASSERT_ARGS'
  594 |     ASSERT_ARGS(prepare_reentrant_compile)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'exit_reentrant_compile':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/imcc/embed.h:120:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  120 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_exit_reentrant_compile'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:614:5: note: in expansion of macro 'ASSERT_ARGS'
  614 |     ASSERT_ARGS(exit_reentrant_compile)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_run_compilation_reentrant':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/main.c:103:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  103 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_run_compilation_reentrant'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:495:5: note: in expansion of macro 'ASSERT_ARGS'
  495 |     ASSERT_ARGS(imcc_run_compilation_reentrant)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'fullname' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/main.c:104:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |     , PARROT_ASSERT_ARG(fullname))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_run_compilation_reentrant'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:495:5: note: in expansion of macro 'ASSERT_ARGS'
  495 |     ASSERT_ARGS(imcc_run_compilation_reentrant)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_compile_string':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/imcc/embed.h:122:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  122 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_compile_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:453:5: note: in expansion of macro 'ASSERT_ARGS'
  453 |     ASSERT_ARGS(imcc_compile_string)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'source' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/imcc/embed.h:123:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  123 |     , PARROT_ASSERT_ARG(source))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_compile_string'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:453:5: note: in expansion of macro 'ASSERT_ARGS'
  453 |     ASSERT_ARGS(imcc_compile_string)
      |     ^~~~~~~~~~~
compilers/imcc/main.c: In function 'imcc_compile_file':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/imcc/embed.h:99:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   99 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_compile_file'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:473:5: note: in expansion of macro 'ASSERT_ARGS'
  473 |     ASSERT_ARGS(imcc_compile_file)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'fullname' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/imcc/embed.h:100:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  100 |     , PARROT_ASSERT_ARG(fullname))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_compile_file'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/main.c:473:5: note: in expansion of macro 'ASSERT_ARGS'
  473 |     ASSERT_ARGS(imcc_compile_file)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Icompilers/imcc/. -Isrc -o compilers/imcc/symreg.o -c compilers/imcc/symreg.c
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/symreg.c:29:
compilers/imcc/symreg.c: In function 'symreg_to_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/symreg.h:518:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  518 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_symreg_to_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:277:5: note: in expansion of macro 'ASSERT_ARGS'
  277 |     ASSERT_ARGS(symreg_to_str)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'add_pcc_arg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:435:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  435 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_arg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:415:5: note: in expansion of macro 'ASSERT_ARGS'
  415 |     ASSERT_ARGS(add_pcc_arg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:436:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  436 |     , PARROT_ASSERT_ARG(r) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_arg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:415:5: note: in expansion of macro 'ASSERT_ARGS'
  415 |     ASSERT_ARGS(add_pcc_arg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:437:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  437 |     , PARROT_ASSERT_ARG(arg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_arg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:415:5: note: in expansion of macro 'ASSERT_ARGS'
  415 |     ASSERT_ARGS(add_pcc_arg)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'add_pcc_result':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:449:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  449 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_result'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:444:5: note: in expansion of macro 'ASSERT_ARGS'
  444 |     ASSERT_ARGS(add_pcc_result)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:450:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  450 |     , PARROT_ASSERT_ARG(r) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_result'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:444:5: note: in expansion of macro 'ASSERT_ARGS'
  444 |     ASSERT_ARGS(add_pcc_result)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:451:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  451 |     , PARROT_ASSERT_ARG(arg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_result'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:444:5: note: in expansion of macro 'ASSERT_ARGS'
  444 |     ASSERT_ARGS(add_pcc_result)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'add_pcc_multi':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:446:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  446 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_multi'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:475:5: note: in expansion of macro 'ASSERT_ARGS'
  475 |     ASSERT_ARGS(add_pcc_multi)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:447:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  447 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_multi'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:475:5: note: in expansion of macro 'ASSERT_ARGS'
  475 |     ASSERT_ARGS(add_pcc_multi)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'add_pcc_flag_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:442:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  442 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_flag_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:498:5: note: in expansion of macro 'ASSERT_ARGS'
  498 |     ASSERT_ARGS(add_pcc_flag_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:443:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  443 |     , PARROT_ASSERT_ARG(r) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_flag_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:498:5: note: in expansion of macro 'ASSERT_ARGS'
  498 |     ASSERT_ARGS(add_pcc_flag_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:444:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  444 |     , PARROT_ASSERT_ARG(arg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_flag_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:498:5: note: in expansion of macro 'ASSERT_ARGS'
  498 |     ASSERT_ARGS(add_pcc_flag_str)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'add_pcc_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:453:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  453 |        PARROT_ASSERT_ARG(r) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:519:5: note: in expansion of macro 'ASSERT_ARGS'
  519 |     ASSERT_ARGS(add_pcc_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:454:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  454 |     , PARROT_ASSERT_ARG(arg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:519:5: note: in expansion of macro 'ASSERT_ARGS'
  519 |     ASSERT_ARGS(add_pcc_sub)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'add_pcc_cc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:439:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  439 |        PARROT_ASSERT_ARG(r) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_cc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:537:5: note: in expansion of macro 'ASSERT_ARGS'
  537 |     ASSERT_ARGS(add_pcc_cc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'arg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:440:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  440 |     , PARROT_ASSERT_ARG(arg))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_pcc_cc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:537:5: note: in expansion of macro 'ASSERT_ARGS'
  537 |     ASSERT_ARGS(add_pcc_cc)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function '_mk_fullname':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:116:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  116 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_fullname'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:594:5: note: in expansion of macro 'ASSERT_ARGS'
  594 |     ASSERT_ARGS(_mk_fullname)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:117:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  117 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_fullname'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:594:5: note: in expansion of macro 'ASSERT_ARGS'
  594 |     ASSERT_ARGS(_mk_fullname)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'mk_pmc_const_2':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:131:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  131 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pmc_const_2'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:652:5: note: in expansion of macro 'ASSERT_ARGS'
  652 |     ASSERT_ARGS(mk_pmc_const_2)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:132:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  132 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pmc_const_2'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:652:5: note: in expansion of macro 'ASSERT_ARGS'
  652 |     ASSERT_ARGS(mk_pmc_const_2)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'left' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:133:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  133 |     , PARROT_ASSERT_ARG(left) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pmc_const_2'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:652:5: note: in expansion of macro 'ASSERT_ARGS'
  652 |     ASSERT_ARGS(mk_pmc_const_2)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'rhs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:134:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  134 |     , PARROT_ASSERT_ARG(rhs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pmc_const_2'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:652:5: note: in expansion of macro 'ASSERT_ARGS'
  652 |     ASSERT_ARGS(mk_pmc_const_2)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'int_overflows':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/symreg.c:129:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  129 |        PARROT_ASSERT_ARG(r))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_int_overflows'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:801:5: note: in expansion of macro 'ASSERT_ARGS'
  801 |     ASSERT_ARGS(int_overflows)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'add_ns':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:123:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  123 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_ns'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:874:5: note: in expansion of macro 'ASSERT_ARGS'
  874 |     ASSERT_ARGS(add_ns)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:124:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  124 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_ns'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:874:5: note: in expansion of macro 'ASSERT_ARGS'
  874 |     ASSERT_ARGS(add_ns)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'dup_sym':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:464:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  464 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dup_sym'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1117:5: note: in expansion of macro 'ASSERT_ARGS'
 1117 |     ASSERT_ARGS(dup_sym)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:299:44: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  299 | #  define PARROT_ASSERT(x) (x) ? ((void)0) : Parrot_confess(#x, __FILE__, __LINE__)
      |                            ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/parrot.h:220:49: note: in expansion of macro 'PARROT_ASSERT'
  220 | #define STRUCT_COPY(d, s)    (PARROT_ASSERT(d), PARROT_ASSERT(s), *(d)=*(s))
      |                                                 ^~~~~~~~~~~~~
compilers/imcc/symreg.c:1119:5: note: in expansion of macro 'STRUCT_COPY'
 1119 |     STRUCT_COPY(new_sym, r);
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:465:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  465 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dup_sym'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1117:5: note: in expansion of macro 'ASSERT_ARGS'
 1117 |     ASSERT_ARGS(dup_sym)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'free_pcc_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/symreg.h:470:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  470 |        PARROT_ASSERT_ARG(sub))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_pcc_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1232:5: note: in expansion of macro 'ASSERT_ARGS'
 1232 |     ASSERT_ARGS(free_pcc_sub)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'free_sym':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/symreg.h:472:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  472 |        PARROT_ASSERT_ARG(r))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_sym'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1257:5: note: in expansion of macro 'ASSERT_ARGS'
 1257 |     ASSERT_ARGS(free_sym)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'create_symhash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:461:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  461 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_create_symhash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1295:5: note: in expansion of macro 'ASSERT_ARGS'
 1295 |     ASSERT_ARGS(create_symhash)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hash' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:462:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  462 |     , PARROT_ASSERT_ARG(hash))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_create_symhash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1295:5: note: in expansion of macro 'ASSERT_ARGS'
 1295 |     ASSERT_ARGS(create_symhash)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'clear_sym_hash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hsh' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/symreg.h:459:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  459 |        PARROT_ASSERT_ARG(hsh))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_clear_sym_hash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1536:5: note: in expansion of macro 'ASSERT_ARGS'
 1536 |     ASSERT_ARGS(clear_sym_hash)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'clear_globals':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/symreg.h:456:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  456 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_clear_globals'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1607:5: note: in expansion of macro 'ASSERT_ARGS'
 1607 |     ASSERT_ARGS(clear_globals)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'hash_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/symreg.h:477:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  477 |        PARROT_ASSERT_ARG(str))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_hash_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1631:5: note: in expansion of macro 'ASSERT_ARGS'
 1631 |     ASSERT_ARGS(hash_str)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function '_get_sym_typed':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hsh' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:113:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  113 |        PARROT_ASSERT_ARG(hsh) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__get_sym_typed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:157:5: note: in expansion of macro 'ASSERT_ARGS'
  157 |     ASSERT_ARGS(_get_sym_typed)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:114:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  114 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__get_sym_typed'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:157:5: note: in expansion of macro 'ASSERT_ARGS'
  157 |     ASSERT_ARGS(_get_sym_typed)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'get_sym_by_name':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hsh' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:126:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  126 |        PARROT_ASSERT_ARG(hsh) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_sym_by_name'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:185:5: note: in expansion of macro 'ASSERT_ARGS'
  185 |     ASSERT_ARGS(get_sym_by_name)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:127:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  127 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_sym_by_name'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:185:5: note: in expansion of macro 'ASSERT_ARGS'
  185 |     ASSERT_ARGS(get_sym_by_name)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'resize_symhash':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:136:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  136 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_resize_symhash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1315:5: note: in expansion of macro 'ASSERT_ARGS'
 1315 |     ASSERT_ARGS(resize_symhash)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hsh' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:137:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  137 |     , PARROT_ASSERT_ARG(hsh))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_resize_symhash'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1315:5: note: in expansion of macro 'ASSERT_ARGS'
 1315 |     ASSERT_ARGS(resize_symhash)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function '_store_symreg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:428:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  428 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__store_symreg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1376:5: note: in expansion of macro 'ASSERT_ARGS'
 1376 |     ASSERT_ARGS(_store_symreg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hsh' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:429:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  429 |     , PARROT_ASSERT_ARG(hsh) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__store_symreg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1376:5: note: in expansion of macro 'ASSERT_ARGS'
 1376 |     ASSERT_ARGS(_store_symreg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:430:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  430 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__store_symreg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1376:5: note: in expansion of macro 'ASSERT_ARGS'
 1376 |     ASSERT_ARGS(_store_symreg)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function '_mk_symreg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:119:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_symreg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:218:5: note: in expansion of macro 'ASSERT_ARGS'
  218 |     ASSERT_ARGS(_mk_symreg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hsh' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:120:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  120 |     , PARROT_ASSERT_ARG(hsh) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_symreg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:218:5: note: in expansion of macro 'ASSERT_ARGS'
  218 |     ASSERT_ARGS(_mk_symreg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.c:121:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  121 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_symreg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:218:5: note: in expansion of macro 'ASSERT_ARGS'
  218 |     ASSERT_ARGS(_mk_symreg)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'mk_symreg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:510:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  510 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_symreg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:251:5: note: in expansion of macro 'ASSERT_ARGS'
  251 |     ASSERT_ARGS(mk_symreg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:511:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  511 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_symreg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:251:5: note: in expansion of macro 'ASSERT_ARGS'
  251 |     ASSERT_ARGS(mk_symreg)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'mk_temp_reg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/symreg.h:513:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  513 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_temp_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:320:5: note: in expansion of macro 'ASSERT_ARGS'
  320 |     ASSERT_ARGS(mk_temp_reg)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'mk_ident':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:489:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  489 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_ident'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:622:5: note: in expansion of macro 'ASSERT_ARGS'
  622 |     ASSERT_ARGS(mk_ident)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:490:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  490 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_ident'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:622:5: note: in expansion of macro 'ASSERT_ARGS'
  622 |     ASSERT_ARGS(mk_ident)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'mk_pcc_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:501:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  501 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pcc_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:345:5: note: in expansion of macro 'ASSERT_ARGS'
  345 |     ASSERT_ARGS(mk_pcc_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:502:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  502 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pcc_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:345:5: note: in expansion of macro 'ASSERT_ARGS'
  345 |     ASSERT_ARGS(mk_pcc_sub)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'mk_const_ident':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:485:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  485 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_const_ident'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:710:5: note: in expansion of macro 'ASSERT_ARGS'
  710 |     ASSERT_ARGS(mk_const_ident)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:486:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  486 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_const_ident'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:710:5: note: in expansion of macro 'ASSERT_ARGS'
  710 |     ASSERT_ARGS(mk_const_ident)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'val' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:487:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  487 |     , PARROT_ASSERT_ARG(val))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_const_ident'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:710:5: note: in expansion of macro 'ASSERT_ARGS'
  710 |     ASSERT_ARGS(mk_const_ident)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function '_mk_const':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:424:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  424 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:764:5: note: in expansion of macro 'ASSERT_ARGS'
  764 |     ASSERT_ARGS(_mk_const)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hsh' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:425:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  425 |     , PARROT_ASSERT_ARG(hsh) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:764:5: note: in expansion of macro 'ASSERT_ARGS'
  764 |     ASSERT_ARGS(_mk_const)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:426:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  426 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:764:5: note: in expansion of macro 'ASSERT_ARGS'
  764 |     ASSERT_ARGS(_mk_const)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'mk_const':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:482:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  482 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:847:5: note: in expansion of macro 'ASSERT_ARGS'
  847 |     ASSERT_ARGS(mk_const)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:483:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  483 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:847:5: note: in expansion of macro 'ASSERT_ARGS'
  847 |     ASSERT_ARGS(mk_const)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'store_symreg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:515:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  515 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_symreg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1401:5: note: in expansion of macro 'ASSERT_ARGS'
 1401 |     ASSERT_ARGS(store_symreg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:516:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  516 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_symreg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1401:5: note: in expansion of macro 'ASSERT_ARGS'
 1401 |     ASSERT_ARGS(store_symreg)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function '_get_sym':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hsh' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:417:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  417 |        PARROT_ASSERT_ARG(hsh) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__get_sym'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1421:5: note: in expansion of macro 'ASSERT_ARGS'
 1421 |     ASSERT_ARGS(_get_sym)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:418:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  418 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__get_sym'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1421:5: note: in expansion of macro 'ASSERT_ARGS'
 1421 |     ASSERT_ARGS(_get_sym)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'add_namespace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:432:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  432 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_namespace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:369:5: note: in expansion of macro 'ASSERT_ARGS'
  369 |     ASSERT_ARGS(add_namespace)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:433:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  433 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_namespace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:369:5: note: in expansion of macro 'ASSERT_ARGS'
  369 |     ASSERT_ARGS(add_namespace)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'mk_pasm_reg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:498:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  498 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pasm_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:557:5: note: in expansion of macro 'ASSERT_ARGS'
  557 |     ASSERT_ARGS(mk_pasm_reg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:499:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  499 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_pasm_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:557:5: note: in expansion of macro 'ASSERT_ARGS'
  557 |     ASSERT_ARGS(mk_pasm_reg)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function '_mk_address':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:420:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  420 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_address'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:922:5: note: in expansion of macro 'ASSERT_ARGS'
  922 |     ASSERT_ARGS(_mk_address)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hsh' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:421:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  421 |     , PARROT_ASSERT_ARG(hsh) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_address'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:922:5: note: in expansion of macro 'ASSERT_ARGS'
  922 |     ASSERT_ARGS(_mk_address)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:422:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  422 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_address'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:922:5: note: in expansion of macro 'ASSERT_ARGS'
  922 |     ASSERT_ARGS(_mk_address)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'mk_sub_label':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:507:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  507 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_sub_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:991:5: note: in expansion of macro 'ASSERT_ARGS'
  991 |     ASSERT_ARGS(mk_sub_label)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:508:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  508 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_sub_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:991:5: note: in expansion of macro 'ASSERT_ARGS'
  991 |     ASSERT_ARGS(mk_sub_label)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'mk_sub_address':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:504:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  504 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_sub_address'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1016:5: note: in expansion of macro 'ASSERT_ARGS'
 1016 |     ASSERT_ARGS(mk_sub_address)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:505:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  505 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_sub_address'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1016:5: note: in expansion of macro 'ASSERT_ARGS'
 1016 |     ASSERT_ARGS(mk_sub_address)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'mk_local_label':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:495:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  495 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_local_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1041:5: note: in expansion of macro 'ASSERT_ARGS'
 1041 |     ASSERT_ARGS(mk_local_label)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:496:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  496 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_local_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1041:5: note: in expansion of macro 'ASSERT_ARGS'
 1041 |     ASSERT_ARGS(mk_local_label)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'mk_label_address':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:492:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  492 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_label_address'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1062:5: note: in expansion of macro 'ASSERT_ARGS'
 1062 |     ASSERT_ARGS(mk_label_address)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:493:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  493 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_label_address'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1062:5: note: in expansion of macro 'ASSERT_ARGS'
 1062 |     ASSERT_ARGS(mk_label_address)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'link_keys':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:479:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  479 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_link_keys'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1146:5: note: in expansion of macro 'ASSERT_ARGS'
 1146 |     ASSERT_ARGS(link_keys)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'keys' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:480:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  480 |     , PARROT_ASSERT_ARG(keys))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_link_keys'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1146:5: note: in expansion of macro 'ASSERT_ARGS'
 1146 |     ASSERT_ARGS(link_keys)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'get_sym':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:474:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  474 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_sym'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1448:5: note: in expansion of macro 'ASSERT_ARGS'
 1448 |     ASSERT_ARGS(get_sym)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:475:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  475 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_sym'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1448:5: note: in expansion of macro 'ASSERT_ARGS'
 1448 |     ASSERT_ARGS(get_sym)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function '_find_sym':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:413:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  413 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__find_sym'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1470:5: note: in expansion of macro 'ASSERT_ARGS'
 1470 |     ASSERT_ARGS(_find_sym)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'hsh' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:414:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  414 |     , PARROT_ASSERT_ARG(hsh) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__find_sym'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1470:5: note: in expansion of macro 'ASSERT_ARGS'
 1470 |     ASSERT_ARGS(_find_sym)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:415:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  415 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__find_sym'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1470:5: note: in expansion of macro 'ASSERT_ARGS'
 1470 |     ASSERT_ARGS(_find_sym)
      |     ^~~~~~~~~~~
compilers/imcc/symreg.c: In function 'find_sym':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:467:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  467 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_sym'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1514:5: note: in expansion of macro 'ASSERT_ARGS'
 1514 |     ASSERT_ARGS(find_sym)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/symreg.h:468:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  468 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_sym'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/symreg.c:1514:5: note: in expansion of macro 'ASSERT_ARGS'
 1514 |     ASSERT_ARGS(find_sym)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Icompilers/imcc/. -Isrc -o compilers/imcc/instructions.o -c compilers/imcc/instructions.c
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/instructions.c:8:
compilers/imcc/instructions.c: In function '_mk_instruction':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'op' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:210:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  210 |        PARROT_ASSERT_ARG(op) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_instruction'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:60:5: note: in expansion of macro 'ASSERT_ARGS'
   60 |     ASSERT_ARGS(_mk_instruction)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'fmt' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:211:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  211 |     , PARROT_ASSERT_ARG(fmt) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_instruction'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:60:5: note: in expansion of macro 'ASSERT_ARGS'
   60 |     ASSERT_ARGS(_mk_instruction)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:212:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  212 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__mk_instruction'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:60:5: note: in expansion of macro 'ASSERT_ARGS'
   60 |     ASSERT_ARGS(_mk_instruction)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'instruction_reads':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:238:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  238 |        PARROT_ASSERT_ARG(ins) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_instruction_reads'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:93:5: note: in expansion of macro 'ASSERT_ARGS'
   93 |     ASSERT_ARGS(instruction_reads)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:239:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  239 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_instruction_reads'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:93:5: note: in expansion of macro 'ASSERT_ARGS'
   93 |     ASSERT_ARGS(instruction_reads)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'instruction_writes':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:241:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  241 |        PARROT_ASSERT_ARG(ins) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_instruction_writes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:166:5: note: in expansion of macro 'ASSERT_ARGS'
  166 |     ASSERT_ARGS(instruction_writes)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:242:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  242 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_instruction_writes'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:166:5: note: in expansion of macro 'ASSERT_ARGS'
  166 |     ASSERT_ARGS(instruction_writes)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'get_branch_regno':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/instructions.h:230:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  230 |        PARROT_ASSERT_ARG(ins))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_branch_regno'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:249:5: note: in expansion of macro 'ASSERT_ARGS'
  249 |     ASSERT_ARGS(get_branch_regno)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'get_branch_reg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/instructions.h:228:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  228 |        PARROT_ASSERT_ARG(ins))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_branch_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:274:5: note: in expansion of macro 'ASSERT_ARGS'
  274 |     ASSERT_ARGS(get_branch_reg)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function '_delete_ins':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:207:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  207 |        PARROT_ASSERT_ARG(unit) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__delete_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:303:5: note: in expansion of macro 'ASSERT_ARGS'
  303 |     ASSERT_ARGS(_delete_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:208:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  208 |     , PARROT_ASSERT_ARG(ins))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS__delete_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:303:5: note: in expansion of macro 'ASSERT_ARGS'
  303 |     ASSERT_ARGS(_delete_ins)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'insert_ins':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:235:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  235 |        PARROT_ASSERT_ARG(unit) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_insert_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:361:5: note: in expansion of macro 'ASSERT_ARGS'
  361 |     ASSERT_ARGS(insert_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'tmp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:236:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  236 |     , PARROT_ASSERT_ARG(tmp))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_insert_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:361:5: note: in expansion of macro 'ASSERT_ARGS'
  361 |     ASSERT_ARGS(insert_ins)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'prepend_ins':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:248:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  248 |        PARROT_ASSERT_ARG(unit) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_prepend_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:408:5: note: in expansion of macro 'ASSERT_ARGS'
  408 |     ASSERT_ARGS(prepend_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'tmp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:249:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  249 |     , PARROT_ASSERT_ARG(tmp))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_prepend_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:408:5: note: in expansion of macro 'ASSERT_ARGS'
  408 |     ASSERT_ARGS(prepend_ins)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'move_ins':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:244:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  244 |        PARROT_ASSERT_ARG(unit) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_move_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:489:5: note: in expansion of macro 'ASSERT_ARGS'
  489 |     ASSERT_ARGS(move_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:245:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  245 |     , PARROT_ASSERT_ARG(ins) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_move_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:489:5: note: in expansion of macro 'ASSERT_ARGS'
  489 |     ASSERT_ARGS(move_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'to' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:246:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  246 |     , PARROT_ASSERT_ARG(to))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_move_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:489:5: note: in expansion of macro 'ASSERT_ARGS'
  489 |     ASSERT_ARGS(move_ins)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'emitb':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/instructions.h:224:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  224 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_emitb'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:511:5: note: in expansion of macro 'ASSERT_ARGS'
  511 |     ASSERT_ARGS(emitb)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'free_ins':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/instructions.h:226:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  226 |        PARROT_ASSERT_ARG(ins))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:542:5: note: in expansion of macro 'ASSERT_ARGS'
  542 |     ASSERT_ARGS(free_ins)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'delete_ins':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:214:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  214 |        PARROT_ASSERT_ARG(unit) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_delete_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:337:5: note: in expansion of macro 'ASSERT_ARGS'
  337 |     ASSERT_ARGS(delete_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:215:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  215 |     , PARROT_ASSERT_ARG(ins))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_delete_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:337:5: note: in expansion of macro 'ASSERT_ARGS'
  337 |     ASSERT_ARGS(delete_ins)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'subst_ins':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:251:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  251 |        PARROT_ASSERT_ARG(unit) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_subst_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:448:5: note: in expansion of macro 'ASSERT_ARGS'
  448 |     ASSERT_ARGS(subst_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:252:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  252 |     , PARROT_ASSERT_ARG(ins) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_subst_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:448:5: note: in expansion of macro 'ASSERT_ARGS'
  448 |     ASSERT_ARGS(subst_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'tmp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:253:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  253 |     , PARROT_ASSERT_ARG(tmp))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_subst_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:448:5: note: in expansion of macro 'ASSERT_ARGS'
  448 |     ASSERT_ARGS(subst_ins)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'ins_print':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:232:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  232 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ins_print'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:563:5: note: in expansion of macro 'ASSERT_ARGS'
  563 |     ASSERT_ARGS(ins_print)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:233:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  233 |     , PARROT_ASSERT_ARG(ins))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_ins_print'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:563:5: note: in expansion of macro 'ASSERT_ARGS'
  563 |     ASSERT_ARGS(ins_print)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'emit_open':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/instructions.h:222:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  222 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_emit_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:665:5: note: in expansion of macro 'ASSERT_ARGS'
  665 |     ASSERT_ARGS(emit_open)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'emit_flush':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:219:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  219 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_emit_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:685:5: note: in expansion of macro 'ASSERT_ARGS'
  685 |     ASSERT_ARGS(emit_flush)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/instructions.h:220:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  220 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_emit_flush'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:685:5: note: in expansion of macro 'ASSERT_ARGS'
  685 |     ASSERT_ARGS(emit_flush)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'emit_close':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/instructions.h:217:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  217 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_emit_close'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/instructions.c:711:5: note: in expansion of macro 'ASSERT_ARGS'
  711 |     ASSERT_ARGS(emit_close)
      |     ^~~~~~~~~~~
compilers/imcc/instructions.c: In function 'ins_print':
compilers/imcc/instructions.c:561:1: warning: stack usage is 4352 bytes [-Wstack-usage=]
  561 | ins_print(ARGMOD(imc_info_t * imcc), PIOHANDLE io, ARGIN(const Instruction *ins))
      | ^~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Icompilers/imcc/. -Isrc -o compilers/imcc/cfg.o -c compilers/imcc/cfg.c
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/cfg.c:29:
compilers/imcc/cfg.c: In function 'check_invoke_type':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:173:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  173 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_invoke_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:224:5: note: in expansion of macro 'ASSERT_ARGS'
  224 |     ASSERT_ARGS(check_invoke_type)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:174:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  174 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_invoke_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:224:5: note: in expansion of macro 'ASSERT_ARGS'
  224 |     ASSERT_ARGS(check_invoke_type)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:175:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  175 |     , PARROT_ASSERT_ARG(ins))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_invoke_type'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:224:5: note: in expansion of macro 'ASSERT_ARGS'
  224 |     ASSERT_ARGS(check_invoke_type)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'blocks_are_connected':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'from' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:170:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  170 |        PARROT_ASSERT_ARG(from) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_blocks_are_connected'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:532:5: note: in expansion of macro 'ASSERT_ARGS'
  532 |     ASSERT_ARGS(blocks_are_connected)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'to' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:171:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  171 |     , PARROT_ASSERT_ARG(to))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_blocks_are_connected'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:532:5: note: in expansion of macro 'ASSERT_ARGS'
  532 |     ASSERT_ARGS(blocks_are_connected)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'bb_add_edge':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:152:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  152 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_add_edge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:564:5: note: in expansion of macro 'ASSERT_ARGS'
  564 |     ASSERT_ARGS(bb_add_edge)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:153:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  153 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_add_edge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:564:5: note: in expansion of macro 'ASSERT_ARGS'
  564 |     ASSERT_ARGS(bb_add_edge)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'from' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:154:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  154 |     , PARROT_ASSERT_ARG(from) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_add_edge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:564:5: note: in expansion of macro 'ASSERT_ARGS'
  564 |     ASSERT_ARGS(bb_add_edge)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'to' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:155:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  155 |     , PARROT_ASSERT_ARG(to))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_add_edge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:564:5: note: in expansion of macro 'ASSERT_ARGS'
  564 |     ASSERT_ARGS(bb_add_edge)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'bb_check_set_addr':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:157:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  157 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_check_set_addr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:384:5: note: in expansion of macro 'ASSERT_ARGS'
  384 |     ASSERT_ARGS(bb_check_set_addr)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:158:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  158 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_check_set_addr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:384:5: note: in expansion of macro 'ASSERT_ARGS'
  384 |     ASSERT_ARGS(bb_check_set_addr)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bb' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:159:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  159 |     , PARROT_ASSERT_ARG(bb) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_check_set_addr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:384:5: note: in expansion of macro 'ASSERT_ARGS'
  384 |     ASSERT_ARGS(bb_check_set_addr)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'label' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:160:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  160 |     , PARROT_ASSERT_ARG(label))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_check_set_addr'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:384:5: note: in expansion of macro 'ASSERT_ARGS'
  384 |     ASSERT_ARGS(bb_check_set_addr)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'bb_findadd_edge':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:162:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  162 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_findadd_edge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:493:5: note: in expansion of macro 'ASSERT_ARGS'
  493 |     ASSERT_ARGS(bb_findadd_edge)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:163:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  163 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_findadd_edge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:493:5: note: in expansion of macro 'ASSERT_ARGS'
  493 |     ASSERT_ARGS(bb_findadd_edge)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'from' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:164:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  164 |     , PARROT_ASSERT_ARG(from) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_findadd_edge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:493:5: note: in expansion of macro 'ASSERT_ARGS'
  493 |     ASSERT_ARGS(bb_findadd_edge)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'label' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:165:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |     , PARROT_ASSERT_ARG(label))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_findadd_edge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:493:5: note: in expansion of macro 'ASSERT_ARGS'
  493 |     ASSERT_ARGS(bb_findadd_edge)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'bb_remove_edge':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:167:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  167 |        PARROT_ASSERT_ARG(unit) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_remove_edge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:606:5: note: in expansion of macro 'ASSERT_ARGS'
  606 |     ASSERT_ARGS(bb_remove_edge)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'edge' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:168:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  168 |     , PARROT_ASSERT_ARG(edge))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_bb_remove_edge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:606:5: note: in expansion of macro 'ASSERT_ARGS'
  606 |     ASSERT_ARGS(bb_remove_edge)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'build_cfg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:111:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  111 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_cfg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:418:5: note: in expansion of macro 'ASSERT_ARGS'
  418 |     ASSERT_ARGS(build_cfg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:112:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  112 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_cfg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:418:5: note: in expansion of macro 'ASSERT_ARGS'
  418 |     ASSERT_ARGS(build_cfg)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'free_edge':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/cfg.c:181:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  181 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_edge'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:661:5: note: in expansion of macro 'ASSERT_ARGS'
  661 |     ASSERT_ARGS(free_edge)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'edge_count':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/cfg.h:122:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  122 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_edge_count'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:689:5: note: in expansion of macro 'ASSERT_ARGS'
  689 |     ASSERT_ARGS(edge_count)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'compute_dominators':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:119:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_compute_dominators'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:717:5: note: in expansion of macro 'ASSERT_ARGS'
  717 |     ASSERT_ARGS(compute_dominators)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:120:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  120 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_compute_dominators'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:717:5: note: in expansion of macro 'ASSERT_ARGS'
  717 |     ASSERT_ARGS(compute_dominators)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'compute_dominance_frontiers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:116:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  116 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_compute_dominance_frontiers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:856:5: note: in expansion of macro 'ASSERT_ARGS'
  856 |     ASSERT_ARGS(compute_dominance_frontiers)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:117:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  117 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_compute_dominance_frontiers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:856:5: note: in expansion of macro 'ASSERT_ARGS'
  856 |     ASSERT_ARGS(compute_dominance_frontiers)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'free_dominators':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/cfg.c:179:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  179 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_dominators'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:918:5: note: in expansion of macro 'ASSERT_ARGS'
  918 |     ASSERT_ARGS(free_dominators)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'free_dominance_frontiers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/cfg.c:177:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  177 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_dominance_frontiers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:946:5: note: in expansion of macro 'ASSERT_ARGS'
  946 |     ASSERT_ARGS(free_dominance_frontiers)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'sort_loops':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:196:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  196 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sort_loops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:973:5: note: in expansion of macro 'ASSERT_ARGS'
  973 |     ASSERT_ARGS(sort_loops)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:197:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  197 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sort_loops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:973:5: note: in expansion of macro 'ASSERT_ARGS'
  973 |     ASSERT_ARGS(sort_loops)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'natural_preheader':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:130:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  130 |        PARROT_ASSERT_ARG(unit) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_natural_preheader'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1093:5: note: in expansion of macro 'ASSERT_ARGS'
 1093 |     ASSERT_ARGS(natural_preheader)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'loop_info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:131:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  131 |     , PARROT_ASSERT_ARG(loop_info))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_natural_preheader'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1093:5: note: in expansion of macro 'ASSERT_ARGS'
 1093 |     ASSERT_ARGS(natural_preheader)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'free_loops':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/cfg.c:183:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  183 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_loops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1221:5: note: in expansion of macro 'ASSERT_ARGS'
 1221 |     ASSERT_ARGS(free_loops)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'search_predecessors_not_in':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'node' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:133:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  133 |        PARROT_ASSERT_ARG(node) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_search_predecessors_not_in'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1251:5: note: in expansion of macro 'ASSERT_ARGS'
 1251 |     ASSERT_ARGS(search_predecessors_not_in)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:134:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  134 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_search_predecessors_not_in'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1251:5: note: in expansion of macro 'ASSERT_ARGS'
 1251 |     ASSERT_ARGS(search_predecessors_not_in)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'mark_loop':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:192:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  192 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mark_loop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1132:5: note: in expansion of macro 'ASSERT_ARGS'
 1132 |     ASSERT_ARGS(mark_loop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:193:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  193 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mark_loop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1132:5: note: in expansion of macro 'ASSERT_ARGS'
 1132 |     ASSERT_ARGS(mark_loop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'e' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:194:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  194 |     , PARROT_ASSERT_ARG(e))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mark_loop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1132:5: note: in expansion of macro 'ASSERT_ARGS'
 1132 |     ASSERT_ARGS(mark_loop)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'find_loops':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:127:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  127 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_loops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1054:5: note: in expansion of macro 'ASSERT_ARGS'
 1054 |     ASSERT_ARGS(find_loops)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:128:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  128 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_loops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1054:5: note: in expansion of macro 'ASSERT_ARGS'
 1054 |     ASSERT_ARGS(find_loops)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'clear_basic_blocks':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/cfg.h:114:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  114 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_clear_basic_blocks'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1306:5: note: in expansion of macro 'ASSERT_ARGS'
 1306 |     ASSERT_ARGS(clear_basic_blocks)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'init_basic_blocks':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:185:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  185 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_basic_blocks'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1280:5: note: in expansion of macro 'ASSERT_ARGS'
 1280 |     ASSERT_ARGS(init_basic_blocks)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:186:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  186 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_basic_blocks'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1280:5: note: in expansion of macro 'ASSERT_ARGS'
 1280 |     ASSERT_ARGS(init_basic_blocks)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'make_basic_block':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:188:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  188 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_make_basic_block'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1342:5: note: in expansion of macro 'ASSERT_ARGS'
 1342 |     ASSERT_ARGS(make_basic_block)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:189:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  189 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_make_basic_block'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1342:5: note: in expansion of macro 'ASSERT_ARGS'
 1342 |     ASSERT_ARGS(make_basic_block)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.c:190:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  190 |     , PARROT_ASSERT_ARG(ins))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_make_basic_block'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:1342:5: note: in expansion of macro 'ASSERT_ARGS'
 1342 |     ASSERT_ARGS(make_basic_block)
      |     ^~~~~~~~~~~
compilers/imcc/cfg.c: In function 'find_basic_blocks':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:124:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  124 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_basic_blocks'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:263:5: note: in expansion of macro 'ASSERT_ARGS'
  263 |     ASSERT_ARGS(find_basic_blocks)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/cfg.h:125:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  125 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_basic_blocks'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/cfg.c:263:5: note: in expansion of macro 'ASSERT_ARGS'
  263 |     ASSERT_ARGS(find_basic_blocks)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Icompilers/imcc/. -Isrc -o compilers/imcc/reg_alloc.o -c compilers/imcc/reg_alloc.c
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/reg_alloc.c:33:
compilers/imcc/reg_alloc.c: In function 'reg_sort_f':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'a' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:145:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |        PARROT_ASSERT_ARG(a) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_reg_sort_f'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:403:5: note: in expansion of macro 'ASSERT_ARGS'
  403 |     ASSERT_ARGS(reg_sort_f)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'b' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:146:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  146 |     , PARROT_ASSERT_ARG(b))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_reg_sort_f'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:403:5: note: in expansion of macro 'ASSERT_ARGS'
  403 |     ASSERT_ARGS(reg_sort_f)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'free_reglist':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/imc.h:166:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  166 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_free_reglist'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:251:5: note: in expansion of macro 'ASSERT_ARGS'
  251 |     ASSERT_ARGS(free_reglist)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'make_stat':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/reg_alloc.c:140:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  140 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_make_stat'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:274:5: note: in expansion of macro 'ASSERT_ARGS'
  274 |     ASSERT_ARGS(make_stat)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'imc_stat_init':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/reg_alloc.c:138:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  138 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imc_stat_init'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:328:5: note: in expansion of macro 'ASSERT_ARGS'
  328 |     ASSERT_ARGS(imc_stat_init)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'print_stat':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:142:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  142 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_print_stat'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:354:5: note: in expansion of macro 'ASSERT_ARGS'
  354 |     ASSERT_ARGS(print_stat)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:143:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  143 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_print_stat'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:354:5: note: in expansion of macro 'ASSERT_ARGS'
  354 |     ASSERT_ARGS(print_stat)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'sort_reglist':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/reg_alloc.c:148:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  148 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_sort_reglist'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:432:5: note: in expansion of macro 'ASSERT_ARGS'
  432 |     ASSERT_ARGS(sort_reglist)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'compute_one_du_chain':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:132:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  132 |        PARROT_ASSERT_ARG(r) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_compute_one_du_chain'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:558:5: note: in expansion of macro 'ASSERT_ARGS'
  558 |     ASSERT_ARGS(compute_one_du_chain)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:133:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  133 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_compute_one_du_chain'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:558:5: note: in expansion of macro 'ASSERT_ARGS'
  558 |     ASSERT_ARGS(compute_one_du_chain)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'compute_du_chain':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/reg_alloc.c:130:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  130 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_compute_du_chain'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:519:5: note: in expansion of macro 'ASSERT_ARGS'
  519 |     ASSERT_ARGS(compute_du_chain)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'build_reglist':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:127:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  127 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_reglist'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:458:5: note: in expansion of macro 'ASSERT_ARGS'
  458 |     ASSERT_ARGS(build_reglist)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:128:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  128 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_reglist'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:458:5: note: in expansion of macro 'ASSERT_ARGS'
  458 |     ASSERT_ARGS(build_reglist)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'first_avail':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:135:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  135 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_first_avail'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:608:5: note: in expansion of macro 'ASSERT_ARGS'
  608 |     ASSERT_ARGS(first_avail)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:136:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  136 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_first_avail'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:608:5: note: in expansion of macro 'ASSERT_ARGS'
  608 |     ASSERT_ARGS(first_avail)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'allocate_uniq':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:124:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  124 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_allocate_uniq'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:653:5: note: in expansion of macro 'ASSERT_ARGS'
  653 |     ASSERT_ARGS(allocate_uniq)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:125:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  125 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_allocate_uniq'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:653:5: note: in expansion of macro 'ASSERT_ARGS'
  653 |     ASSERT_ARGS(allocate_uniq)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'vanilla_reg_alloc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:150:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  150 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_vanilla_reg_alloc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:722:5: note: in expansion of macro 'ASSERT_ARGS'
  722 |     ASSERT_ARGS(vanilla_reg_alloc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:151:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  151 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_vanilla_reg_alloc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:722:5: note: in expansion of macro 'ASSERT_ARGS'
  722 |     ASSERT_ARGS(vanilla_reg_alloc)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'allocate_lexicals':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:121:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  121 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_allocate_lexicals'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:779:5: note: in expansion of macro 'ASSERT_ARGS'
  779 |     ASSERT_ARGS(allocate_lexicals)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/reg_alloc.c:122:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  122 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_allocate_lexicals'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:779:5: note: in expansion of macro 'ASSERT_ARGS'
  779 |     ASSERT_ARGS(allocate_lexicals)
      |     ^~~~~~~~~~~
compilers/imcc/reg_alloc.c: In function 'imc_reg_alloc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/imc.h:168:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  168 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imc_reg_alloc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/reg_alloc.c:169:5: note: in expansion of macro 'ASSERT_ARGS'
  169 |     ASSERT_ARGS(imc_reg_alloc)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Icompilers/imcc/. -Isrc -o compilers/imcc/sets.o -c compilers/imcc/sets.c
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/sets.c:23:
compilers/imcc/sets.c: In function 'set_make':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/sets.h:113:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  113 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_make'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:47:5: note: in expansion of macro 'ASSERT_ARGS'
   47 |     ASSERT_ARGS(set_make)
      |     ^~~~~~~~~~~
compilers/imcc/sets.c: In function 'set_make_full':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/sets.h:115:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  115 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_make_full'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:72:5: note: in expansion of macro 'ASSERT_ARGS'
   72 |     ASSERT_ARGS(set_make_full)
      |     ^~~~~~~~~~~
compilers/imcc/sets.c: In function 'set_free':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/sets.h:104:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_free'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:96:5: note: in expansion of macro 'ASSERT_ARGS'
   96 |     ASSERT_ARGS(set_free)
      |     ^~~~~~~~~~~
compilers/imcc/sets.c: In function 'set_clear':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/sets.h:92:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   92 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_clear'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:117:5: note: in expansion of macro 'ASSERT_ARGS'
  117 |     ASSERT_ARGS(set_clear)
      |     ^~~~~~~~~~~
compilers/imcc/sets.c: In function 'set_copy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/sets.h:96:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   96 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_copy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:137:5: note: in expansion of macro 'ASSERT_ARGS'
  137 |     ASSERT_ARGS(set_copy)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/sets.h:97:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   97 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_copy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:137:5: note: in expansion of macro 'ASSERT_ARGS'
  137 |     ASSERT_ARGS(set_copy)
      |     ^~~~~~~~~~~
compilers/imcc/sets.c: In function 'set_equal':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's1' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/sets.h:99:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   99 |        PARROT_ASSERT_ARG(s1) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_equal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:160:5: note: in expansion of macro 'ASSERT_ARGS'
  160 |     ASSERT_ARGS(set_equal)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's2' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/sets.h:100:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  100 |     , PARROT_ASSERT_ARG(s2))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_equal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:160:5: note: in expansion of macro 'ASSERT_ARGS'
  160 |     ASSERT_ARGS(set_equal)
      |     ^~~~~~~~~~~
compilers/imcc/sets.c: In function 'set_add':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/sets.h:90:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   90 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_add'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:195:5: note: in expansion of macro 'ASSERT_ARGS'
  195 |     ASSERT_ARGS(set_add)
      |     ^~~~~~~~~~~
compilers/imcc/sets.c: In function 'set_contains':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/sets.h:94:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   94 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_contains'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:263:5: note: in expansion of macro 'ASSERT_ARGS'
  263 |     ASSERT_ARGS(set_contains)
      |     ^~~~~~~~~~~
compilers/imcc/sets.c: In function 'set_first_zero':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/sets.h:102:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  102 |        PARROT_ASSERT_ARG(s))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_first_zero'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:224:5: note: in expansion of macro 'ASSERT_ARGS'
  224 |     ASSERT_ARGS(set_first_zero)
      |     ^~~~~~~~~~~
compilers/imcc/sets.c: In function 'set_union':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/sets.h:117:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  117 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_union'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:293:5: note: in expansion of macro 'ASSERT_ARGS'
  293 |     ASSERT_ARGS(set_union)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's1' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/sets.h:118:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  118 |     , PARROT_ASSERT_ARG(s1) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_union'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:293:5: note: in expansion of macro 'ASSERT_ARGS'
  293 |     ASSERT_ARGS(set_union)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's2' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/sets.h:119:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |     , PARROT_ASSERT_ARG(s2))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_union'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:293:5: note: in expansion of macro 'ASSERT_ARGS'
  293 |     ASSERT_ARGS(set_union)
      |     ^~~~~~~~~~~
compilers/imcc/sets.c: In function 'set_intersec':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/sets.h:106:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_intersec'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:324:5: note: in expansion of macro 'ASSERT_ARGS'
  324 |     ASSERT_ARGS(set_intersec)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's1' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/sets.h:107:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |     , PARROT_ASSERT_ARG(s1) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_intersec'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:324:5: note: in expansion of macro 'ASSERT_ARGS'
  324 |     ASSERT_ARGS(set_intersec)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's2' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/sets.h:108:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  108 |     , PARROT_ASSERT_ARG(s2))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_intersec'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:324:5: note: in expansion of macro 'ASSERT_ARGS'
  324 |     ASSERT_ARGS(set_intersec)
      |     ^~~~~~~~~~~
compilers/imcc/sets.c: In function 'set_intersec_inplace':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's1' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/sets.h:110:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  110 |        PARROT_ASSERT_ARG(s1) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_intersec_inplace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:352:5: note: in expansion of macro 'ASSERT_ARGS'
  352 |     ASSERT_ARGS(set_intersec_inplace)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's2' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/sets.h:111:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  111 |     , PARROT_ASSERT_ARG(s2))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_set_intersec_inplace'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/sets.c:352:5: note: in expansion of macro 'ASSERT_ARGS'
  352 |     ASSERT_ARGS(set_intersec_inplace)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Icompilers/imcc/. -Isrc -o compilers/imcc/debug.o -c compilers/imcc/debug.c
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/debug.c:25:
compilers/imcc/debug.c: In function 'IMCC_get_err_location':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/debug.c:38:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   38 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_get_err_location'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:125:5: note: in expansion of macro 'ASSERT_ARGS'
  125 |     ASSERT_ARGS(IMCC_get_err_location)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'IMCC_fatal':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:138:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  138 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_fatal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:60:5: note: in expansion of macro 'ASSERT_ARGS'
   60 |     ASSERT_ARGS(IMCC_fatal)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'fmt' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:139:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  139 |     , PARROT_ASSERT_ARG(fmt))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_fatal'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:60:5: note: in expansion of macro 'ASSERT_ARGS'
   60 |     ASSERT_ARGS(IMCC_fatal)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'IMCC_fataly':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:144:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  144 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_fataly'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:94:5: note: in expansion of macro 'ASSERT_ARGS'
   94 |     ASSERT_ARGS(IMCC_fataly)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'fmt' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:145:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  145 |     , PARROT_ASSERT_ARG(fmt))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_fataly'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:94:5: note: in expansion of macro 'ASSERT_ARGS'
   94 |     ASSERT_ARGS(IMCC_fataly)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'IMCC_fatal_standalone':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:141:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  141 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_fatal_standalone'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:165:5: note: in expansion of macro 'ASSERT_ARGS'
  165 |     ASSERT_ARGS(IMCC_fatal_standalone)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'fmt' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:142:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  142 |     , PARROT_ASSERT_ARG(fmt))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_fatal_standalone'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:165:5: note: in expansion of macro 'ASSERT_ARGS'
  165 |     ASSERT_ARGS(IMCC_fatal_standalone)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'IMCC_warning':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:150:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  150 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_warning'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:189:5: note: in expansion of macro 'ASSERT_ARGS'
  189 |     ASSERT_ARGS(IMCC_warning)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'fmt' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:151:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  151 |     , PARROT_ASSERT_ARG(fmt))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_warning'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:189:5: note: in expansion of macro 'ASSERT_ARGS'
  189 |     ASSERT_ARGS(IMCC_warning)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'IMCC_info':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:147:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  147 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:212:5: note: in expansion of macro 'ASSERT_ARGS'
  212 |     ASSERT_ARGS(IMCC_info)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'fmt' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:148:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  148 |     , PARROT_ASSERT_ARG(fmt))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_info'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:212:5: note: in expansion of macro 'ASSERT_ARGS'
  212 |     ASSERT_ARGS(IMCC_info)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'IMCC_debug':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:132:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  132 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_debug'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:236:5: note: in expansion of macro 'ASSERT_ARGS'
  236 |     ASSERT_ARGS(IMCC_debug)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'fmt' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:133:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  133 |     , PARROT_ASSERT_ARG(fmt))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_debug'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:236:5: note: in expansion of macro 'ASSERT_ARGS'
  236 |     ASSERT_ARGS(IMCC_debug)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'IMCC_debug_ins':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:135:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  135 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_debug_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:260:5: note: in expansion of macro 'ASSERT_ARGS'
  260 |     ASSERT_ARGS(IMCC_debug_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:136:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  136 |     , PARROT_ASSERT_ARG(ins))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_debug_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:260:5: note: in expansion of macro 'ASSERT_ARGS'
  260 |     ASSERT_ARGS(IMCC_debug_ins)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'dump_instructions':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:123:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  123 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dump_instructions'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:283:5: note: in expansion of macro 'ASSERT_ARGS'
  283 |     ASSERT_ARGS(dump_instructions)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/debug.h:124:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  124 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dump_instructions'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:283:5: note: in expansion of macro 'ASSERT_ARGS'
  283 |     ASSERT_ARGS(dump_instructions)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'dump_cfg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/debug.h:117:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  117 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dump_cfg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:330:5: note: in expansion of macro 'ASSERT_ARGS'
  330 |     ASSERT_ARGS(dump_cfg)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'dump_loops':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/debug.h:128:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  128 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dump_loops'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:370:5: note: in expansion of macro 'ASSERT_ARGS'
  370 |     ASSERT_ARGS(dump_loops)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'dump_labels':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/debug.h:126:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  126 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dump_labels'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:417:5: note: in expansion of macro 'ASSERT_ARGS'
  417 |     ASSERT_ARGS(dump_labels)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'dump_symreg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/debug.h:130:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  130 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dump_symreg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:451:5: note: in expansion of macro 'ASSERT_ARGS'
  451 |     ASSERT_ARGS(dump_symreg)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'dump_dominators':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/debug.h:121:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  121 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dump_dominators'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:497:5: note: in expansion of macro 'ASSERT_ARGS'
  497 |     ASSERT_ARGS(dump_dominators)
      |     ^~~~~~~~~~~
compilers/imcc/debug.c: In function 'dump_dominance_frontiers':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/debug.h:119:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |        PARROT_ASSERT_ARG(unit))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dump_dominance_frontiers'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/debug.c:531:5: note: in expansion of macro 'ASSERT_ARGS'
  531 |     ASSERT_ARGS(dump_dominance_frontiers)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  \
  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden \
  -Icompilers/imcc/. -o compilers/imcc/optimizer.o -c compilers/imcc/optimizer.c
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/optimizer.c:72:
compilers/imcc/optimizer.c: In function 'get_neg_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'op' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:78:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   78 |        PARROT_ASSERT_ARG(op) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_neg_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:316:5: note: in expansion of macro 'ASSERT_ARGS'
  316 |     ASSERT_ARGS(get_neg_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'n' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:79:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   79 |     , PARROT_ASSERT_ARG(n))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_neg_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:316:5: note: in expansion of macro 'ASSERT_ARGS'
  316 |     ASSERT_ARGS(get_neg_op)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'if_branch':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:200:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  200 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_if_branch'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:362:5: note: in expansion of macro 'ASSERT_ARGS'
  362 |     ASSERT_ARGS(if_branch)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:201:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  201 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_if_branch'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:362:5: note: in expansion of macro 'ASSERT_ARGS'
  362 |     ASSERT_ARGS(if_branch)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'strength_reduce':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:203:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  203 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_strength_reduce'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:427:5: note: in expansion of macro 'ASSERT_ARGS'
  427 |     ASSERT_ARGS(strength_reduce)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:204:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  204 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_strength_reduce'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:427:5: note: in expansion of macro 'ASSERT_ARGS'
  427 |     ASSERT_ARGS(strength_reduce)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'pre_optimize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:95:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   95 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pre_optimize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:227:5: note: in expansion of macro 'ASSERT_ARGS'
  227 |     ASSERT_ARGS(pre_optimize)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:96:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   96 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pre_optimize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:227:5: note: in expansion of macro 'ASSERT_ARGS'
  227 |     ASSERT_ARGS(pre_optimize)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'IMCC_subst_constants_umix':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:87:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   87 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_subst_constants_umix'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:846:5: note: in expansion of macro 'ASSERT_ARGS'
  846 |     ASSERT_ARGS(IMCC_subst_constants_umix)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:88:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   88 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_subst_constants_umix'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:846:5: note: in expansion of macro 'ASSERT_ARGS'
  846 |     ASSERT_ARGS(IMCC_subst_constants_umix)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:89:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   89 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_subst_constants_umix'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:846:5: note: in expansion of macro 'ASSERT_ARGS'
  846 |     ASSERT_ARGS(IMCC_subst_constants_umix)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:90:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   90 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_subst_constants_umix'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:846:5: note: in expansion of macro 'ASSERT_ARGS'
  846 |     ASSERT_ARGS(IMCC_subst_constants_umix)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'eval_ins':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:196:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  196 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_eval_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:889:5: note: in expansion of macro 'ASSERT_ARGS'
  889 |     ASSERT_ARGS(eval_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'op' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:197:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  197 |     , PARROT_ASSERT_ARG(op) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_eval_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:889:5: note: in expansion of macro 'ASSERT_ARGS'
  889 |     ASSERT_ARGS(eval_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:198:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  198 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_eval_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:889:5: note: in expansion of macro 'ASSERT_ARGS'
  889 |     ASSERT_ARGS(eval_ins)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'IMCC_subst_constants':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:81:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   81 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_subst_constants'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:969:5: note: in expansion of macro 'ASSERT_ARGS'
  969 |     ASSERT_ARGS(IMCC_subst_constants)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:82:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   82 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_subst_constants'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:969:5: note: in expansion of macro 'ASSERT_ARGS'
  969 |     ASSERT_ARGS(IMCC_subst_constants)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:83:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   83 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_subst_constants'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:969:5: note: in expansion of macro 'ASSERT_ARGS'
  969 |     ASSERT_ARGS(IMCC_subst_constants)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:84:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |     , PARROT_ASSERT_ARG(r) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_subst_constants'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:969:5: note: in expansion of macro 'ASSERT_ARGS'
  969 |     ASSERT_ARGS(IMCC_subst_constants)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ok' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:85:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   85 |     , PARROT_ASSERT_ARG(ok))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_subst_constants'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:969:5: note: in expansion of macro 'ASSERT_ARGS'
  969 |     ASSERT_ARGS(IMCC_subst_constants)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'constant_propagation':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:190:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  190 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_constant_propagation'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:707:5: note: in expansion of macro 'ASSERT_ARGS'
  707 |     ASSERT_ARGS(constant_propagation)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:191:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  191 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_constant_propagation'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:707:5: note: in expansion of macro 'ASSERT_ARGS'
  707 |     ASSERT_ARGS(constant_propagation)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'branch_branch':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:175:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  175 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_branch_branch'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1172:5: note: in expansion of macro 'ASSERT_ARGS'
 1172 |     ASSERT_ARGS(branch_branch)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:176:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  176 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_branch_branch'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1172:5: note: in expansion of macro 'ASSERT_ARGS'
 1172 |     ASSERT_ARGS(branch_branch)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'branch_reorg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:187:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  187 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_branch_reorg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1235:5: note: in expansion of macro 'ASSERT_ARGS'
 1235 |     ASSERT_ARGS(branch_reorg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:188:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  188 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_branch_reorg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1235:5: note: in expansion of macro 'ASSERT_ARGS'
 1235 |     ASSERT_ARGS(branch_reorg)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'branch_cond_loop_swap':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:181:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  181 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_branch_cond_loop_swap'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1326:5: note: in expansion of macro 'ASSERT_ARGS'
 1326 |     ASSERT_ARGS(branch_cond_loop_swap)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:182:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  182 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_branch_cond_loop_swap'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1326:5: note: in expansion of macro 'ASSERT_ARGS'
 1326 |     ASSERT_ARGS(branch_cond_loop_swap)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'branch' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:183:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  183 |     , PARROT_ASSERT_ARG(branch) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_branch_cond_loop_swap'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1326:5: note: in expansion of macro 'ASSERT_ARGS'
 1326 |     ASSERT_ARGS(branch_cond_loop_swap)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'start' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:184:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  184 |     , PARROT_ASSERT_ARG(start) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_branch_cond_loop_swap'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1326:5: note: in expansion of macro 'ASSERT_ARGS'
 1326 |     ASSERT_ARGS(branch_cond_loop_swap)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'cond' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:185:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  185 |     , PARROT_ASSERT_ARG(cond))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_branch_cond_loop_swap'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1326:5: note: in expansion of macro 'ASSERT_ARGS'
 1326 |     ASSERT_ARGS(branch_cond_loop_swap)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'branch_cond_loop':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:178:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  178 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_branch_cond_loop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1417:5: note: in expansion of macro 'ASSERT_ARGS'
 1417 |     ASSERT_ARGS(branch_cond_loop)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:179:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  179 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_branch_cond_loop'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1417:5: note: in expansion of macro 'ASSERT_ARGS'
 1417 |     ASSERT_ARGS(branch_cond_loop)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'unused_label':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:206:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  206 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unused_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1497:5: note: in expansion of macro 'ASSERT_ARGS'
 1497 |     ASSERT_ARGS(unused_label)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:207:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  207 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unused_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1497:5: note: in expansion of macro 'ASSERT_ARGS'
 1497 |     ASSERT_ARGS(unused_label)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'dead_code_remove':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:193:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  193 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dead_code_remove'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1572:5: note: in expansion of macro 'ASSERT_ARGS'
 1572 |     ASSERT_ARGS(dead_code_remove)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:194:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  194 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_dead_code_remove'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1572:5: note: in expansion of macro 'ASSERT_ARGS'
 1572 |     ASSERT_ARGS(dead_code_remove)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'cfg_optimize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:75:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   75 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_cfg_optimize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:255:5: note: in expansion of macro 'ASSERT_ARGS'
  255 |     ASSERT_ARGS(cfg_optimize)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:76:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   76 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_cfg_optimize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:255:5: note: in expansion of macro 'ASSERT_ARGS'
  255 |     ASSERT_ARGS(cfg_optimize)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'used_once':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:209:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  209 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_used_once'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1658:5: note: in expansion of macro 'ASSERT_ARGS'
 1658 |     ASSERT_ARGS(used_once)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.c:210:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  210 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_used_once'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:1658:5: note: in expansion of macro 'ASSERT_ARGS'
 1658 |     ASSERT_ARGS(used_once)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'optimize':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:92:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   92 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_optimize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:290:5: note: in expansion of macro 'ASSERT_ARGS'
  290 |     ASSERT_ARGS(optimize)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/optimizer.h:93:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   93 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_optimize'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/optimizer.c:290:5: note: in expansion of macro 'ASSERT_ARGS'
  290 |     ASSERT_ARGS(optimize)
      |     ^~~~~~~~~~~
compilers/imcc/optimizer.c: In function 'IMCC_subst_constants':
compilers/imcc/optimizer.c:966:1: warning: stack usage is 816 bytes [-Wstack-usage=]
  966 | IMCC_subst_constants(ARGMOD(imc_info_t *imcc), ARGMOD(IMC_Unit *unit),
      | ^~~~~~~~~~~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Icompilers/imcc/. -Isrc -o compilers/imcc/pbc.o -c compilers/imcc/pbc.c
compilers/imcc/pbc.c: In function 'add_1_const':
compilers/imcc/pbc.c:2135:13: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
 2135 |             for (r = r->nextkey; r; r = r->nextkey)
      |             ^~~
compilers/imcc/pbc.c:2138:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
 2138 |                 build_key(imcc, key, bc);
      |                 ^~~~~~~~~
compilers/imcc/pbc.c: In function 'e_pbc_emit':
compilers/imcc/pbc.c:2510:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2510 |                 if (op_info->labels[i]) {
      |                    ^
compilers/imcc/pbc.c:2520:15: note: here
 2520 |               case PARROT_ARG_I:
      |               ^~~~
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/pbc.c:5:
compilers/imcc/pbc.c: In function 'imcc_globals_destroy':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'param' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/pbc.c:338:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  338 |        PARROT_ASSERT_ARG(param))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imcc_globals_destroy'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:387:5: note: in expansion of macro 'ASSERT_ARGS'
  387 |     ASSERT_ARGS(imcc_globals_destroy)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'add_const_table_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:300:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  300 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_const_table_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:427:5: note: in expansion of macro 'ASSERT_ARGS'
  427 |     ASSERT_ARGS(add_const_table_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:301:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  301 |     , PARROT_ASSERT_ARG(pmc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_const_table_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:427:5: note: in expansion of macro 'ASSERT_ARGS'
  427 |     ASSERT_ARGS(add_const_table_pmc)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'e_pbc_open':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/pbc.h:87:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   87 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_e_pbc_open'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:463:5: note: in expansion of macro 'ASSERT_ARGS'
  463 |     ASSERT_ARGS(e_pbc_open)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'make_new_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:345:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  345 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_make_new_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:511:5: note: in expansion of macro 'ASSERT_ARGS'
  511 |     ASSERT_ARGS(make_new_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:346:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  346 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_make_new_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:511:5: note: in expansion of macro 'ASSERT_ARGS'
  511 |     ASSERT_ARGS(make_new_sub)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'get_old_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:334:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  334 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_old_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:547:5: note: in expansion of macro 'ASSERT_ARGS'
  547 |     ASSERT_ARGS(get_old_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:335:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  335 |     , PARROT_ASSERT_ARG(bc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_old_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:547:5: note: in expansion of macro 'ASSERT_ARGS'
  547 |     ASSERT_ARGS(get_old_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins_line' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:336:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  336 |     , PARROT_ASSERT_ARG(ins_line))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_old_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:547:5: note: in expansion of macro 'ASSERT_ARGS'
  547 |     ASSERT_ARGS(get_old_size)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'store_sub_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/pbc.c:361:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  361 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_sub_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:578:5: note: in expansion of macro 'ASSERT_ARGS'
  578 |     ASSERT_ARGS(store_sub_size)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'store_fixup':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:355:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  355 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_fixup'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:598:5: note: in expansion of macro 'ASSERT_ARGS'
  598 |     ASSERT_ARGS(store_fixup)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:356:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  356 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_fixup'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:598:5: note: in expansion of macro 'ASSERT_ARGS'
  598 |     ASSERT_ARGS(store_fixup)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'store_key_const':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:358:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  358 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_key_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:637:5: note: in expansion of macro 'ASSERT_ARGS'
  637 |     ASSERT_ARGS(store_key_const)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:359:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  359 |     , PARROT_ASSERT_ARG(str))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_key_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:637:5: note: in expansion of macro 'ASSERT_ARGS'
  637 |     ASSERT_ARGS(store_key_const)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'get_code_size':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:330:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  330 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_code_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:659:5: note: in expansion of macro 'ASSERT_ARGS'
  659 |     ASSERT_ARGS(get_code_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:331:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  331 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_code_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:659:5: note: in expansion of macro 'ASSERT_ARGS'
  659 |     ASSERT_ARGS(get_code_size)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'src_lines' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:332:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  332 |     , PARROT_ASSERT_ARG(src_lines))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_code_size'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:659:5: note: in expansion of macro 'ASSERT_ARGS'
  659 |     ASSERT_ARGS(get_code_size)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'imcc_pbc_add_libdep':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:92:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   92 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imcc_pbc_add_libdep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:734:5: note: in expansion of macro 'ASSERT_ARGS'
  734 |     ASSERT_ARGS(imcc_pbc_add_libdep)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'libname' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:93:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   93 |     , PARROT_ASSERT_ARG(libname))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imcc_pbc_add_libdep'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:734:5: note: in expansion of macro 'ASSERT_ARGS'
  734 |     ASSERT_ARGS(imcc_pbc_add_libdep)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'find_global_label':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:316:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  316 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_global_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:851:5: note: in expansion of macro 'ASSERT_ARGS'
  851 |     ASSERT_ARGS(find_global_label)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:317:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  317 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_global_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:851:5: note: in expansion of macro 'ASSERT_ARGS'
  851 |     ASSERT_ARGS(find_global_label)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sym' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:318:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  318 |     , PARROT_ASSERT_ARG(sym) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_global_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:851:5: note: in expansion of macro 'ASSERT_ARGS'
  851 |     ASSERT_ARGS(find_global_label)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:319:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  319 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_global_label'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:851:5: note: in expansion of macro 'ASSERT_ARGS'
  851 |     ASSERT_ARGS(find_global_label)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'find_sub_by_subid':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:324:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  324 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_sub_by_subid'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:888:5: note: in expansion of macro 'ASSERT_ARGS'
  888 |     ASSERT_ARGS(find_sub_by_subid)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'lookup' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:325:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  325 |     , PARROT_ASSERT_ARG(lookup) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_sub_by_subid'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:888:5: note: in expansion of macro 'ASSERT_ARGS'
  888 |     ASSERT_ARGS(find_sub_by_subid)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:326:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  326 |     , PARROT_ASSERT_ARG(pc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_sub_by_subid'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:888:5: note: in expansion of macro 'ASSERT_ARGS'
  888 |     ASSERT_ARGS(find_sub_by_subid)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'IMCC_string_from_reg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:98:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   98 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_string_from_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1055:5: note: in expansion of macro 'ASSERT_ARGS'
 1055 |     ASSERT_ARGS(IMCC_string_from_reg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:99:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   99 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_string_from_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1055:5: note: in expansion of macro 'ASSERT_ARGS'
 1055 |     ASSERT_ARGS(IMCC_string_from_reg)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'IMCC_string_from__STRINGC':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:95:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   95 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_string_from__STRINGC'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1125:5: note: in expansion of macro 'ASSERT_ARGS'
 1125 |     ASSERT_ARGS(IMCC_string_from__STRINGC)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'buf' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:96:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   96 |     , PARROT_ASSERT_ARG(buf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_string_from__STRINGC'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1125:5: note: in expansion of macro 'ASSERT_ARGS'
 1125 |     ASSERT_ARGS(IMCC_string_from__STRINGC)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'add_const_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:296:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  296 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_const_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1180:5: note: in expansion of macro 'ASSERT_ARGS'
 1180 |     ASSERT_ARGS(add_const_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:297:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  297 |     , PARROT_ASSERT_ARG(s) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_const_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1180:5: note: in expansion of macro 'ASSERT_ARGS'
 1180 |     ASSERT_ARGS(add_const_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:298:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  298 |     , PARROT_ASSERT_ARG(bc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_const_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1180:5: note: in expansion of macro 'ASSERT_ARGS'
 1180 |     ASSERT_ARGS(add_const_str)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'fixup_globals':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/pbc.c:328:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  328 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_fixup_globals'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:918:5: note: in expansion of macro 'ASSERT_ARGS'
  918 |     ASSERT_ARGS(fixup_globals)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'add_const_num':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:290:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  290 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_const_num'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1225:5: note: in expansion of macro 'ASSERT_ARGS'
 1225 |     ASSERT_ARGS(add_const_num)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:291:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  291 |     , PARROT_ASSERT_ARG(bc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_const_num'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1225:5: note: in expansion of macro 'ASSERT_ARGS'
 1225 |     ASSERT_ARGS(add_const_num)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'mk_multi_sig':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:351:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  351 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_multi_sig'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1258:5: note: in expansion of macro 'ASSERT_ARGS'
 1258 |     ASSERT_ARGS(mk_multi_sig)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:352:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  352 |     , PARROT_ASSERT_ARG(r) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_multi_sig'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1258:5: note: in expansion of macro 'ASSERT_ARGS'
 1258 |     ASSERT_ARGS(mk_multi_sig)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:353:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  353 |     , PARROT_ASSERT_ARG(bc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_mk_multi_sig'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1258:5: note: in expansion of macro 'ASSERT_ARGS'
 1258 |     ASSERT_ARGS(mk_multi_sig)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'create_lexinfo':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:311:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  311 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_create_lexinfo'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1322:5: note: in expansion of macro 'ASSERT_ARGS'
 1322 |     ASSERT_ARGS(create_lexinfo)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:312:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  312 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_create_lexinfo'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1322:5: note: in expansion of macro 'ASSERT_ARGS'
 1322 |     ASSERT_ARGS(create_lexinfo)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub_pmc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:313:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  313 |     , PARROT_ASSERT_ARG(sub_pmc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_create_lexinfo'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1322:5: note: in expansion of macro 'ASSERT_ARGS'
 1322 |     ASSERT_ARGS(create_lexinfo)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:314:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  314 |     , PARROT_ASSERT_ARG(bc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_create_lexinfo'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1322:5: note: in expansion of macro 'ASSERT_ARGS'
 1322 |     ASSERT_ARGS(create_lexinfo)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'find_outer':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:321:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  321 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_outer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1402:5: note: in expansion of macro 'ASSERT_ARGS'
 1402 |     ASSERT_ARGS(find_outer)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:322:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  322 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_find_outer'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1402:5: note: in expansion of macro 'ASSERT_ARGS'
 1402 |     ASSERT_ARGS(find_outer)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'store_sub_tags':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:363:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  363 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_sub_tags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1733:5: note: in expansion of macro 'ASSERT_ARGS'
 1733 |     ASSERT_ARGS(store_sub_tags)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:364:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  364 |     , PARROT_ASSERT_ARG(sub) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_sub_tags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1733:5: note: in expansion of macro 'ASSERT_ARGS'
 1733 |     ASSERT_ARGS(store_sub_tags)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:365:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  365 |     , PARROT_ASSERT_ARG(ct))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_store_sub_tags'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1733:5: note: in expansion of macro 'ASSERT_ARGS'
 1733 |     ASSERT_ARGS(store_sub_tags)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'add_const_pmc_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:293:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  293 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_const_pmc_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1484:5: note: in expansion of macro 'ASSERT_ARGS'
 1484 |     ASSERT_ARGS(add_const_pmc_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:294:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  294 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_const_pmc_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1484:5: note: in expansion of macro 'ASSERT_ARGS'
 1484 |     ASSERT_ARGS(add_const_pmc_sub)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'build_key':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:303:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  303 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_key'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1764:5: note: in expansion of macro 'ASSERT_ARGS'
 1764 |     ASSERT_ARGS(build_key)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'key_reg' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:304:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  304 |     , PARROT_ASSERT_ARG(key_reg) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_key'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1764:5: note: in expansion of macro 'ASSERT_ARGS'
 1764 |     ASSERT_ARGS(build_key)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:305:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  305 |     , PARROT_ASSERT_ARG(bc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_build_key'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1764:5: note: in expansion of macro 'ASSERT_ARGS'
 1764 |     ASSERT_ARGS(build_key)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'IMCC_int_from_reg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:89:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   89 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_int_from_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1879:5: note: in expansion of macro 'ASSERT_ARGS'
 1879 |     ASSERT_ARGS(IMCC_int_from_reg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:90:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   90 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_IMCC_int_from_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1879:5: note: in expansion of macro 'ASSERT_ARGS'
 1879 |     ASSERT_ARGS(IMCC_int_from_reg)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'init_fixedintegerarray_from_string':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:341:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  341 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_fixedintegerarray_from_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1933:5: note: in expansion of macro 'ASSERT_ARGS'
 1933 |     ASSERT_ARGS(init_fixedintegerarray_from_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'p' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:342:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  342 |     , PARROT_ASSERT_ARG(p) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_fixedintegerarray_from_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1933:5: note: in expansion of macro 'ASSERT_ARGS'
 1933 |     ASSERT_ARGS(init_fixedintegerarray_from_string)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 's' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:343:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  343 |     , PARROT_ASSERT_ARG(s))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_init_fixedintegerarray_from_string'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:1933:5: note: in expansion of macro 'ASSERT_ARGS'
 1933 |     ASSERT_ARGS(init_fixedintegerarray_from_string)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'make_pmc_const':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:348:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  348 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_make_pmc_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2053:5: note: in expansion of macro 'ASSERT_ARGS'
 2053 |     ASSERT_ARGS(make_pmc_const)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:349:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  349 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_make_pmc_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2053:5: note: in expansion of macro 'ASSERT_ARGS'
 2053 |     ASSERT_ARGS(make_pmc_const)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'add_1_const':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:286:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  286 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_1_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2112:5: note: in expansion of macro 'ASSERT_ARGS'
 2112 |     ASSERT_ARGS(add_1_const)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:287:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  287 |     , PARROT_ASSERT_ARG(r) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_1_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2112:5: note: in expansion of macro 'ASSERT_ARGS'
 2112 |     ASSERT_ARGS(add_1_const)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:288:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  288 |     , PARROT_ASSERT_ARG(bc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_add_1_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2112:5: note: in expansion of macro 'ASSERT_ARGS'
 2112 |     ASSERT_ARGS(add_1_const)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'constant_folding':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:307:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  307 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_constant_folding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2173:5: note: in expansion of macro 'ASSERT_ARGS'
 2173 |     ASSERT_ARGS(constant_folding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:308:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  308 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_constant_folding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2173:5: note: in expansion of macro 'ASSERT_ARGS'
 2173 |     ASSERT_ARGS(constant_folding)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:309:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  309 |     , PARROT_ASSERT_ARG(bc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_constant_folding'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2173:5: note: in expansion of macro 'ASSERT_ARGS'
 2173 |     ASSERT_ARGS(constant_folding)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'e_pbc_new_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:84:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_e_pbc_new_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2232:5: note: in expansion of macro 'ASSERT_ARGS'
 2232 |     ASSERT_ARGS(e_pbc_new_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:85:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   85 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_e_pbc_new_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2232:5: note: in expansion of macro 'ASSERT_ARGS'
 2232 |     ASSERT_ARGS(e_pbc_new_sub)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'e_pbc_end_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:81:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   81 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_e_pbc_end_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2253:5: note: in expansion of macro 'ASSERT_ARGS'
 2253 |     ASSERT_ARGS(e_pbc_end_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:82:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   82 |     , PARROT_ASSERT_ARG(unit))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_e_pbc_end_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2253:5: note: in expansion of macro 'ASSERT_ARGS'
 2253 |     ASSERT_ARGS(e_pbc_end_sub)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'verify_signature':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:367:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  367 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_verify_signature'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2310:5: note: in expansion of macro 'ASSERT_ARGS'
 2310 |     ASSERT_ARGS(verify_signature)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:368:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  368 |     , PARROT_ASSERT_ARG(ins) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_verify_signature'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2310:5: note: in expansion of macro 'ASSERT_ARGS'
 2310 |     ASSERT_ARGS(verify_signature)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'pc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:369:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  369 |     , PARROT_ASSERT_ARG(pc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_verify_signature'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2310:5: note: in expansion of macro 'ASSERT_ARGS'
 2310 |     ASSERT_ARGS(verify_signature)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.c:370:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  370 |     , PARROT_ASSERT_ARG(bc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_verify_signature'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2310:5: note: in expansion of macro 'ASSERT_ARGS'
 2310 |     ASSERT_ARGS(verify_signature)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'e_pbc_emit':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:77:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   77 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_e_pbc_emit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2388:5: note: in expansion of macro 'ASSERT_ARGS'
 2388 |     ASSERT_ARGS(e_pbc_emit)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:78:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   78 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_e_pbc_emit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2388:5: note: in expansion of macro 'ASSERT_ARGS'
 2388 |     ASSERT_ARGS(e_pbc_emit)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pbc.h:79:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   79 |     , PARROT_ASSERT_ARG(ins))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_e_pbc_emit'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2388:5: note: in expansion of macro 'ASSERT_ARGS'
 2388 |     ASSERT_ARGS(e_pbc_emit)
      |     ^~~~~~~~~~~
compilers/imcc/pbc.c: In function 'e_pbc_close':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/pbc.h:75:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   75 |        PARROT_ASSERT_ARG(imcc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_e_pbc_close'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pbc.c:2594:5: note: in expansion of macro 'ASSERT_ARGS'
 2594 |     ASSERT_ARGS(e_pbc_close)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Icompilers/imcc/. -Isrc -o compilers/imcc/parser_util.o -c compilers/imcc/parser_util.c
compilers/imcc/parser_util.c: In function 'INS':
compilers/imcc/parser_util.c:403:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
  403 |                 dirs |= 1 << (16 + i);
      |                 ~~~~~^~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:405:15: note: here
  405 |               case PARROT_ARGDIR_IN:
      |               ^~~~
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/parser_util.c:20:
compilers/imcc/parser_util.c: In function 'op_fullname':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'dest' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:278:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  278 |        PARROT_ASSERT_ARG(dest) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_op_fullname'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:155:5: note: in expansion of macro 'ASSERT_ARGS'
  155 |     ASSERT_ARGS(op_fullname)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:279:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  279 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_op_fullname'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:155:5: note: in expansion of macro 'ASSERT_ARGS'
  155 |     ASSERT_ARGS(op_fullname)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'args' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:280:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  280 |     , PARROT_ASSERT_ARG(args))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_op_fullname'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:155:5: note: in expansion of macro 'ASSERT_ARGS'
  155 |     ASSERT_ARGS(op_fullname)
      |     ^~~~~~~~~~~
compilers/imcc/parser_util.c: In function 'check_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:256:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  256 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:207:5: note: in expansion of macro 'ASSERT_ARGS'
  207 |     ASSERT_ARGS(check_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'op_info' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:257:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  257 |     , PARROT_ASSERT_ARG(op_info) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:207:5: note: in expansion of macro 'ASSERT_ARGS'
  207 |     ASSERT_ARGS(check_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'fullname' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:258:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  258 |     , PARROT_ASSERT_ARG(fullname) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:207:5: note: in expansion of macro 'ASSERT_ARGS'
  207 |     ASSERT_ARGS(check_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:259:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  259 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:207:5: note: in expansion of macro 'ASSERT_ARGS'
  207 |     ASSERT_ARGS(check_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:260:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  260 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_check_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:207:5: note: in expansion of macro 'ASSERT_ARGS'
  207 |     ASSERT_ARGS(check_op)
      |     ^~~~~~~~~~~
compilers/imcc/parser_util.c: In function 'is_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:275:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  275 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_is_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:228:5: note: in expansion of macro 'ASSERT_ARGS'
  228 |     ASSERT_ARGS(is_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:276:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  276 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_is_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:228:5: note: in expansion of macro 'ASSERT_ARGS'
  228 |     ASSERT_ARGS(is_op)
      |     ^~~~~~~~~~~
compilers/imcc/parser_util.c: In function 'var_arg_ins':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:117:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  117 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_var_arg_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:251:5: note: in expansion of macro 'ASSERT_ARGS'
  251 |     ASSERT_ARGS(var_arg_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:118:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  118 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_var_arg_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:251:5: note: in expansion of macro 'ASSERT_ARGS'
  251 |     ASSERT_ARGS(var_arg_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:119:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  119 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_var_arg_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:251:5: note: in expansion of macro 'ASSERT_ARGS'
  251 |     ASSERT_ARGS(var_arg_ins)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:120:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  120 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_var_arg_ins'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:251:5: note: in expansion of macro 'ASSERT_ARGS'
  251 |     ASSERT_ARGS(var_arg_ins)
      |     ^~~~~~~~~~~
compilers/imcc/parser_util.c: In function 'try_rev_cmp':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:114:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  114 |        PARROT_ASSERT_ARG(name) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_try_rev_cmp'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:631:5: note: in expansion of macro 'ASSERT_ARGS'
  631 |     ASSERT_ARGS(try_rev_cmp)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:115:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  115 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_try_rev_cmp'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:631:5: note: in expansion of macro 'ASSERT_ARGS'
  631 |     ASSERT_ARGS(try_rev_cmp)
      |     ^~~~~~~~~~~
compilers/imcc/parser_util.c: In function 'INS':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:270:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  270 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_INS'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:312:5: note: in expansion of macro 'ASSERT_ARGS'
  312 |     ASSERT_ARGS(INS)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:271:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  271 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_INS'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:312:5: note: in expansion of macro 'ASSERT_ARGS'
  312 |     ASSERT_ARGS(INS)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:272:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  272 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_INS'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:312:5: note: in expansion of macro 'ASSERT_ARGS'
  312 |     ASSERT_ARGS(INS)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:273:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  273 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_INS'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:312:5: note: in expansion of macro 'ASSERT_ARGS'
  312 |     ASSERT_ARGS(INS)
      |     ^~~~~~~~~~~
compilers/imcc/parser_util.c: In function 'change_op_arg_to_num':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:105:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  105 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_change_op_arg_to_num'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:513:5: note: in expansion of macro 'ASSERT_ARGS'
  513 |     ASSERT_ARGS(change_op_arg_to_num)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:106:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_change_op_arg_to_num'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:513:5: note: in expansion of macro 'ASSERT_ARGS'
  513 |     ASSERT_ARGS(change_op_arg_to_num)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:107:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_change_op_arg_to_num'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:513:5: note: in expansion of macro 'ASSERT_ARGS'
  513 |     ASSERT_ARGS(change_op_arg_to_num)
      |     ^~~~~~~~~~~
compilers/imcc/parser_util.c: In function 'try_find_op':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:109:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  109 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_try_find_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:573:5: note: in expansion of macro 'ASSERT_ARGS'
  573 |     ASSERT_ARGS(try_find_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:110:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  110 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_try_find_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:573:5: note: in expansion of macro 'ASSERT_ARGS'
  573 |     ASSERT_ARGS(try_find_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:111:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  111 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_try_find_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:573:5: note: in expansion of macro 'ASSERT_ARGS'
  573 |     ASSERT_ARGS(try_find_op)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'r' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/parser_util.c:112:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  112 |     , PARROT_ASSERT_ARG(r))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_try_find_op'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:573:5: note: in expansion of macro 'ASSERT_ARGS'
  573 |     ASSERT_ARGS(try_find_op)
      |     ^~~~~~~~~~~
compilers/imcc/parser_util.c: In function 'imcc_vfprintf':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:266:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  266 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imcc_vfprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:682:5: note: in expansion of macro 'ASSERT_ARGS'
  682 |     ASSERT_ARGS(imcc_vfprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'io' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:267:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  267 |     , PARROT_ASSERT_ARG(io) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imcc_vfprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:682:5: note: in expansion of macro 'ASSERT_ARGS'
  682 |     ASSERT_ARGS(imcc_vfprintf)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'format' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:268:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  268 |     , PARROT_ASSERT_ARG(format))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imcc_vfprintf'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:682:5: note: in expansion of macro 'ASSERT_ARGS'
  682 |     ASSERT_ARGS(imcc_vfprintf)
      |     ^~~~~~~~~~~
compilers/imcc/parser_util.c: In function 'imcc_string_ends_with':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:262:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  262 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imcc_string_ends_with'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:701:5: note: in expansion of macro 'ASSERT_ARGS'
  701 |     ASSERT_ARGS(imcc_string_ends_with)
      |     ^~~~~~~~~~~
In file included from ./include/parrot/context.h:10,
                 from ./include/parrot/interpreter.h:160,
                 from ./include/parrot/platform_interface.h:11,
                 from ./include/parrot/parrot.h:250,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/parser_util.c:20:
./include/parrot/string.h:26:51: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
   26 | #define STRING_length(src) ((src) ? (src)->strlen : 0U)
      |                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
compilers/imcc/parser_util.c:705:23: note: in expansion of macro 'STRING_length'
  705 |     INTVAL  len     = STRING_length(str);
      |                       ^~~~~~~~~~~~~
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/parser_util.c:20:
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'str' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:263:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  263 |     , PARROT_ASSERT_ARG(str) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imcc_string_ends_with'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:701:5: note: in expansion of macro 'ASSERT_ARGS'
  701 |     ASSERT_ARGS(imcc_string_ends_with)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ext' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:264:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  264 |     , PARROT_ASSERT_ARG(ext))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_imcc_string_ends_with'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/parser_util.c:701:5: note: in expansion of macro 'ASSERT_ARGS'
  701 |     ASSERT_ARGS(imcc_string_ends_with)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Icompilers/imcc/. -Isrc -o compilers/imcc/pcc.o -c compilers/imcc/pcc.c
In file included from ./include/parrot/parrot.h:261,
                 from compilers/imcc/imc.h:22,
                 from compilers/imcc/pcc.c:29:
compilers/imcc/pcc.c: In function 'insINS':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:100:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  100 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_insINS'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:135:5: note: in expansion of macro 'ASSERT_ARGS'
  135 |     ASSERT_ARGS(insINS)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:101:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  101 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_insINS'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:135:5: note: in expansion of macro 'ASSERT_ARGS'
  135 |     ASSERT_ARGS(insINS)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:102:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  102 |     , PARROT_ASSERT_ARG(ins) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_insINS'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:135:5: note: in expansion of macro 'ASSERT_ARGS'
  135 |     ASSERT_ARGS(insINS)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:103:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  103 |     , PARROT_ASSERT_ARG(name) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_insINS'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:135:5: note: in expansion of macro 'ASSERT_ARGS'
  135 |     ASSERT_ARGS(insINS)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'regs' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:104:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  104 |     , PARROT_ASSERT_ARG(regs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_insINS'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:135:5: note: in expansion of macro 'ASSERT_ARGS'
  135 |     ASSERT_ARGS(insINS)
      |     ^~~~~~~~~~~
compilers/imcc/pcc.c: In function 'get_pasm_reg':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:356:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  356 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_pasm_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:158:5: note: in expansion of macro 'ASSERT_ARGS'
  158 |     ASSERT_ARGS(get_pasm_reg)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:357:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  357 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_pasm_reg'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:158:5: note: in expansion of macro 'ASSERT_ARGS'
  158 |     ASSERT_ARGS(get_pasm_reg)
      |     ^~~~~~~~~~~
compilers/imcc/pcc.c: In function 'get_const':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:353:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  353 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:182:5: note: in expansion of macro 'ASSERT_ARGS'
  182 |     ASSERT_ARGS(get_const)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:354:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  354 |     , PARROT_ASSERT_ARG(name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_get_const'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:182:5: note: in expansion of macro 'ASSERT_ARGS'
  182 |     ASSERT_ARGS(get_const)
      |     ^~~~~~~~~~~
compilers/imcc/pcc.c: In function 'pcc_get_args':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:106:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  106 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pcc_get_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:211:5: note: in expansion of macro 'ASSERT_ARGS'
  211 |     ASSERT_ARGS(pcc_get_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:107:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  107 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pcc_get_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:211:5: note: in expansion of macro 'ASSERT_ARGS'
  211 |     ASSERT_ARGS(pcc_get_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:108:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  108 |     , PARROT_ASSERT_ARG(ins) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pcc_get_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:211:5: note: in expansion of macro 'ASSERT_ARGS'
  211 |     ASSERT_ARGS(pcc_get_args)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'op_name' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:109:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  109 |     , PARROT_ASSERT_ARG(op_name))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pcc_get_args'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:211:5: note: in expansion of macro 'ASSERT_ARGS'
  211 |     ASSERT_ARGS(pcc_get_args)
      |     ^~~~~~~~~~~
compilers/imcc/pcc.c: In function 'unshift_self':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:111:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  111 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unshift_self'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:345:5: note: in expansion of macro 'ASSERT_ARGS'
  345 |     ASSERT_ARGS(unshift_self)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:112:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  112 |     , PARROT_ASSERT_ARG(sub) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unshift_self'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:345:5: note: in expansion of macro 'ASSERT_ARGS'
  345 |     ASSERT_ARGS(unshift_self)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'obj' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:113:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  113 |     , PARROT_ASSERT_ARG(obj))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_unshift_self'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:345:5: note: in expansion of macro 'ASSERT_ARGS'
  345 |     ASSERT_ARGS(unshift_self)
      |     ^~~~~~~~~~~
compilers/imcc/pcc.c: In function 'expand_pcc_sub':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:341:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  341 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_expand_pcc_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:381:5: note: in expansion of macro 'ASSERT_ARGS'
  381 |     ASSERT_ARGS(expand_pcc_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:342:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  342 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_expand_pcc_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:381:5: note: in expansion of macro 'ASSERT_ARGS'
  381 |     ASSERT_ARGS(expand_pcc_sub)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:343:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  343 |     , PARROT_ASSERT_ARG(ins))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_expand_pcc_sub'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:381:5: note: in expansion of macro 'ASSERT_ARGS'
  381 |     ASSERT_ARGS(expand_pcc_sub)
      |     ^~~~~~~~~~~
compilers/imcc/pcc.c: In function 'expand_pcc_sub_ret':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:349:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  349 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_expand_pcc_sub_ret'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:472:5: note: in expansion of macro 'ASSERT_ARGS'
  472 |     ASSERT_ARGS(expand_pcc_sub_ret)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:350:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  350 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_expand_pcc_sub_ret'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:472:5: note: in expansion of macro 'ASSERT_ARGS'
  472 |     ASSERT_ARGS(expand_pcc_sub_ret)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:351:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  351 |     , PARROT_ASSERT_ARG(ins))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_expand_pcc_sub_ret'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:472:5: note: in expansion of macro 'ASSERT_ARGS'
  472 |     ASSERT_ARGS(expand_pcc_sub_ret)
      |     ^~~~~~~~~~~
compilers/imcc/pcc.c: In function 'insert_tail_call':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:95:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   95 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_insert_tail_call'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:519:5: note: in expansion of macro 'ASSERT_ARGS'
  519 |     ASSERT_ARGS(insert_tail_call)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:96:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   96 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_insert_tail_call'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:519:5: note: in expansion of macro 'ASSERT_ARGS'
  519 |     ASSERT_ARGS(insert_tail_call)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:97:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   97 |     , PARROT_ASSERT_ARG(ins) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_insert_tail_call'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:519:5: note: in expansion of macro 'ASSERT_ARGS'
  519 |     ASSERT_ARGS(insert_tail_call)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'sub' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/pcc.c:98:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   98 |     , PARROT_ASSERT_ARG(sub))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_insert_tail_call'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:519:5: note: in expansion of macro 'ASSERT_ARGS'
  519 |     ASSERT_ARGS(insert_tail_call)
      |     ^~~~~~~~~~~
compilers/imcc/pcc.c: In function 'expand_pcc_sub_call':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'imcc' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:345:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  345 |        PARROT_ASSERT_ARG(imcc) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_expand_pcc_sub_call'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:559:5: note: in expansion of macro 'ASSERT_ARGS'
  559 |     ASSERT_ARGS(expand_pcc_sub_call)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'unit' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:346:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  346 |     , PARROT_ASSERT_ARG(unit) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_expand_pcc_sub_call'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:559:5: note: in expansion of macro 'ASSERT_ARGS'
  559 |     ASSERT_ARGS(expand_pcc_sub_call)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ins' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilers/imcc/imc.h:347:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  347 |     , PARROT_ASSERT_ARG(ins))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_expand_pcc_sub_call'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/pcc.c:559:5: note: in expansion of macro 'ASSERT_ARGS'
  559 |     ASSERT_ARGS(expand_pcc_sub_call)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Icompilers/imcc/. -Isrc -o compilers/imcc/api.o -c compilers/imcc/api.c
In file included from ./include/imcc/api.h:8,
                 from compilers/imcc/api.c:28:
compilers/imcc/api.c: In function 'get_compreg_pmc':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
compilers/imcc/api.c:43:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   43 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_get_compreg_pmc'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/api.c:144:5: note: in expansion of macro 'ASSERT_ARGS'
  144 |     ASSERT_ARGS(get_compreg_pmc)
      |     ^~~~~~~~~~~
compilers/imcc/api.c: In function 'imcc_get_pir_compreg_api':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'compiler' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/imcc/api.h:61:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   61 |        PARROT_ASSERT_ARG(compiler))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_get_pir_compreg_api'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/api.c:92:5: note: in expansion of macro 'ASSERT_ARGS'
   92 |     ASSERT_ARGS(imcc_get_pir_compreg_api)
      |     ^~~~~~~~~~~
compilers/imcc/api.c: In function 'imcc_get_pasm_compreg_api':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'compiler' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/imcc/api.h:59:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   59 |        PARROT_ASSERT_ARG(compiler))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_get_pasm_compreg_api'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/api.c:118:5: note: in expansion of macro 'ASSERT_ARGS'
  118 |     ASSERT_ARGS(imcc_get_pasm_compreg_api)
      |     ^~~~~~~~~~~
compilers/imcc/api.c: In function 'imcc_compile_file_api':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pbc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
./include/imcc/api.h:57:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   57 |        PARROT_ASSERT_ARG(pbc))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_imcc_compile_file_api'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
compilers/imcc/api.c:170:5: note: in expansion of macro 'ASSERT_ARGS'
  170 |     ASSERT_ARGS(imcc_compile_file_api)
      |     ^~~~~~~~~~~
mkdir -p blib/lib
ar cr blib/lib/libparrot.a  src/string/api.o src/ops/core_ops.o src/core_pmcs.o src/datatypes.o src/debug.o src/disassemble.o src/dynext.o src/embed/api.o src/embed/bytecode.o src/embed/strings.o src/embed/pmc.o src/string/encoding.o src/exceptions.o src/exit.o src/extend.o src/extend_vtable.o src/alarm.o src/gc/alloc_memory.o src/gc/alloc_resources.o src/gc/api.o src/gc/gc_ms.o src/gc/gc_inf.o src/gc/gc_ms2.o src/gc/gc_gms.o src/gc/mark_sweep.o src/gc/system.o src/gc/fixed_allocator.o src/gc/variable_size_pool.o src/gc/string_gc.o src/global_setup.o src/hash.o src/hll.o src/call/pcc.o src/call/args.o src/interp/inter_cb.o src/interp/api.o src/call/ops.o src/call/context.o src/call/context_accessors.o src/key.o src/library.o src/list.o src/pointer_array.o src/string/sprintf.o src/multidispatch.o src/namespace.o src/nci/api.o src/nci/signatures.o src/nci/core_thunks.o src/nci/extra_thunks.o src/oo.o src/packfile/object_serialization.o src/pmc.o src/runcore/main.o src/runcore/cores.o src/runcore/profiling.o src/runcore/subprof.o src/scheduler.o src/thread.o src/events.o src/string/spf_render.o src/string/spf_vtable.o src/string/namealias.o src/sub.o src/runcore/trace.o src/utils.o src/vtables.o src/warnings.o src/packfile/api.o src/packfile/output.o src/packfile/pf_items.o src/packfile/segments.o src/longopt.o src/platform/generic/io.o src/platform/generic/socket.o src/platform/generic/file.o src/platform/generic/time.o src/platform/generic/encoding.o src/platform/generic/env.o src/platform/generic/cpu_type.o src/platform/generic/num_cpus.o src/platform/generic/dl.o src/platform/generic/math.o src/platform/generic/itimer.o src/platform/generic/exec.o src/platform/generic/misc.o src/platform/generic/hires_timer.o src/platform/generic/sysmem.o src/platform/generic/uid.o src/platform/generic/error.o src/platform/generic/entropy.o  src/io/api.o src/io/buffer.o src/io/filehandle.o src/io/socket.o src/io/stringhandle.o src/io/pipe.o src/io/userhandle.o src/io/utilities.o  src/pmc/default.o src/pmc/null.o src/pmc/env.o src/pmc/key.o src/pmc/unmanagedstruct.o src/pmc/managedstruct.o src/pmc/exception.o src/pmc/parrotlibrary.o src/pmc/parrotinterpreter.o src/pmc/lexpad.o src/pmc/timer.o src/pmc/pointer.o src/pmc/sub.o src/pmc/continuation.o src/pmc/coroutine.o src/pmc/nci.o src/pmc/float.o src/pmc/integer.o src/pmc/bigint.o src/pmc/bignum.o src/pmc/complex.o src/pmc/string.o src/pmc/boolean.o src/pmc/fixedintegerarray.o src/pmc/iterator.o src/pmc/fixedstringarray.o src/pmc/hash.o src/pmc/orderedhash.o src/pmc/oplib.o src/pmc/opcode.o src/pmc/callcontext.o src/pmc/addrregistry.o src/pmc/alarm.o src/pmc/arrayiterator.o src/pmc/bytebuffer.o src/pmc/callback.o src/pmc/capture.o src/pmc/class.o src/pmc/eventhandler.o src/pmc/exceptionhandler.o src/pmc/exporter.o src/pmc/filehandle.o src/pmc/fixedbooleanarray.o src/pmc/fixedfloatarray.o src/pmc/fixedpmcarray.o src/pmc/handle.o src/pmc/hashiterator.o src/pmc/hashiteratorkey.o src/pmc/imageiofreeze.o src/pmc/imageiosize.o src/pmc/imageiostrings.o src/pmc/imageiothaw.o src/pmc/imccompiler.o src/pmc/lexinfo.o src/pmc/mappedbytearray.o src/pmc/multisub.o src/pmc/namespace.o src/pmc/nativepccmethod.o src/pmc/object.o src/pmc/orderedhashiterator.o src/pmc/os.o src/pmc/packfile.o src/pmc/packfileannotation.o src/pmc/packfileannotations.o src/pmc/packfilebytecodesegment.o src/pmc/packfileconstanttable.o src/pmc/packfiledebug.o src/pmc/packfiledirectory.o src/pmc/packfileopmap.o src/pmc/packfilerawsegment.o src/pmc/packfilesegment.o src/pmc/packfileview.o src/pmc/pmclist.o src/pmc/pmcproxy.o src/pmc/proxy.o src/pmc/ptr.o src/pmc/ptrbuf.o src/pmc/ptrobj.o src/pmc/resizablebooleanarray.o src/pmc/resizablefloatarray.o src/pmc/resizableintegerarray.o src/pmc/resizablepmcarray.o src/pmc/resizablestringarray.o src/pmc/role.o src/pmc/scalar.o src/pmc/scheduler.o src/pmc/schedulermessage.o src/pmc/sockaddr.o src/pmc/socket.o src/pmc/stringbuilder.o src/pmc/stringhandle.o src/pmc/stringiterator.o src/pmc/structview.o src/pmc/task.o src/pmc/undef.o src/string/encoding/shared.o src/string/encoding/tables.o src/string/encoding/null.o src/string/encoding/ascii.o src/string/encoding/latin1.o src/string/encoding/binary.o src/string/encoding/utf8.o src/string/encoding/utf16.o src/string/encoding/ucs2.o src/string/encoding/ucs4.o compilers/imcc/imcparser.o compilers/imcc/imclexer.o compilers/imcc/imc.o compilers/imcc/main.o compilers/imcc/symreg.o compilers/imcc/instructions.o compilers/imcc/cfg.o compilers/imcc/reg_alloc.o compilers/imcc/sets.o compilers/imcc/debug.o compilers/imcc/optimizer.o compilers/imcc/pbc.o compilers/imcc/parser_util.o compilers/imcc/pcc.o compilers/imcc/api.o
: blib/lib/libparrot.a
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "blib/lib/libparrot.a" "[main]" lib
mkdir -p blib/lib
gcc -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o blib/lib/libparrot.so.8.1.0 -Wl,-soname=libparrot.so.8.1.0 \
  src/string/api.o src/ops/core_ops.o src/core_pmcs.o src/datatypes.o src/debug.o src/disassemble.o src/dynext.o src/embed/api.o src/embed/bytecode.o src/embed/strings.o src/embed/pmc.o src/string/encoding.o src/exceptions.o src/exit.o src/extend.o src/extend_vtable.o src/alarm.o src/gc/alloc_memory.o src/gc/alloc_resources.o src/gc/api.o src/gc/gc_ms.o src/gc/gc_inf.o src/gc/gc_ms2.o src/gc/gc_gms.o src/gc/mark_sweep.o src/gc/system.o src/gc/fixed_allocator.o src/gc/variable_size_pool.o src/gc/string_gc.o src/global_setup.o src/hash.o src/hll.o src/call/pcc.o src/call/args.o src/interp/inter_cb.o src/interp/api.o src/call/ops.o src/call/context.o src/call/context_accessors.o src/key.o src/library.o src/list.o src/pointer_array.o src/string/sprintf.o src/multidispatch.o src/namespace.o src/nci/api.o src/nci/signatures.o src/nci/core_thunks.o src/nci/extra_thunks.o src/oo.o src/packfile/object_serialization.o src/pmc.o src/runcore/main.o src/runcore/cores.o src/runcore/profiling.o src/runcore/subprof.o src/scheduler.o src/thread.o src/events.o src/string/spf_render.o src/string/spf_vtable.o src/string/namealias.o src/sub.o src/runcore/trace.o src/utils.o src/vtables.o src/warnings.o src/packfile/api.o src/packfile/output.o src/packfile/pf_items.o src/packfile/segments.o src/longopt.o src/platform/generic/io.o src/platform/generic/socket.o src/platform/generic/file.o src/platform/generic/time.o src/platform/generic/encoding.o src/platform/generic/env.o src/platform/generic/cpu_type.o src/platform/generic/num_cpus.o src/platform/generic/dl.o src/platform/generic/math.o src/platform/generic/itimer.o src/platform/generic/exec.o src/platform/generic/misc.o src/platform/generic/hires_timer.o src/platform/generic/sysmem.o src/platform/generic/uid.o src/platform/generic/error.o src/platform/generic/entropy.o  src/io/api.o src/io/buffer.o src/io/filehandle.o src/io/socket.o src/io/stringhandle.o src/io/pipe.o src/io/userhandle.o src/io/utilities.o  src/pmc/default.o src/pmc/null.o src/pmc/env.o src/pmc/key.o src/pmc/unmanagedstruct.o src/pmc/managedstruct.o src/pmc/exception.o src/pmc/parrotlibrary.o src/pmc/parrotinterpreter.o src/pmc/lexpad.o src/pmc/timer.o src/pmc/pointer.o src/pmc/sub.o src/pmc/continuation.o src/pmc/coroutine.o src/pmc/nci.o src/pmc/float.o src/pmc/integer.o src/pmc/bigint.o src/pmc/bignum.o src/pmc/complex.o src/pmc/string.o src/pmc/boolean.o src/pmc/fixedintegerarray.o src/pmc/iterator.o src/pmc/fixedstringarray.o src/pmc/hash.o src/pmc/orderedhash.o src/pmc/oplib.o src/pmc/opcode.o src/pmc/callcontext.o src/pmc/addrregistry.o src/pmc/alarm.o src/pmc/arrayiterator.o src/pmc/bytebuffer.o src/pmc/callback.o src/pmc/capture.o src/pmc/class.o src/pmc/eventhandler.o src/pmc/exceptionhandler.o src/pmc/exporter.o src/pmc/filehandle.o src/pmc/fixedbooleanarray.o src/pmc/fixedfloatarray.o src/pmc/fixedpmcarray.o src/pmc/handle.o src/pmc/hashiterator.o src/pmc/hashiteratorkey.o src/pmc/imageiofreeze.o src/pmc/imageiosize.o src/pmc/imageiostrings.o src/pmc/imageiothaw.o src/pmc/imccompiler.o src/pmc/lexinfo.o src/pmc/mappedbytearray.o src/pmc/multisub.o src/pmc/namespace.o src/pmc/nativepccmethod.o src/pmc/object.o src/pmc/orderedhashiterator.o src/pmc/os.o src/pmc/packfile.o src/pmc/packfileannotation.o src/pmc/packfileannotations.o src/pmc/packfilebytecodesegment.o src/pmc/packfileconstanttable.o src/pmc/packfiledebug.o src/pmc/packfiledirectory.o src/pmc/packfileopmap.o src/pmc/packfilerawsegment.o src/pmc/packfilesegment.o src/pmc/packfileview.o src/pmc/pmclist.o src/pmc/pmcproxy.o src/pmc/proxy.o src/pmc/ptr.o src/pmc/ptrbuf.o src/pmc/ptrobj.o src/pmc/resizablebooleanarray.o src/pmc/resizablefloatarray.o src/pmc/resizableintegerarray.o src/pmc/resizablepmcarray.o src/pmc/resizablestringarray.o src/pmc/role.o src/pmc/scalar.o src/pmc/scheduler.o src/pmc/schedulermessage.o src/pmc/sockaddr.o src/pmc/socket.o src/pmc/stringbuilder.o src/pmc/stringhandle.o src/pmc/stringiterator.o src/pmc/structview.o src/pmc/task.o src/pmc/undef.o src/string/encoding/shared.o src/string/encoding/tables.o src/string/encoding/null.o src/string/encoding/ascii.o src/string/encoding/latin1.o src/string/encoding/binary.o src/string/encoding/utf8.o src/string/encoding/utf16.o src/string/encoding/ucs2.o src/string/encoding/ucs4.o compilers/imcc/imcparser.o compilers/imcc/imclexer.o compilers/imcc/imc.o compilers/imcc/main.o compilers/imcc/symreg.o compilers/imcc/instructions.o compilers/imcc/cfg.o compilers/imcc/reg_alloc.o compilers/imcc/sets.o compilers/imcc/debug.o compilers/imcc/optimizer.o compilers/imcc/pbc.o compilers/imcc/parser_util.o compilers/imcc/pcc.o compilers/imcc/api.o -lcurses -lm -lrt -lgmp -lreadline  -L/usr/lib64  -licuuc -licudata 
( cd blib/lib ; ln -sf libparrot.so.8.1.0 libparrot.so )
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "blib/lib/libparrot.so" "[main]" lib
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "blib/lib/libparrot.so.8.1.0" "[main]" lib
cp tools/dev/gdb-pp-load.py blib/lib/libparrot.so.8.1.0-gdb.py
cp tools/dev/gdb-pp.py blib/lib/GDBPrettyPrint.py
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Ifrontend/parrot2/. -Isrc -o frontend/parrot2/main.o -c frontend/parrot2/main.c
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/datatypes.h runtime/parrot/include/datatypes.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/datatypes.pasm" "[main]"
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Ifrontend/parrot/. -Isrc -o frontend/parrot/main.o -c frontend/parrot/main.c
/usr/bin/perl5.34.0 tools/build/parrot_config_c.pl --mini > src/null_config.c
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "src/null_config.c" "[]"
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/null_config.o -c src/null_config.c
gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o miniparrot frontend/parrot/main.o src/null_config.o \
  "-Wl,-rpath=/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -L"/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -lparrot -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -fstack-protector-strong -L/usr/local/lib -Wl,-E  
/usr/bin/perl5.34.0 tools/build/gen_version.pl >runtime/parrot/include/parrot_version.pir
./miniparrot -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc
/usr/bin/perl5.34.0 tools/build/parrot_config_c.pl > src/parrot_config.c
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "src/parrot_config.c" "[]"
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/parrot_config.o -c src/parrot_config.c
./miniparrot -Iruntime/parrot/include -o frontend/parrot2/prt0.pbc frontend/parrot2/prt0.pir
./miniparrot frontend/parrot2/build.pir frontend/parrot2/prt0.pbc
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Ifrontend/parrot2/. -Isrc -o frontend/parrot2/prt0.pbc.o -c frontend/parrot2/prt0.pbc.c
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/cclass.h runtime/parrot/include/cclass.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/cclass.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/enums.h runtime/parrot/include/iterator.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/iterator.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/enums.h runtime/parrot/include/call_bits.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/call_bits.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/scheduler.h runtime/parrot/include/timer.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/timer.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/exceptions.h runtime/parrot/include/except_types.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/except_types.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/exceptions.h runtime/parrot/include/except_severity.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/except_severity.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/hash.h runtime/parrot/include/hash_key_type.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/hash_key_type.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/interpreter.h runtime/parrot/include/interpflags.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/interpflags.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/interpreter.h runtime/parrot/include/interpdebug.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/interpdebug.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/interpreter.h runtime/parrot/include/interptrace.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/interptrace.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/interpreter.h runtime/parrot/include/interpcores.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/interpcores.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/interpreter.h runtime/parrot/include/cloneflags.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/cloneflags.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/interpreter.h runtime/parrot/include/iglobals.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/iglobals.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/interpreter.h runtime/parrot/include/sysinfo.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/sysinfo.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/io.h runtime/parrot/include/stdio.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/stdio.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/io.h runtime/parrot/include/socket.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/socket.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/library.h runtime/parrot/include/libpaths.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/libpaths.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/platform_interface.h runtime/parrot/include/dlopenflags.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/dlopenflags.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/longopt.h runtime/parrot/include/longopt.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/longopt.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/packfile.h runtime/parrot/include/packfile_segments.pasm
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/packfile.h runtime/parrot/include/packfile_annotation_keytype.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/packfile_annotation_keytype.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/platform_interface.h runtime/parrot/include/stat.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/stat.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/string.h runtime/parrot/include/stringinfo.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/stringinfo.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/warnings.h runtime/parrot/include/warnings.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/warnings.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/warnings.h runtime/parrot/include/errors.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/errors.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/gc_api.h runtime/parrot/include/interpinfo.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/interpinfo.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl src/utils.c runtime/parrot/include/tm.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/tm.pasm" "[main]"
/usr/bin/perl5.34.0 tools/build/h2inc.pl include/parrot/core_pmcs.h runtime/parrot/include/pmctypes.pasm
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/include/pmctypes.pasm" "[main]"
gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o parrot \
  frontend/parrot2/main.o frontend/parrot2/prt0.pbc.o src/parrot_config.o \
  "-Wl,-rpath=/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -L"/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -lparrot -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -fstack-protector-strong -L/usr/local/lib -Wl,-E   -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags
gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o parrot_old \
  frontend/parrot/main.o src/parrot_config.o \
  "-Wl,-rpath=/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -L"/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -lparrot -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -fstack-protector-strong -L/usr/local/lib -Wl,-E   -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags
./parrot -o runtime/parrot/include/parrotlib.pbc runtime/parrot/library/parrotlib.pir
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/dynpmc/select.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/dynpmc/select.pmc
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "src/dynpmc/pmc_select.h" "[devel]" "include"
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynpmc/. -Isrc -o src/dynpmc/select.o -c src/dynpmc/select.c
./src/dynpmc/select.c: In function 'Parrot_Select_nci_select':
./src/dynpmc/select.c:483:1: warning: stack usage is 576 bytes [-Wstack-usage=]
  483 | static  void
      | ^~~~~~~~~~~~            
gcc  -o runtime/parrot/dynext/select.so \
  src/dynpmc/select.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/select.so" "[library]"
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/dynpmc/dynlexpad.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/dynpmc/dynlexpad.pmc
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "src/dynpmc/pmc_dynlexpad.h" "[devel]" "include"
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynpmc/. -Isrc -o src/dynpmc/dynlexpad.o -c src/dynpmc/dynlexpad.c
gcc  -o runtime/parrot/dynext/dynlexpad.so \
  src/dynpmc/dynlexpad.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/dynlexpad.so" "[library]"
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/dynpmc/file.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/dynpmc/file.pmc
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "src/dynpmc/pmc_file.h" "[devel]" "include"
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynpmc/. -Isrc -o src/dynpmc/file.o -c src/dynpmc/file.c
./src/dynpmc/file.c: In function 'Parrot_File_nci_copy':
./src/dynpmc/file.c:252:1: warning: stack usage is 1168 bytes [-Wstack-usage=]
  252 | static  void
      | ^~~~~~~~~~~~        
gcc  -o runtime/parrot/dynext/file.so \
  src/dynpmc/file.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/file.so" "[library]"
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/dynpmc/foo.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/dynpmc/foo.pmc
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "src/dynpmc/pmc_foo.h" "[]" "include"
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynpmc/. -Isrc -o src/dynpmc/foo.o -c src/dynpmc/foo.c
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/dynpmc/foo2.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/dynpmc/foo2.pmc
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "src/dynpmc/pmc_foo2.h" "[]" "include"
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynpmc/. -Isrc -o src/dynpmc/foo2.o -c src/dynpmc/foo2.c
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl  --library foo_group --c src/dynpmc/foo.pmc src/dynpmc/foo2.pmc
mv foo_group.c src/dynpmc/foo_group.c
/usr/bin/perl5.34.0 tools/build/addgenerated.pl src/dynpmc/foo_group.c "[]"
mv foo_group.h src/dynpmc/foo_group.h
/usr/bin/perl5.34.0 tools/build/addgenerated.pl src/dynpmc/foo_group.h "[]" include
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynpmc/. -Isrc -o src/dynpmc/foo_group.o -c src/dynpmc/foo_group.c
gcc  -o runtime/parrot/dynext/foo_group.so \
  src/dynpmc/foo_group.o src/dynpmc/foo.o src/dynpmc/foo2.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/foo_group.so" "[]"
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/dynpmc/osdummy.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/dynpmc/osdummy.pmc
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynpmc/. -Isrc -o src/dynpmc/osdummy.o -c src/dynpmc/osdummy.c
gcc  -o runtime/parrot/dynext/os.so \
  src/dynpmc/osdummy.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/os.so" "[library]"
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/dynpmc/pccmethod_test.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/dynpmc/pccmethod_test.pmc
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynpmc/. -Isrc -o src/dynpmc/pccmethod_test.o -c src/dynpmc/pccmethod_test.c
gcc  -o runtime/parrot/dynext/pccmethod_test.so \
  src/dynpmc/pccmethod_test.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/pccmethod_test.so" "[]"
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/dynpmc/rotest.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/dynpmc/rotest.pmc
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynpmc/. -Isrc -o src/dynpmc/rotest.o -c src/dynpmc/rotest.c
gcc  -o runtime/parrot/dynext/rotest.so \
  src/dynpmc/rotest.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/rotest.so" "[]"
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/dynpmc/rational.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/dynpmc/rational.pmc
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "src/dynpmc/pmc_rational.h" "[devel]" "include"
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynpmc/. -Isrc -o src/dynpmc/rational.o -c src/dynpmc/rational.c
gcc  -o runtime/parrot/dynext/rational.so \
  src/dynpmc/rational.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/rational.so" "[library]"
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --dump  src/dynpmc/subproxy.pmc
/usr/bin/perl5.34.0 -Ilib tools/build/pmc2c.pl --c  src/dynpmc/subproxy.pmc
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "src/dynpmc/pmc_subproxy.h" "[devel]" "include"
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynpmc/. -Isrc -o src/dynpmc/subproxy.o -c src/dynpmc/subproxy.c
gcc  -o runtime/parrot/dynext/subproxy.so \
  src/dynpmc/subproxy.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/subproxy.so" "[library]"
./parrot -o runtime/parrot/library/Test/More.pbc runtime/parrot/library/Test/More.pir
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Ifrontend/pbc_dump/. -Isrc -o frontend/pbc_dump/main.o -c frontend/pbc_dump/main.c
In file included from ./include/parrot/longopt.h:10,
                 from frontend/pbc_dump/main.c:50:
frontend/pbc_dump/main.c: In function 'null_dump':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
frontend/pbc_dump/main.c:94:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   94 |        PARROT_ASSERT_ARG(self))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_null_dump'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/main.c:240:5: note: in expansion of macro 'ASSERT_ARGS'
  240 |     ASSERT_ARGS(null_dump)
      |     ^~~~~~~~~~~
frontend/pbc_dump/main.c: In function 'null_dir_dump':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/main.c:91:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   91 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_null_dir_dump'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/main.c:259:5: note: in expansion of macro 'ASSERT_ARGS'
  259 |     ASSERT_ARGS(null_dir_dump)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/main.c:92:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   92 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_null_dir_dump'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/main.c:259:5: note: in expansion of macro 'ASSERT_ARGS'
  259 |     ASSERT_ARGS(null_dir_dump)
      |     ^~~~~~~~~~~
frontend/pbc_dump/main.c: In function 'const_dump':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/main.c:84:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   84 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_const_dump'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/main.c:117:5: note: in expansion of macro 'ASSERT_ARGS'
  117 |     ASSERT_ARGS(const_dump)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'segp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/main.c:85:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   85 |     , PARROT_ASSERT_ARG(segp))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_const_dump'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/main.c:117:5: note: in expansion of macro 'ASSERT_ARGS'
  117 |     ASSERT_ARGS(const_dump)
      |     ^~~~~~~~~~~
frontend/pbc_dump/main.c: In function 'disas_dump':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/main.c:87:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   87 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_disas_dump'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/main.c:137:5: note: in expansion of macro 'ASSERT_ARGS'
  137 |     ASSERT_ARGS(disas_dump)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/main.c:88:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   88 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_disas_dump'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/main.c:137:5: note: in expansion of macro 'ASSERT_ARGS'
  137 |     ASSERT_ARGS(disas_dump)
      |     ^~~~~~~~~~~
frontend/pbc_dump/main.c: In function 'nums_dump':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/main.c:96:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   96 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_nums_dump'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/main.c:204:5: note: in expansion of macro 'ASSERT_ARGS'
  204 |     ASSERT_ARGS(nums_dump)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/main.c:97:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   97 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_nums_dump'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/main.c:204:5: note: in expansion of macro 'ASSERT_ARGS'
  204 |     ASSERT_ARGS(nums_dump)
      |     ^~~~~~~~~~~
frontend/pbc_dump/main.c: In function 'PackFile_header_dump':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/main.c:99:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   99 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_header_dump'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/main.c:281:5: note: in expansion of macro 'ASSERT_ARGS'
  281 |     ASSERT_ARGS(PackFile_header_dump)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/main.c:100:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  100 |     , PARROT_ASSERT_ARG(pf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_PackFile_header_dump'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/main.c:281:5: note: in expansion of macro 'ASSERT_ARGS'
  281 |     ASSERT_ARGS(PackFile_header_dump)
      |     ^~~~~~~~~~~
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Ifrontend/pbc_dump/. -Isrc -o frontend/pbc_dump/packdump.o -c frontend/pbc_dump/packdump.c
In file included from ./include/parrot/parrot.h:261,
                 from frontend/pbc_dump/packdump.c:22:
frontend/pbc_dump/packdump.c: In function 'pobj_flag_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
frontend/pbc_dump/packdump.c:57:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   57 |        PARROT_ASSERT_ARG(interp))
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pobj_flag_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/packdump.c:144:5: note: in expansion of macro 'ASSERT_ARGS'
  144 |     ASSERT_ARGS(pobj_flag_dump)
      |     ^~~~~~~~~~~
frontend/pbc_dump/packdump.c: In function 'pf_const_dump_str':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/packdump.c:54:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   54 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_const_dump_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/packdump.c:176:5: note: in expansion of macro 'ASSERT_ARGS'
  176 |     ASSERT_ARGS(pf_const_dump_str)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/packdump.c:55:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   55 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_const_dump_str'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/packdump.c:176:5: note: in expansion of macro 'ASSERT_ARGS'
  176 |     ASSERT_ARGS(pf_const_dump_str)
      |     ^~~~~~~~~~~
frontend/pbc_dump/packdump.c: In function 'pf_const_dump_pmc':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/packdump.c:50:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
   50 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_const_dump_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/packdump.c:203:5: note: in expansion of macro 'ASSERT_ARGS'
  203 |     ASSERT_ARGS(pf_const_dump_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'ct' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/packdump.c:51:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   51 |     , PARROT_ASSERT_ARG(ct) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_const_dump_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/packdump.c:203:5: note: in expansion of macro 'ASSERT_ARGS'
  203 |     ASSERT_ARGS(pf_const_dump_pmc)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_dump/packdump.c:52:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
   52 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_const_dump_pmc'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/packdump.c:203:5: note: in expansion of macro 'ASSERT_ARGS'
  203 |     ASSERT_ARGS(pf_const_dump_pmc)
      |     ^~~~~~~~~~~
frontend/pbc_dump/packdump.c: In function 'pf_const_dump':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:486:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  486 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_const_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/packdump.c:75:5: note: in expansion of macro 'ASSERT_ARGS'
   75 |     ASSERT_ARGS(pf_const_dump)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'self' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/parrot/packfile.h:487:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  487 |     , PARROT_ASSERT_ARG(self))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_pf_const_dump'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_dump/packdump.c:75:5: note: in expansion of macro 'ASSERT_ARGS'
   75 |     ASSERT_ARGS(pf_const_dump)
      |     ^~~~~~~~~~~
gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o pbc_dump \
  frontend/pbc_dump/main.o \
  frontend/pbc_dump/packdump.o "-Wl,-rpath=/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -L"/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -lparrot -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -fstack-protector-strong -L/usr/local/lib -Wl,-E  
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Ifrontend/pbc_disassemble/. -Isrc -o frontend/pbc_disassemble/main.o -c frontend/pbc_disassemble/main.c
gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o pbc_disassemble \
  frontend/pbc_disassemble/main.o \
  "-Wl,-rpath=/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -L"/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -lparrot -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -fstack-protector-strong -L/usr/local/lib -Wl,-E  
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Ifrontend/parrot_debugger/. -Isrc -o frontend/parrot_debugger/main.o -c frontend/parrot_debugger/main.c
In file included from ./include/parrot/parrot.h:261,
                 from frontend/parrot_debugger/main.c:145:
frontend/parrot_debugger/main.c: In function 'PDB_run_code':
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/parrot_debugger/main.c:164:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  164 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_run_code'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/parrot_debugger/main.c:268:5: note: in expansion of macro 'ASSERT_ARGS'
  268 |     ASSERT_ARGS(PDB_run_code)
      |     ^~~~~~~~~~~
./include/parrot/exceptions.h:300:43: warning: 'nonnull' argument 'argv' compared to NULL [-Wnonnull-compare]
  300 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/parrot_debugger/main.c:165:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |     , PARROT_ASSERT_ARG(argv))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/exceptions.h:305:28: note: in expansion of macro 'ASSERT_ARGS_PDB_run_code'
  305 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/parrot_debugger/main.c:268:5: note: in expansion of macro 'ASSERT_ARGS'
  268 |     ASSERT_ARGS(PDB_run_code)
      |     ^~~~~~~~~~~
gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o parrot_debugger \
  frontend/parrot_debugger/main.o \
  src/parrot_config.o \
  "-Wl,-rpath=/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -L"/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -lparrot -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -fstack-protector-strong -L/usr/local/lib -Wl,-E  
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Ifrontend/pbc_merge/. -Isrc -o frontend/pbc_merge/main.o -c frontend/pbc_merge/main.c
In file included from ./include/parrot/longopt.h:10,
                 from frontend/pbc_merge/main.c:43:
frontend/pbc_merge/main.c: In function 'ensure_libdep':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:165:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  165 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_ensure_libdep'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:237:5: note: in expansion of macro 'ASSERT_ARGS'
  237 |     ASSERT_ARGS(ensure_libdep)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:166:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  166 |     , PARROT_ASSERT_ARG(bc) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_ensure_libdep'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:237:5: note: in expansion of macro 'ASSERT_ARGS'
  237 |     ASSERT_ARGS(ensure_libdep)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'lib' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:167:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  167 |     , PARROT_ASSERT_ARG(lib))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_ensure_libdep'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:237:5: note: in expansion of macro 'ASSERT_ARGS'
  237 |     ASSERT_ARGS(ensure_libdep)
      |     ^~~~~~~~~~~
frontend/pbc_merge/main.c: In function 'pbc_merge_bytecode':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:185:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  185 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_bytecode'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:270:5: note: in expansion of macro 'ASSERT_ARGS'
  270 |     ASSERT_ARGS(pbc_merge_bytecode)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'inputs' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:186:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  186 |     , PARROT_ASSERT_ARG(inputs) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_bytecode'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:270:5: note: in expansion of macro 'ASSERT_ARGS'
  270 |     ASSERT_ARGS(pbc_merge_bytecode)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:187:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  187 |     , PARROT_ASSERT_ARG(pf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_bytecode'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:270:5: note: in expansion of macro 'ASSERT_ARGS'
  270 |     ASSERT_ARGS(pbc_merge_bytecode)
      |     ^~~~~~~~~~~
frontend/pbc_merge/main.c: In function 'pbc_merge_constants':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:189:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  189 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_constants'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:355:5: note: in expansion of macro 'ASSERT_ARGS'
  355 |     ASSERT_ARGS(pbc_merge_constants)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'inputs' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:190:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  190 |     , PARROT_ASSERT_ARG(inputs) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_constants'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:355:5: note: in expansion of macro 'ASSERT_ARGS'
  355 |     ASSERT_ARGS(pbc_merge_constants)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:191:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  191 |     , PARROT_ASSERT_ARG(pf))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_constants'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:355:5: note: in expansion of macro 'ASSERT_ARGS'
  355 |     ASSERT_ARGS(pbc_merge_constants)
      |     ^~~~~~~~~~~
frontend/pbc_merge/main.c: In function 'pbc_merge_annotations':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:177:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  177 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_annotations'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:497:5: note: in expansion of macro 'ASSERT_ARGS'
  497 |     ASSERT_ARGS(pbc_merge_annotations)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'inputs' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:178:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  178 |     , PARROT_ASSERT_ARG(inputs) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_annotations'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:497:5: note: in expansion of macro 'ASSERT_ARGS'
  497 |     ASSERT_ARGS(pbc_merge_annotations)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:179:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  179 |     , PARROT_ASSERT_ARG(pf) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_annotations'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:497:5: note: in expansion of macro 'ASSERT_ARGS'
  497 |     ASSERT_ARGS(pbc_merge_annotations)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:180:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  180 |     , PARROT_ASSERT_ARG(bc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_annotations'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:497:5: note: in expansion of macro 'ASSERT_ARGS'
  497 |     ASSERT_ARGS(pbc_merge_annotations)
      |     ^~~~~~~~~~~
frontend/pbc_merge/main.c: In function 'pbc_merge_debugs':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:193:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  193 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_debugs'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:565:5: note: in expansion of macro 'ASSERT_ARGS'
  565 |     ASSERT_ARGS(pbc_merge_debugs)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'inputs' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:194:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  194 |     , PARROT_ASSERT_ARG(inputs) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_debugs'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:565:5: note: in expansion of macro 'ASSERT_ARGS'
  565 |     ASSERT_ARGS(pbc_merge_debugs)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:195:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  195 |     , PARROT_ASSERT_ARG(bc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_debugs'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:565:5: note: in expansion of macro 'ASSERT_ARGS'
  565 |     ASSERT_ARGS(pbc_merge_debugs)
      |     ^~~~~~~~~~~
frontend/pbc_merge/main.c: In function 'pbc_fixup_bytecode':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:170:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  170 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_fixup_bytecode'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:701:5: note: in expansion of macro 'ASSERT_ARGS'
  701 |     ASSERT_ARGS(pbc_fixup_bytecode)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'inputs' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:171:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  171 |     , PARROT_ASSERT_ARG(inputs) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_fixup_bytecode'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:701:5: note: in expansion of macro 'ASSERT_ARGS'
  701 |     ASSERT_ARGS(pbc_fixup_bytecode)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'bc' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:172:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  172 |     , PARROT_ASSERT_ARG(bc))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_fixup_bytecode'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:701:5: note: in expansion of macro 'ASSERT_ARGS'
  701 |     ASSERT_ARGS(pbc_fixup_bytecode)
      |     ^~~~~~~~~~~
frontend/pbc_merge/main.c: In function 'pbc_fixup_constants':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:174:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  174 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_fixup_constants'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:802:5: note: in expansion of macro 'ASSERT_ARGS'
  802 |     ASSERT_ARGS(pbc_fixup_constants)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'inputs' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:175:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  175 |     , PARROT_ASSERT_ARG(inputs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_fixup_constants'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:802:5: note: in expansion of macro 'ASSERT_ARGS'
  802 |     ASSERT_ARGS(pbc_fixup_constants)
      |     ^~~~~~~~~~~
frontend/pbc_merge/main.c: In function 'pbc_merge_begin':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:182:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  182 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_begin'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:846:5: note: in expansion of macro 'ASSERT_ARGS'
  846 |     ASSERT_ARGS(pbc_merge_begin)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'inputs' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:183:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  183 |     , PARROT_ASSERT_ARG(inputs))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_begin'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:846:5: note: in expansion of macro 'ASSERT_ARGS'
  846 |     ASSERT_ARGS(pbc_merge_begin)
      |     ^~~~~~~~~~~
frontend/pbc_merge/main.c: In function 'pbc_merge_write':
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'interp' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:197:8: note: in expansion of macro 'PARROT_ASSERT_ARG'
  197 |        PARROT_ASSERT_ARG(interp) \
      |        ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_write'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:918:5: note: in expansion of macro 'ASSERT_ARGS'
  918 |     ASSERT_ARGS(pbc_merge_write)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'pf' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:198:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  198 |     , PARROT_ASSERT_ARG(pf) \
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_write'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:918:5: note: in expansion of macro 'ASSERT_ARGS'
  918 |     ASSERT_ARGS(pbc_merge_write)
      |     ^~~~~~~~~~~
./include/parrot/api.h:55:43: warning: 'nonnull' argument 'filename' compared to NULL [-Wnonnull-compare]
   55 | #  define PARROT_ASSERT_ARG(x) ((x) ? (0) : (Parrot_confess(#x, __FILE__, __LINE__), 0))
      |                                ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
frontend/pbc_merge/main.c:199:7: note: in expansion of macro 'PARROT_ASSERT_ARG'
  199 |     , PARROT_ASSERT_ARG(filename))
      |       ^~~~~~~~~~~~~~~~~
./include/parrot/api.h:60:28: note: in expansion of macro 'ASSERT_ARGS_pbc_merge_write'
   60 | #    define ASSERT_ARGS(a) ASSERT_ARGS_ ## a ;
      |                            ^~~~~~~~~~~~
frontend/pbc_merge/main.c:918:5: note: in expansion of macro 'ASSERT_ARGS'
  918 |     ASSERT_ARGS(pbc_merge_write)
      |     ^~~~~~~~~~~
gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o pbc_merge \
  frontend/pbc_merge/main.o \
  src/parrot_config.o \
  "-Wl,-rpath=/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -L"/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -lparrot -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline  -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -fstack-protector-strong -L/usr/local/lib -Wl,-E  
mkdir -p runtime/parrot/languages/winxed
./parrot -o runtime/parrot/languages/winxed/winxed.pbc ext/winxed/compiler.pir
./parrot -o winxed.pbc ext/winxed/driver.pir
./parrot winxed.pbc -c --noan tools/dev/pbc_to_exe.winxed
./parrot -o pbc_to_exe.pbc tools/dev/pbc_to_exe.pir
./parrot pbc_to_exe.pbc pbc_to_exe.pbc
./parrot -o parrot_config.pbc tools/dev/parrot-config.pir
./parrot pbc_to_exe.pbc parrot_config.pbc
./pbc_to_exe winxed.pbc
./parrot -o runtime/parrot/library/Regex.pbc ext/nqp-rx/src/stage0/Regex-s0.pir
./parrot -o runtime/parrot/library/HLL.pbc ext/nqp-rx/src/stage0/HLL-s0.pir
./parrot -o runtime/parrot/library/P6Regex.pbc ext/nqp-rx/src/stage0/P6Regex-s0.pir
./parrot -o runtime/parrot/library/nqp-rx.pbc ext/nqp-rx/src/stage0/NQP-s0.pir
./parrot -o runtime/parrot/library/P6object.pbc runtime/parrot/library/P6object.pir
./parrot -o runtime/parrot/library/PGE/Dumper.pbc runtime/parrot/library/PGE/Dumper.pir
./parrot -o runtime/parrot/library/Parrot/Exception.pbc runtime/parrot/library/Parrot/Exception.pir
./parrot -o runtime/parrot/library/Getopt/Obj.pbc runtime/parrot/library/Getopt/Obj.pir
./parrot -o runtime/parrot/library/dumper.pbc runtime/parrot/library/dumper.pir
./parrot -o runtime/parrot/library/PCT/Dumper.pbc compilers/pct/src/PCT/Dumper.pir
./parrot -o runtime/parrot/library/PCT/HLLCompiler.pbc compilers/pct/src/PCT/HLLCompiler.pir
./parrot -o compilers/pct/src/PCT/Node.pbc compilers/pct/src/PCT/Node.pir
./parrot -o compilers/pct/src/PAST/Node.pbc compilers/pct/src/PAST/Node.pir
./parrot -o compilers/pct/src/PAST/Compiler.pbc compilers/pct/src/PAST/Compiler.pir
./parrot -o compilers/pct/src/POST/Node.pbc compilers/pct/src/POST/Node.pir
./parrot -o compilers/pct/src/POST/Compiler.pbc compilers/pct/src/POST/Compiler.pir
./pbc_merge -o runtime/parrot/library/PCT/PAST.pbc \
  compilers/pct/src/PCT/Node.pbc \
  compilers/pct/src/PAST/Node.pbc \
  compilers/pct/src/PAST/Compiler.pbc \
  compilers/pct/src/POST/Node.pbc \
  compilers/pct/src/POST/Compiler.pbc
cp runtime/parrot/library/nqp-rx.pbc parrot-nqp.pbc
./pbc_to_exe parrot-nqp.pbc
/usr/bin/perl5.34.0 -e "" > compilers/pge/PGE/builtins_gen.pir
./parrot -o runtime/parrot/library/PGE.pbc compilers/pge/PGE.pir
./parrot runtime/parrot/library/PGE/Perl6Grammar.pir --output=compilers/pge/PGE/builtins_gen.pir compilers/pge/PGE/builtins.pg
./parrot -o runtime/parrot/library/PGE.pbc compilers/pge/PGE.pir
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/library/PGE.pbc" "[main]"
./parrot -o runtime/parrot/library/PGE/Util.pbc runtime/parrot/library/PGE/Util.pir
./parrot -o runtime/parrot/library/PGE/Text.pbc runtime/parrot/library/PGE/Text.pir
./parrot -o runtime/parrot/library/PGE/Perl6Grammar.pbc runtime/parrot/library/PGE/Perl6Grammar.pir
./parrot runtime/parrot/library/PGE/Perl6Grammar.pbc --output=compilers/tge/TGE/Parser.pir compilers/tge/TGE/Parser.pg
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "compilers/tge/TGE/Parser.pir" "[tge]"
./parrot -o runtime/parrot/library/TGE.pbc compilers/tge/TGE.pir
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/library/TGE.pbc" "[main]"
./parrot -o compilers/tge/tgc.pbc compilers/tge/tgc.pir
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "compilers/tge/tgc.pbc" "[main]"
./parrot -o runtime/parrot/library/PCT/Grammar.pbc compilers/pct/src/PCT/Grammar.pir
./parrot -o runtime/parrot/library/PCT.pbc compilers/pct/PCT.pir
./parrot runtime/parrot/library/PGE/Perl6Grammar.pbc --output=compilers/data_json/data_json/grammar.pir compilers/data_json/data_json/grammar.pg
./parrot compilers/tge/tgc.pbc --output=compilers/data_json/data_json/pge2pir.pir compilers/data_json/data_json/pge2pir.tg
./parrot -o compilers/data_json/data_json.pbc compilers/data_json/data_json.pir
mkdir -p runtime/parrot/languages/data_json
cp compilers/data_json/data_json.pbc runtime/parrot/languages/data_json/data_json.pbc
mkdir -p runtime/parrot/languages/JSON
./parrot-nqp --target=pir compilers/data_json/JSON.nqp > runtime/parrot/languages/JSON/JSON.pir
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Compiler.pir  compilers/opsc/src/Ops/Compiler.pm
./parrot runtime/parrot/library/nqp-rx.pbc --target=pir -o ext/nqp-rx/src/stage0/nqp-setting.pir ext/nqp-rx/src/stage0/nqp-setting.nqp
./parrot -o runtime/parrot/library/nqp-setting.pbc ext/nqp-rx/src/stage0/nqp-setting.pir
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Compiler/Actions.pir compilers/opsc/src/Ops/Compiler/Actions.pm
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Compiler/Grammar.pir compilers/opsc/src/Ops/Compiler/Grammar.pm
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Emitter.pir compilers/opsc/src/Ops/Emitter.pm
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Trans.pir compilers/opsc/src/Ops/Trans.pm
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Trans/C.pir compilers/opsc/src/Ops/Trans/C.pm
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Op.pir compilers/opsc/src/Ops/Op.pm
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/OpLib.pir  compilers/opsc/src/Ops/OpLib.pm
./parrot -o runtime/parrot/library/config.pbc runtime/parrot/library/config.pir
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/File.pir compilers/opsc/src/Ops/File.pm
./parrot -o runtime/parrot/library/opsc.pbc compilers/opsc/opsc.pir
./parrot-nqp --target=pir compilers/opsc/ops2c.nqp >parrot-ops2c.pir
./parrot -o parrot-ops2c.pbc parrot-ops2c.pir
./pbc_to_exe parrot-ops2c.pbc
./parrot-ops2c --dynamic src/dynoplibs/obscure.ops --quiet
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynoplibs/. -Isrc -o src/dynoplibs/obscure_ops.o -c src/dynoplibs/obscure_ops.c
gcc -o runtime/parrot/dynext/obscure_ops.so \
  src/dynoplibs/obscure_ops.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/obscure_ops.so" "[library]"
./parrot-ops2c --dynamic src/dynoplibs/math.ops --quiet
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  \
  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Wno-unused-parameter \
  -Isrc/dynoplibs/. -o src/dynoplibs/math_ops.o -c src/dynoplibs/math_ops.c
gcc -o runtime/parrot/dynext/math_ops.so \
  src/dynoplibs/math_ops.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/math_ops.so" "[library]"
./parrot-ops2c --dynamic src/dynoplibs/trans.ops --quiet
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynoplibs/. -Isrc -o src/dynoplibs/trans_ops.o -c src/dynoplibs/trans_ops.c
gcc -o runtime/parrot/dynext/trans_ops.so \
  src/dynoplibs/trans_ops.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/trans_ops.so" "[library]"
./parrot-ops2c --dynamic src/dynoplibs/bit.ops --quiet
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynoplibs/. -Isrc -o src/dynoplibs/bit_ops.o -c src/dynoplibs/bit_ops.c
gcc -o runtime/parrot/dynext/bit_ops.so \
  src/dynoplibs/bit_ops.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/bit_ops.so" "[library]"
./parrot-ops2c --dynamic src/dynoplibs/debug.ops --quiet
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynoplibs/. -Isrc -o src/dynoplibs/debug_ops.o -c src/dynoplibs/debug_ops.c
gcc -o runtime/parrot/dynext/debug_ops.so \
  src/dynoplibs/debug_ops.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/debug_ops.so" "[library]"
./parrot-ops2c --dynamic src/dynoplibs/sys.ops --quiet
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynoplibs/. -Isrc -o src/dynoplibs/sys_ops.o -c src/dynoplibs/sys_ops.c
gcc -o runtime/parrot/dynext/sys_ops.so \
  src/dynoplibs/sys_ops.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/sys_ops.so" "[library]"
./parrot-ops2c --dynamic src/dynoplibs/io.ops --quiet
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/dynoplibs/. -Isrc -o src/dynoplibs/io_ops.o -c src/dynoplibs/io_ops.c
gcc -o runtime/parrot/dynext/io_ops.so \
  src/dynoplibs/io_ops.o -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/dynext/io_ops.so" "[library]"
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/nci_test.o -c src/nci_test.c
gcc -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags \
-o runtime/parrot/dynext/libnci_test.so src/nci_test.o -lcurses -lm -lrt -lgmp -lreadline 
./parrot -o runtime/parrot/library/Archive/Tar.pbc runtime/parrot/library/Archive/Tar.pir
./parrot -o runtime/parrot/library/Archive/Zip.pbc runtime/parrot/library/Archive/Zip.pir
./parrot -o runtime/parrot/library/CGI/QueryHash.pbc runtime/parrot/library/CGI/QueryHash.pir
./parrot -o runtime/parrot/library/Crow.pbc runtime/parrot/library/Crow.pir
./parrot -o runtime/parrot/library/Configure/genfile.pbc runtime/parrot/library/Configure/genfile.pir
./parrot -o runtime/parrot/library/Config/JSON.pbc runtime/parrot/library/Config/JSON.pir
./parrot -o runtime/parrot/library/Data/Dumper/Base.pbc runtime/parrot/library/Data/Dumper/Base.pir
./parrot -o runtime/parrot/library/Data/Dumper/Default.pbc runtime/parrot/library/Data/Dumper/Default.pir
./parrot -o runtime/parrot/library/Data/Dumper.pbc runtime/parrot/library/Data/Dumper.pir
./parrot -o runtime/parrot/library/Digest/MD5.pbc runtime/parrot/library/Digest/MD5.pir
./parrot -o runtime/parrot/library/Digest/sha256.pbc runtime/parrot/library/Digest/sha256.pir
./parrot -o runtime/parrot/library/distutils.pbc runtime/parrot/library/distutils.pir
./parrot -o runtime/parrot/library/yaml_dumper.pbc runtime/parrot/library/yaml_dumper.pir
./parrot-nqp --target=pir runtime/parrot/library/YAML/Tiny.pm > runtime/parrot/library/YAML/Tiny.pir
./parrot -o runtime/parrot/library/YAML/Tiny.pbc runtime/parrot/library/YAML/Tiny.pir
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/library/YAML/Tiny.pbc" "[main]"
./parrot -o runtime/parrot/library/HTTP/Message.pbc runtime/parrot/library/HTTP/Message.pir
./parrot -o runtime/parrot/library/Iter.pbc runtime/parrot/library/Iter.pir
./parrot -o runtime/parrot/library/JSON.pbc runtime/parrot/library/JSON.pir
./parrot -o runtime/parrot/library/LWP/Protocol.pbc runtime/parrot/library/LWP/Protocol.pir
./parrot -o runtime/parrot/library/LWP/UserAgent.pbc runtime/parrot/library/LWP/UserAgent.pir
./parrot -o runtime/parrot/library/Math/Rand.pbc runtime/parrot/library/Math/Rand.pir
./parrot -o runtime/parrot/library/MIME/Base64.pbc runtime/parrot/library/MIME/Base64.pir
./parrot -o runtime/parrot/library/NCI/Utils.pbc runtime/parrot/library/NCI/Utils.pir
./parrot -o runtime/parrot/library/ncurses.pbc runtime/parrot/library/ncurses.pir
./parrot -o runtime/parrot/library/osutils.pbc runtime/parrot/library/osutils.pir
./parrot-nqp --target=pir runtime/parrot/library/ProfTest/PIRProfile.nqp > runtime/parrot/library/ProfTest/PIRProfile.pir
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/library/ProfTest/PIRProfile.pir" "[main]"
./parrot -o runtime/parrot/library/ProfTest/PIRProfile.pbc runtime/parrot/library/ProfTest/PIRProfile.pir
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/library/ProfTest/PIRProfile.pbc" "[main]"
./parrot-nqp --target=pir runtime/parrot/library/ProfTest/NQPProfile.nqp > runtime/parrot/library/ProfTest/NQPProfile.pir
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/library/ProfTest/NQPProfile.pir" "[main]"
./parrot -o runtime/parrot/library/ProfTest/NQPProfile.pbc runtime/parrot/library/ProfTest/NQPProfile.pir
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/library/ProfTest/NQPProfile.pbc" "[main]"
./parrot-nqp --target=pir runtime/parrot/library/ProfTest/Matcher.nqp > runtime/parrot/library/ProfTest/Matcher.pir
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/library/ProfTest/Matcher.pir" "[main]"
./parrot -o runtime/parrot/library/ProfTest/Matcher.pbc runtime/parrot/library/ProfTest/Matcher.pir
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/library/ProfTest/Matcher.pbc" "[main]"
./parrot-nqp --target=pir runtime/parrot/library/ProfTest/Want.nqp > runtime/parrot/library/ProfTest/Want.pir
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/library/ProfTest/Want.pir" "[main]"
./parrot -o runtime/parrot/library/ProfTest/Want.pbc runtime/parrot/library/ProfTest/Want.pir
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/library/ProfTest/Want.pbc" "[main]"
./pbc_merge -o runtime/parrot/library/ProfTest.pbc runtime/parrot/library/ProfTest/PIRProfile.pbc \
  runtime/parrot/library/ProfTest/NQPProfile.pbc runtime/parrot/library/ProfTest/Matcher.pbc \
  runtime/parrot/library/ProfTest/Want.pbc
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "runtime/parrot/library/ProfTest.pbc" "[main]"
./parrot -o runtime/parrot/library/parrotlib.pbc runtime/parrot/library/parrotlib.pir
./parrot -o runtime/parrot/library/pcore.pbc runtime/parrot/library/pcore.pir
./parrot -o runtime/parrot/library/pcre.pbc runtime/parrot/library/pcre.pir
./parrot -o runtime/parrot/library/Parrot/Coroutine.pbc runtime/parrot/library/Parrot/Coroutine.pir
./parrot -o runtime/parrot/library/PGE/Hs.pbc runtime/parrot/library/PGE/Hs.pir
./parrot -o runtime/parrot/library/PGE/Glob.pbc runtime/parrot/library/PGE/Glob.pir
./parrot -o runtime/parrot/library/Range.pbc runtime/parrot/library/Range.pir
./parrot -o runtime/parrot/library/Stream/Base.pbc runtime/parrot/library/Stream/Base.pir
./parrot -o runtime/parrot/library/Stream/Combiner.pbc runtime/parrot/library/Stream/Combiner.pir
./parrot -o runtime/parrot/library/Stream/Coroutine.pbc runtime/parrot/library/Stream/Coroutine.pir
./parrot -o runtime/parrot/library/Stream/Filter.pbc runtime/parrot/library/Stream/Filter.pir
./parrot -o runtime/parrot/library/Stream/Lines.pbc runtime/parrot/library/Stream/Lines.pir
./parrot -o runtime/parrot/library/Stream/ParrotIO.pbc runtime/parrot/library/Stream/ParrotIO.pir
./parrot -o runtime/parrot/library/Stream/Replay.pbc runtime/parrot/library/Stream/Replay.pir
./parrot -o runtime/parrot/library/Stream/Sub.pbc runtime/parrot/library/Stream/Sub.pir
./parrot -o runtime/parrot/library/Stream/Writer.pbc runtime/parrot/library/Stream/Writer.pir
./parrot -o runtime/parrot/library/String/Utils.pbc runtime/parrot/library/String/Utils.pir
./parrot -o runtime/parrot/library/TAP/Formatter.pbc runtime/parrot/library/TAP/Formatter.pir
./parrot -o runtime/parrot/library/TAP/Harness.pbc runtime/parrot/library/TAP/Harness.pir
./parrot -o runtime/parrot/library/TAP/Parser.pbc runtime/parrot/library/TAP/Parser.pir
./parrot -o runtime/parrot/library/Test/Builder/Output.pbc runtime/parrot/library/Test/Builder/Output.pir
./parrot -o runtime/parrot/library/Test/Builder/Test.pbc runtime/parrot/library/Test/Builder/Test.pir
./parrot -o runtime/parrot/library/Test/Builder/Tester.pbc runtime/parrot/library/Test/Builder/Tester.pir
./parrot -o runtime/parrot/library/Test/Builder/TestPlan.pbc runtime/parrot/library/Test/Builder/TestPlan.pir
./parrot -o runtime/parrot/library/Test/Builder.pbc runtime/parrot/library/Test/Builder.pir
./parrot -o runtime/parrot/library/Test/Class.pbc runtime/parrot/library/Test/Class.pir
./parrot -o runtime/parrot/library/TclLibrary.pbc runtime/parrot/library/TclLibrary.pir
./parrot -o runtime/parrot/library/URI.pbc runtime/parrot/library/URI.pir
./parrot -o runtime/parrot/library/URI/Escape.pbc runtime/parrot/library/URI/Escape.pir
./parrot -o runtime/parrot/library/uuid.pbc runtime/parrot/library/uuid.pir
./parrot -o runtime/parrot/library/YAML/Dumper/Base.pbc runtime/parrot/library/YAML/Dumper/Base.pir
./parrot -o runtime/parrot/library/YAML/Dumper/Default.pbc runtime/parrot/library/YAML/Dumper/Default.pir
./parrot -o runtime/parrot/library/YAML/Dumper.pbc runtime/parrot/library/YAML/Dumper.pir
./parrot -o runtime/parrot/library/libpcre.pbc runtime/parrot/library/libpcre.pir
./parrot -o runtime/parrot/library/postgres.pbc runtime/parrot/library/postgres.pir
Invoking Parrot to generate install_config.fpmc
./parrot config_lib.pir --install > install_config.fpmc
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "install_config.fpmc" "[main]" lib
/usr/bin/perl5.34.0 tools/build/parrot_config_c.pl --install > src/install_config.c
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "src/install_config.o" "[main]" lib
gcc -I./include -I./include/pmc  -D_GNU_SOURCE -DHAS_GETTEXT -g  -fPIC  -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -Wall -Wextra -Waggregate-return -Wcast-qual -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wno-format -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wjump-misses-init -Wlogical-op -Werror=missing-braces -Werror=missing-declarations -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Werror=undef -Wno-unused -Wvariadic-macros -Wwrite-strings -Wstack-usage=500 -Wc++-compat -Werror=declaration-after-statement -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=nested-externs -Werror=old-style-definition -Werror=strict-prototypes -fvisibility=hidden -Isrc/. -Isrc -o src/install_config.o -c src/install_config.c
++ pwd
+ export LD_LIBRARY_PATH=/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib
+ LD_LIBRARY_PATH=/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib
+ /usr/bin/make parrot_utils 'LDFLAGS= -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags'
./parrot -o parrot-prove.pbc runtime/parrot/bin/prove.pir
./pbc_to_exe parrot-prove.pbc
+ /usr/bin/make installable 'LDFLAGS= -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags'
gmake -C docs
gmake[1]: Entering directory '/home/iurt/rpmbuild/BUILD/parrot-8.1.0/docs'
mkdir -p ops
touch doc-prep
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/packfile/api.c packfile-c.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/packfile-c.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/ops/bit.ops ops/bit.pod
chmod 0644 ops/bit.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/bit.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/ops/cmp.ops ops/cmp.pod
chmod 0644 ops/cmp.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/cmp.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/ops/core.ops ops/core.pod
chmod 0644 ops/core.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/core.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/ops/experimental.ops ops/experimental.pod
chmod 0644 ops/experimental.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/experimental.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/ops/io.ops ops/io.pod
chmod 0644 ops/io.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/io.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/ops/math.ops ops/math.pod
chmod 0644 ops/math.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/math.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/ops/object.ops ops/object.pod
chmod 0644 ops/object.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/object.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/ops/pmc.ops ops/pmc.pod
chmod 0644 ops/pmc.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/pmc.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/ops/set.ops ops/set.pod
chmod 0644 ops/set.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/set.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/ops/string.ops ops/string.pod
chmod 0644 ops/string.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/string.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/ops/sys.ops ops/sys.pod
chmod 0644 ops/sys.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/sys.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/build/podextract.pl ../src/ops/var.ops ops/var.pod
chmod 0644 ops/var.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/var.pod" "[doc]"
/usr/bin/perl5.34.0 ../tools/docs/ops_summary.pl > ops/index.pod
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/ops/index.pod" "[doc]"
/usr/bin/pod2man binaries/parrot.pod > binaries/parrot.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/parrot.1" "[main]" man
/usr/bin/pod2man binaries/parrotbug.pod > binaries/parrotbug.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/parrotbug.1" "[main]" man
/usr/bin/pod2man binaries/parrot_config.pod > binaries/parrot_config.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/parrot_config.1" "[main]" man
/usr/bin/pod2man binaries/parrot_nci_thunk_gen.pod > binaries/parrot_nci_thunk_gen.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/parrot_nci_thunk_gen.1" "[main]" man
/usr/bin/pod2man binaries/parrot-nqp.pod > binaries/parrot-nqp.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/parrot-nqp.1" "[main]" man
/usr/bin/pod2man binaries/parrot-ops2c.pod > binaries/parrot-ops2c.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/parrot-ops2c.1" "[main]" man
/usr/bin/pod2man binaries/parrot-prove.pod > binaries/parrot-prove.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/parrot-prove.1" "[main]" man
/usr/bin/pod2man ../frontend/pbc_disassemble/main.c > binaries/pbc_disassemble.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/pbc_disassemble.1" "[main]" man
/usr/bin/pod2man ../frontend/pbc_dump/main.c > binaries/pbc_dump.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/pbc_dump.1" "[main]" man
/usr/bin/pod2man ../frontend/pbc_merge/main.c > binaries/pbc_merge.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/pbc_merge.1" "[main]" man
/usr/bin/pod2man binaries/pbc_to_exe.pod > binaries/pbc_to_exe.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/pbc_to_exe.1" "[main]" man
/usr/bin/pod2man binaries/plumage.pod > binaries/plumage.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/plumage.1" "[main]" man
/usr/bin/pod2man binaries/winxed.pod > binaries/winxed.1
/usr/bin/perl5.34.0 ../tools/build/addgenerated.pl "docs/binaries/winxed.1" "[main]" man
gmake[1]: Leaving directory '/home/iurt/rpmbuild/BUILD/parrot-8.1.0/docs'
mkdir -p blib/lib
gcc -lpthread -shared -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -L/usr/local/lib -fstack-protector-strong -fPIC -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o blib/lib/inst_libparrot.so.8.1.0  \
  src/string/api.o src/ops/core_ops.o src/core_pmcs.o src/datatypes.o src/debug.o src/disassemble.o src/dynext.o src/embed/api.o src/embed/bytecode.o src/embed/strings.o src/embed/pmc.o src/string/encoding.o src/exceptions.o src/exit.o src/extend.o src/extend_vtable.o src/alarm.o src/gc/alloc_memory.o src/gc/alloc_resources.o src/gc/api.o src/gc/gc_ms.o src/gc/gc_inf.o src/gc/gc_ms2.o src/gc/gc_gms.o src/gc/mark_sweep.o src/gc/system.o src/gc/fixed_allocator.o src/gc/variable_size_pool.o src/gc/string_gc.o src/global_setup.o src/hash.o src/hll.o src/call/pcc.o src/call/args.o src/interp/inter_cb.o src/interp/api.o src/call/ops.o src/call/context.o src/call/context_accessors.o src/key.o src/library.o src/list.o src/pointer_array.o src/string/sprintf.o src/multidispatch.o src/namespace.o src/nci/api.o src/nci/signatures.o src/nci/core_thunks.o src/nci/extra_thunks.o src/oo.o src/packfile/object_serialization.o src/pmc.o src/runcore/main.o src/runcore/cores.o src/runcore/profiling.o src/runcore/subprof.o src/scheduler.o src/thread.o src/events.o src/string/spf_render.o src/string/spf_vtable.o src/string/namealias.o src/sub.o src/runcore/trace.o src/utils.o src/vtables.o src/warnings.o src/packfile/api.o src/packfile/output.o src/packfile/pf_items.o src/packfile/segments.o src/longopt.o src/platform/generic/io.o src/platform/generic/socket.o src/platform/generic/file.o src/platform/generic/time.o src/platform/generic/encoding.o src/platform/generic/env.o src/platform/generic/cpu_type.o src/platform/generic/num_cpus.o src/platform/generic/dl.o src/platform/generic/math.o src/platform/generic/itimer.o src/platform/generic/exec.o src/platform/generic/misc.o src/platform/generic/hires_timer.o src/platform/generic/sysmem.o src/platform/generic/uid.o src/platform/generic/error.o src/platform/generic/entropy.o  src/io/api.o src/io/buffer.o src/io/filehandle.o src/io/socket.o src/io/stringhandle.o src/io/pipe.o src/io/userhandle.o src/io/utilities.o  src/pmc/default.o src/pmc/null.o src/pmc/env.o src/pmc/key.o src/pmc/unmanagedstruct.o src/pmc/managedstruct.o src/pmc/exception.o src/pmc/parrotlibrary.o src/pmc/parrotinterpreter.o src/pmc/lexpad.o src/pmc/timer.o src/pmc/pointer.o src/pmc/sub.o src/pmc/continuation.o src/pmc/coroutine.o src/pmc/nci.o src/pmc/float.o src/pmc/integer.o src/pmc/bigint.o src/pmc/bignum.o src/pmc/complex.o src/pmc/string.o src/pmc/boolean.o src/pmc/fixedintegerarray.o src/pmc/iterator.o src/pmc/fixedstringarray.o src/pmc/hash.o src/pmc/orderedhash.o src/pmc/oplib.o src/pmc/opcode.o src/pmc/callcontext.o src/pmc/addrregistry.o src/pmc/alarm.o src/pmc/arrayiterator.o src/pmc/bytebuffer.o src/pmc/callback.o src/pmc/capture.o src/pmc/class.o src/pmc/eventhandler.o src/pmc/exceptionhandler.o src/pmc/exporter.o src/pmc/filehandle.o src/pmc/fixedbooleanarray.o src/pmc/fixedfloatarray.o src/pmc/fixedpmcarray.o src/pmc/handle.o src/pmc/hashiterator.o src/pmc/hashiteratorkey.o src/pmc/imageiofreeze.o src/pmc/imageiosize.o src/pmc/imageiostrings.o src/pmc/imageiothaw.o src/pmc/imccompiler.o src/pmc/lexinfo.o src/pmc/mappedbytearray.o src/pmc/multisub.o src/pmc/namespace.o src/pmc/nativepccmethod.o src/pmc/object.o src/pmc/orderedhashiterator.o src/pmc/os.o src/pmc/packfile.o src/pmc/packfileannotation.o src/pmc/packfileannotations.o src/pmc/packfilebytecodesegment.o src/pmc/packfileconstanttable.o src/pmc/packfiledebug.o src/pmc/packfiledirectory.o src/pmc/packfileopmap.o src/pmc/packfilerawsegment.o src/pmc/packfilesegment.o src/pmc/packfileview.o src/pmc/pmclist.o src/pmc/pmcproxy.o src/pmc/proxy.o src/pmc/ptr.o src/pmc/ptrbuf.o src/pmc/ptrobj.o src/pmc/resizablebooleanarray.o src/pmc/resizablefloatarray.o src/pmc/resizableintegerarray.o src/pmc/resizablepmcarray.o src/pmc/resizablestringarray.o src/pmc/role.o src/pmc/scalar.o src/pmc/scheduler.o src/pmc/schedulermessage.o src/pmc/sockaddr.o src/pmc/socket.o src/pmc/stringbuilder.o src/pmc/stringhandle.o src/pmc/stringiterator.o src/pmc/structview.o src/pmc/task.o src/pmc/undef.o src/string/encoding/shared.o src/string/encoding/tables.o src/string/encoding/null.o src/string/encoding/ascii.o src/string/encoding/latin1.o src/string/encoding/binary.o src/string/encoding/utf8.o src/string/encoding/utf16.o src/string/encoding/ucs2.o src/string/encoding/ucs4.o compilers/imcc/imcparser.o compilers/imcc/imclexer.o compilers/imcc/imc.o compilers/imcc/main.o compilers/imcc/symreg.o compilers/imcc/instructions.o compilers/imcc/cfg.o compilers/imcc/reg_alloc.o compilers/imcc/sets.o compilers/imcc/debug.o compilers/imcc/optimizer.o compilers/imcc/pbc.o compilers/imcc/parser_util.o compilers/imcc/pcc.o compilers/imcc/api.o -lcurses -lm -lrt -lgmp -lreadline  -L/usr/lib64  -licuuc -licudata 
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "blib/lib/inst_libparrot.so.8.1.0" "[main]" lib
gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o installable_parrot \
  frontend/parrot2/main.o src/install_config.o \
  frontend/parrot2/prt0.pbc.o -Wl,-rpath="/usr/lib64" -L"/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -lparrot -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -fstack-protector-strong -L/usr/local/lib -Wl,-E  
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "installable_parrot" "[main]" bin
gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o installable_pbc_dump \
  frontend/pbc_dump/main.o \
  frontend/pbc_dump/packdump.o \
  -Wl,-rpath="/usr/lib64" -L"/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -lparrot -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -fstack-protector-strong -L/usr/local/lib -Wl,-E  
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "installable_pbc_dump" "[main]" bin
gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o installable_pbc_disassemble \
  frontend/pbc_disassemble/main.o \
  -Wl,-rpath="/usr/lib64" -L"/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -lparrot -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -fstack-protector-strong -L/usr/local/lib -Wl,-E  
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "installable_pbc_disassemble" "[main]" bin
gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o installable_parrot_debugger \
  frontend/parrot_debugger/main.o \
  src/install_config.o \
  -Wl,-rpath="/usr/lib64" -L"/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -lparrot -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -fstack-protector-strong -L/usr/local/lib -Wl,-E  
/usr/bin/perl5.34.0 tools/build/addgenerated.pl installable_parrot_debugger [main] bin
./parrot -o parrot_config.pbc tools/dev/parrot-config.pir
./pbc_to_exe parrot_config.pbc --install
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "installable_parrot_config" "[main]" bin
gcc  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -o installable_pbc_merge \
  frontend/pbc_merge/main.o \
  src/install_config.o \
  -Wl,-rpath="/usr/lib64" -L"/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib" -lparrot -L/usr/lib64  -licuuc -licudata  -lcurses -lm -lrt -lgmp -lreadline  -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags -fstack-protector-strong -L/usr/local/lib -Wl,-E  
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "installable_pbc_merge" "[main]" bin
./pbc_to_exe pbc_to_exe.pbc --install
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "installable_pbc_to_exe" "[main]" bin
./pbc_to_exe parrot-nqp.pbc --install
./parrot -o parrot_nci_thunk_gen.pbc tools/dev/nci_thunk_gen.pir
./pbc_to_exe parrot_nci_thunk_gen.pbc --install
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "installable_parrot_nci_thunk_gen" "[main]" bin
./pbc_to_exe parrot-prove.pbc --install
/usr/bin/perl5.34.0 tools/build/addgenerated.pl "installable_parrot-prove" "[main]" bin
./pbc_to_exe parrot-ops2c.pbc --install
./pbc_to_exe winxed.pbc --install
+ /usr/bin/make -O -j8 V=1 VERBOSE=1 html
gmake -C docs html
gmake[1]: Entering directory '/home/iurt/rpmbuild/BUILD/parrot-8.1.0/docs'
/usr/bin/perl5.34.0 -I../lib ../tools/docs/mk_html_docs.pl --version=8.1.0
gmake[1]: Leaving directory '/home/iurt/rpmbuild/BUILD/parrot-8.1.0/docs'
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%install): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.Pswkdt
+ umask 022
+ cd /home/iurt/rpmbuild/BUILD
+ '[' 1 -eq 1 ']'
+ '[' /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64 '!=' / ']'
+ rm -rf /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64
++ dirname /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64
+ mkdir -p /home/iurt/rpmbuild/BUILDROOT
+ mkdir /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64
+ cd parrot-8.1.0
+ '[' 1 -eq 1 ']'
++ pwd
+ export LD_LIBRARY_PATH=/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib
+ LD_LIBRARY_PATH=/home/iurt/rpmbuild/BUILD/parrot-8.1.0/blib/lib
+ /usr/bin/make install DESTDIR=/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64 'INSTALL=/usr/bin/install -p'
gmake -C docs
gmake[1]: Entering directory '/home/iurt/rpmbuild/BUILD/parrot-8.1.0/docs'
gmake[1]: Nothing to be done for 'all'.
gmake[1]: Leaving directory '/home/iurt/rpmbuild/BUILD/parrot-8.1.0/docs'
/usr/bin/perl5.34.0 tools/dev/install_files.pl \
--buildprefix= \
--prefix="/usr" \
--exec-prefix="/usr" \
--bindir="/usr/bin" \
--libdir="/usr/lib64" \
--includedir="/usr/include" \
--destdir=/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64 \
--datadir="/usr/share" \
--docdir="/usr/share/doc" \
--mandir="/usr/share/man" \
--versiondir="/parrot/8.1.0" \
MANIFEST MANIFEST.generated
Installing ...
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/parrot/8.1.0/MANIFEST
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/doc/parrot/8.1.0/CREDITS
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/doc/parrot/8.1.0/DONORS.pod
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/doc/parrot/8.1.0/LICENSE
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/doc/parrot/8.1.0/PBC_COMPAT
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/doc/parrot/8.1.0/RESPONSIBLE_PARTIES
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pge/Defines.mak
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pge/P6Rule.grammar
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pge/PGE.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pge/PGE/Exp.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pge/PGE/Match.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pge/PGE/OPTable.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pge/PGE/P5Regex.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pge/PGE/Perl6Regex.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pge/PGE/Regex.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pge/PGE/builtins.pg
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pge/Rules.mak
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pge/STATUS
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/imcc/api.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/imcc/embed.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/imcc/yyscanner.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/alarm.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/api.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/atomic.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/atomic/fallback.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/atomic/gcc_ppc.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/atomic/gcc_x86.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/atomic/sparc.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/caches.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/call.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/cclass.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/compiler.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/context.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/core_types.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/datatypes.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/debugger.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/disassemble.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/dynext.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/encoding.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/enums.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/events.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/exceptions.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/exit.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/extend.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/gc_api.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/global_setup.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/hash.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/hll.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/imageio.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/interpreter.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/io.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/key.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/library.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/list.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/longopt.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/memory.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/misc.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/multidispatch.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/namealias.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/namespace.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/nci.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/oo.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/oo_private.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/op.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/oplib.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/oplib/core_ops.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/oplib/ops.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/opsenum.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/packfile.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/parrot.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/platform_interface.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/pmc.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/pmc_freeze.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/pobj.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/pointer_array.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/runcore_api.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/runcore_profiling.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/runcore_subprof.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/runcore_trace.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/scheduler.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/scheduler_private.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/settings.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/string.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/string_funcs.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/sub.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/thr_none.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/thr_pthread.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/thr_windows.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/thread.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/vtables.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/warnings.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/dummy
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/bin/prove.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/fp_equality.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/green_threads.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/hllmacros.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/test_more.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/parrot/parrot.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Archive/Tar.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Archive/Zip.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/CGI/QueryHash.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Config/JSON.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Configure/genfile.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Crow.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Curses.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Data/Dumper.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Data/Dumper/Base.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Data/Dumper/Default.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Digest/MD5.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Digest/sha256.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Getopt/Obj.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/HTTP/Daemon.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/HTTP/Message.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Iter.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/JSON.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/LWP/Protocol.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/LWP/UserAgent.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/MIME/Base64.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Math/Rand.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/NCI/Utils.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/OpenGL.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/OpenGL/Math.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/P6object.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE/Dumper.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE/Glob.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE/Hs.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE/Perl6Grammar.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE/Text.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE/Util.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Parrot/Coroutine.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Parrot/Exception.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Pg.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest/Matcher.nqp
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest/NQPProfile.nqp
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest/PIRProfile.nqp
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest/Want.nqp
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Range.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Rules.mak
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/App.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/Button.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/Color.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/Constants.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/Event.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/EventHandler.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/Font.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/Image.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/LCD.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/LCD.png
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/Rect.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/Sprite.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/StopWatch.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/SDL/Surface.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Base.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Combiner.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Coroutine.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Filter.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Lines.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/ParrotIO.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Replay.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Sub.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Writer.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/String/Utils.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/TAP/Formatter.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/TAP/Harness.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/TAP/Parser.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/TclLibrary.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/Builder.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/Builder/Output.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/Builder/Test.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/Builder/TestPlan.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/Builder/Tester.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/Class.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/More.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/URI.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/URI/Escape.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/YAML/Dumper.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/YAML/Dumper/Base.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/YAML/Dumper/Default.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/YAML/Tiny.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/crypto.declarations
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/distutils.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/dumper.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/libpcre.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ncurses.declarations
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ncurses.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/openssl.declarations
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/osutils.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/parrotlib.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/pcore.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/pcre.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/postgres.declarations
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/postgres.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/uuid.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/yaml_dumper.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/config.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/feature.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/has_header.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/core_pmcs.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/pbcversion.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/vtable.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/parrot/extend_vtable.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/libparrot.a
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/libparrot.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/libparrot.so.8.1.0
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/datatypes.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/cclass.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/iterator.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/call_bits.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/timer.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/except_types.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/except_severity.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/hash_key_type.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/interpflags.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/interpdebug.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/interptrace.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/interpcores.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/cloneflags.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/iglobals.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/sysinfo.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/stdio.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/socket.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/libpaths.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/dlopenflags.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/longopt.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/packfile_annotation_keytype.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/stat.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/stringinfo.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/warnings.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/errors.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/interpinfo.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/tm.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/pmctypes.pasm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/parrotlib.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/select.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/dynlexpad.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/file.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/os.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/rational.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/subproxy.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/More.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Regex.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/HLL.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/P6Regex.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/P6object.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE/Dumper.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Parrot/Exception.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Getopt/Obj.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/dumper.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PCT/Dumper.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PCT/HLLCompiler.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PCT/PAST.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE/Util.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE/Text.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE/Perl6Grammar.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/TGE.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/tge/tgc.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PCT/Grammar.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PCT.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/config.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/opsc.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/obscure_ops.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/math_ops.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/trans_ops.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/bit_ops.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/debug_ops.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/sys_ops.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/io_ops.so
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Archive/Tar.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Archive/Zip.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/CGI/QueryHash.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Crow.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Configure/genfile.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Config/JSON.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Data/Dumper/Base.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Data/Dumper/Default.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Data/Dumper.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Digest/MD5.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Digest/sha256.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/distutils.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/yaml_dumper.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/YAML/Tiny.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/HTTP/Message.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Iter.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/JSON.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/LWP/Protocol.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/LWP/UserAgent.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Math/Rand.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/MIME/Base64.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/NCI/Utils.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ncurses.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/osutils.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest/PIRProfile.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest/PIRProfile.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest/NQPProfile.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest/NQPProfile.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest/Matcher.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest/Matcher.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest/Want.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest/Want.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/ProfTest.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/parrotlib.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/pcore.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/pcre.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Parrot/Coroutine.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE/Hs.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/PGE/Glob.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Range.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Base.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Combiner.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Coroutine.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Filter.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Lines.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/ParrotIO.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Replay.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Sub.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Stream/Writer.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/String/Utils.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/TAP/Formatter.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/TAP/Harness.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/TAP/Parser.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/Builder/Output.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/Builder/Test.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/Builder/Tester.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/Builder/TestPlan.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/Builder.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/Test/Class.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/TclLibrary.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/URI.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/URI/Escape.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/uuid.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/YAML/Dumper/Base.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/YAML/Dumper/Default.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/YAML/Dumper.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/libpcre.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/postgres.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/include/config.fpmc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/parrot_config.o
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/parrot.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/parrotbug.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/parrot_config.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/parrot_nci_thunk_gen.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/parrot-nqp.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/parrot-ops2c.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/parrot-prove.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/pbc_disassemble.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/pbc_dump.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/pbc_merge.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/pbc_to_exe.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/plumage.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/man/man1/winxed.1
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/inst_libparrot.so.8.1.0
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/parrot
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/pbc_dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/pbc_disassemble
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/parrot_config
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/pbc_merge
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/pbc_to_exe
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/parrot-nqp
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/parrot_nci_thunk_gen
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/parrot-prove
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/parrot-ops2c
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/winxed
Finished install_files.pl
gmake -C docs man
gmake[1]: Entering directory '/home/iurt/rpmbuild/BUILD/parrot-8.1.0/docs'
gmake[1]: Nothing to be done for 'man'.
gmake[1]: Leaving directory '/home/iurt/rpmbuild/BUILD/parrot-8.1.0/docs'
/usr/bin/perl5.34.0 tools/dev/install_dev_files.pl \
--buildprefix= \
--prefix="/usr" \
--exec-prefix="/usr" \
--bindir="/usr/bin" \
--libdir="/usr/lib64" \
--includedir="/usr/include" \
--destdir=/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64 \
--docdir="/usr/share/doc" \
--datadir="/usr/share" \
--srcdir="/usr/src" \
--versiondir="/parrot/8.1.0" \
MANIFEST MANIFEST.generated
Installing ...
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/parrot/8.1.0/MANIFEST.dev
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/doc/parrot/8.1.0/PLATFORMS
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/doc/parrot/8.1.0/README.pod
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/doc/parrot/8.1.0/README_cygwin.pod
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/doc/parrot/8.1.0/README_win32.pod
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/doc/parrot/8.1.0/TODO
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/VERSION
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/data_json/Defines.mak
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/data_json/JSON.nqp
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/data_json/Rules.mak
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/data_json/data_json.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/data_json/data_json/grammar.pg
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/data_json/data_json/pge2pir.tg
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pct/Defines.mak
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pct/PCT.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pct/Rules.mak
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pct/src/PAST.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pct/src/PAST/Compiler.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pct/src/PAST/Node.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pct/src/PCT/Dumper.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pct/src/PCT/Grammar.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pct/src/PCT/HLLCompiler.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pct/src/PCT/Node.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pct/src/POST/Compiler.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/pct/src/POST/Node.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/tge/Defines.mak
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/tge/Rules.mak
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/tge/TGE.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/tge/TGE/Compiler.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/tge/TGE/Grammar.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/tge/TGE/Parser.pg
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/tge/TGE/Rule.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/tge/TGE/Tree.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/tge/tgc.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/File/Which.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/BuildUtil.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Config.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Compiler.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Data.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Messages.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Options.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Options/Conf.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Options/Conf/CLI.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Options/Conf/File.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Options/Conf/Shared.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Options/Reconf.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Options/Test.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Options/Test/Prepare.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Step.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Step/List.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Step/Methods.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Step/Test.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Test.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Trace.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Configure/Utils.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Distribution.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Directory.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/File.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Group.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/HTMLPage.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Item.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/POD2HTML.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/PodToHtml.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/C.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/Compilers.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/Config.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/Developer.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/Examples.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/IMCC.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/Info.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/Libs.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/Ops.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/PCT_Tutorial.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/PDDs.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/PMCs.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/Parrot.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/Perl.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/Tests.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Section/Tools.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Docs/Text2HTML.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Git.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Git/Describe.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/H2inc.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Harness/DefaultTests.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Harness/Options.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Harness/Smoke.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Harness/TestSets.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Headerizer.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Headerizer/Functions.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/IO/Directory.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/IO/File.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/IO/Path.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Install.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Manifest.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/Dumper.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/Emitter.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/Library.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/Method.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/PCCMETHOD.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/PMC.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/PMC/Null.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/PMC/Object.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/PMC/PrintTree.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/PMC/Proxy.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/PMC/RO.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/PMC/default.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/Parser.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/Pmc2cMain.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/UtilFunctions.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/VTable.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/SHA1.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/SearchOps.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Test.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Test/Harness.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Test/PGE.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Test/Pod.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Test/Pod/Utils.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Test/Util.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Test/Util/Runloop.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Vtable.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/vtable.tbl
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/build/ops2c.pl
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/build/pmc2c.pl
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/dev/create_language.pl
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/dev/gen_makefile.pl
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/dev/pprof2cg.pl
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/dev/reconfigure.pl
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/PMC.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/dev/mk_language_shell.pl
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/myconfig
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Config/Generated.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/config_lib.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools/lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/vtable.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/default.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/fixedintegerarray.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_fixedintegerarray.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/callcontext.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_callcontext.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_default.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/null.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_null.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/env.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_env.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/key.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_key.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/unmanagedstruct.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_unmanagedstruct.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/managedstruct.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_managedstruct.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/exception.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_exception.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/parrotlibrary.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_parrotlibrary.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/parrotinterpreter.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_parrotinterpreter.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/lexpad.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_lexpad.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/timer.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_timer.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/pointer.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_pointer.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/sub.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_sub.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/continuation.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_continuation.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/coroutine.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_coroutine.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/nci.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_nci.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/scalar.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/float.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_float.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/integer.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_integer.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/bigint.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_bigint.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/bignum.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_bignum.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/complex.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_complex.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/string.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_string.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/boolean.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_boolean.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/iterator.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_iterator.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/fixedstringarray.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_fixedstringarray.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/hash.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_hash.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/orderedhash.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_orderedhash.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/oplib.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_oplib.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/opcode.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_opcode.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/addrregistry.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_addrregistry.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/alarm.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_alarm.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/arrayiterator.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_arrayiterator.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/bytebuffer.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_bytebuffer.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/task.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/callback.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_callback.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/capture.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_capture.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/class.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_class.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/eventhandler.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_eventhandler.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/exceptionhandler.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_exceptionhandler.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/exporter.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_exporter.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/handle.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/filehandle.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_filehandle.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/fixedbooleanarray.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_fixedbooleanarray.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/fixedfloatarray.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_fixedfloatarray.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/fixedpmcarray.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_fixedpmcarray.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_handle.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/hashiterator.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_hashiterator.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/hashiteratorkey.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_hashiteratorkey.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/imageiofreeze.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_imageiofreeze.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/imageiosize.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_imageiosize.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/imageiostrings.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_imageiostrings.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/imageiothaw.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_imageiothaw.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/imccompiler.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_imccompiler.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/lexinfo.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_lexinfo.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/mappedbytearray.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_mappedbytearray.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/resizablepmcarray.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/multisub.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_multisub.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/namespace.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_namespace.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/nativepccmethod.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_nativepccmethod.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/object.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_object.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/orderedhashiterator.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_orderedhashiterator.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/os.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_os.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/packfile.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_packfile.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/packfileannotation.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_packfileannotation.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/packfilesegment.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/packfileannotations.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_packfileannotations.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/packfilerawsegment.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/packfilebytecodesegment.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_packfilebytecodesegment.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/packfileconstanttable.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_packfileconstanttable.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/packfiledebug.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_packfiledebug.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/packfiledirectory.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_packfiledirectory.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/packfileopmap.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_packfileopmap.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_packfilerawsegment.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_packfilesegment.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/packfileview.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_packfileview.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/pmclist.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_pmclist.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/pmcproxy.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_pmcproxy.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/proxy.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_proxy.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/ptr.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_ptr.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/ptrbuf.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_ptrbuf.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/ptrobj.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_ptrobj.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/resizablebooleanarray.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_resizablebooleanarray.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/resizablefloatarray.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_resizablefloatarray.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/resizableintegerarray.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_resizableintegerarray.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_resizablepmcarray.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/resizablestringarray.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_resizablestringarray.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/role.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_role.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_scalar.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/scheduler.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_scheduler.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/schedulermessage.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_schedulermessage.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/sockaddr.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_sockaddr.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/socket.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_socket.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/stringbuilder.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_stringbuilder.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/stringhandle.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_stringhandle.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/stringiterator.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_stringiterator.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/structview.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_structview.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_task.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/src/parrot/8.1.0/pmc/undef.dump
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/pmc/pmc_undef.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/dynpmc/pmc_select.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/dynpmc/pmc_dynlexpad.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/dynpmc/pmc_file.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/dynpmc/pmc_rational.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/include/parrot/8.1.0/dynpmc/pmc_subproxy.h
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/winxed/winxed.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/nqp-rx.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/tge/TGE/Parser.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/data_json/data_json.pbc
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/languages/JSON/JSON.pir
/home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/library/nqp-setting.pbc
Finished install_dev_files.pl
+ rm -rf /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/share/doc/parrot
+ find docs examples -type d -exec chmod 755 '{}' ';'
+ find docs examples -type f -exec chmod 644 '{}' ';'
+ find /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64 -type f '(' -name '*.so' -o -name '*.so.*' ')' -exec chmod 755 '{}' ';'
+ find /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/tools -type f -name '*.pl' -exec chmod 755 '{}' ';' -exec /usr/bin/sed -i -e '1 s&#! perl&#!/usr/bin/perl&' '{}' ';'
+ /usr/bin/find-debuginfo -j8 --strict-build-id -m -i --build-id-seed 8.1.0-12.mga9 --unique-debug-suffix -8.1.0-12.mga9.aarch64 --unique-debug-src-base parrot-8.1.0-12.mga9.aarch64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /home/iurt/rpmbuild/BUILD/parrot-8.1.0

extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/parrot-ops2c
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/pbc_disassemble
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/parrot-nqp
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/parrot_nci_thunk_gen
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/parrot-prove
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/parrot
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/parrot_config
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/pbc_dump
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/inst_libparrot.so.8.1.0
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/pbc_merge
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/winxed
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/bin/pbc_to_exe
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/bit_ops.so
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/libparrot.so.8.1.0
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/debug_ops.so
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/dynlexpad.so
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/file.so
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/io_ops.so
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/math_ops.so
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/obscure_ops.so
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/os.so
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/rational.so
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/select.so
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/subproxy.so
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/sys_ops.so
extracting debug info from /home/iurt/rpmbuild/BUILDROOT/parrot-8.1.0-12.mga9.aarch64/usr/lib64/parrot/8.1.0/dynext/trans_ops.so
dwz: ./usr/bin/parrot-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/bin/parrot-nqp-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/bin/parrot-ops2c-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/bin/parrot-prove-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/bin/parrot_config-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/bin/parrot_nci_thunk_gen-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/bin/pbc_disassemble-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/bin/pbc_dump-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/bin/pbc_merge-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/bin/pbc_to_exe-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/bin/winxed-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/inst_libparrot.so.8.1.0-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/libparrot.so.8.1.0-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/bit_ops.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/debug_ops.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/dynlexpad.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/file.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/io_ops.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/math_ops.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/obscure_ops.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/os.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/rational.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/select.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/subproxy.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/sys_ops.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: ./usr/lib64/parrot/8.1.0/dynext/trans_ops.so-8.1.0-12.mga9.aarch64.debug: Unknown debugging section .debug_line_str
dwz: Too few files for multifile optimization
original debug info size: 14940kB, size after compression: 14940kB
/usr/bin/sepdebugcrcfix: Updated 0 CRC32s, 26 CRC32s did match.
20636 blocks
+ /usr/lib/rpm/check-buildroot
+ '[' -n '' ']'
+ /usr/share/spec-helper/clean_files
+ '[' -n '' ']'
+ /usr/share/spec-helper/compress_files .xz
+ '[' -n '' ']'
+ /usr/share/spec-helper/relink_symlinks
+ '[' -n '' ']'
+ /usr/share/spec-helper/clean_perl
+ '[' -n '' ']'
+ /usr/share/spec-helper/lib_symlinks
+ '[' -n '' ']'
+ /usr/share/spec-helper/gprintify
+ '[' -n '' ']'
+ /usr/share/spec-helper/fix_mo
+ '[' -n '' ']'
+ /usr/share/spec-helper/fix_pamd
+ '[' -n '' ']'
+ /usr/share/spec-helper/remove_info_dir
+ '[' -n '' ']'
+ /usr/share/spec-helper/fix_eol
+ '[' -n '' ']'
+ /usr/share/spec-helper/check_desktop_files
+ '[' -n '' ']'
+ /usr/share/spec-helper/check_elf_files
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python3 1 0
+ /usr/lib/rpm/check-rpaths
*******************************************************************************
*
* WARNING: 'check-rpaths' detected a broken RPATH OR RUNPATH and will cause
*          'rpmbuild' to fail. To ignore these errors, you can set the
*          '$QA_RPATHS' environment variable which is a bitmask allowing the
*          values below. The current value of QA_RPATHS is 0x0000.
*
*    0x0001 ... standard RPATHs (e.g. /usr/lib); such RPATHs are a minor
*               issue but are introducing redundant searchpaths without
*               providing a benefit. They can also cause errors in multilib
*               environments.
*    0x0002 ... invalid RPATHs; these are RPATHs which are neither absolute
*               nor relative filenames and can therefore be a SECURITY risk
*    0x0004 ... insecure RPATHs; these are relative RPATHs which are a
*               SECURITY risk
*    0x0008 ... the special '$ORIGIN' RPATHs are appearing after other
*               RPATHs; this is just a minor issue but usually unwanted
*    0x0010 ... the RPATH is empty; there is no reason for such RPATHs
*               and they cause unneeded work while loading libraries
*    0x0020 ... an RPATH references '..' of an absolute path; this will break
*               the functionality when the path before '..' is a symlink
*          
*
* Examples:
* - to ignore standard and empty RPATHs, execute 'rpmbuild' like
*   $ QA_RPATHS=$(( 0x0001|0x0010 )) rpmbuild my-package.src.rpm
* - to check existing files, set $RPM_BUILD_ROOT and execute check-rpaths like
*   $ RPM_BUILD_ROOT=<top-dir> /usr/lib/rpm/check-rpaths
*  
*******************************************************************************
ERROR   0001: file '/usr/bin/winxed' contains a standard  '/usr/lib64' in [/usr/lib64]
ERROR   0001: file '/usr/bin/parrot-ops2c' contains a standard  '/usr/lib64' in [/usr/lib64]
ERROR   0001: file '/usr/bin/parrot-prove' contains a standard  '/usr/lib64' in [/usr/lib64]
ERROR   0001: file '/usr/bin/parrot_nci_thunk_gen' contains a standard  '/usr/lib64' in [/usr/lib64]
ERROR   0001: file '/usr/bin/parrot-nqp' contains a standard  '/usr/lib64' in [/usr/lib64]
ERROR   0001: file '/usr/bin/pbc_to_exe' contains a standard  '/usr/lib64' in [/usr/lib64]
ERROR   0001: file '/usr/bin/pbc_merge' contains a standard  '/usr/lib64' in [/usr/lib64]
ERROR   0001: file '/usr/bin/parrot_config' contains a standard  '/usr/lib64' in [/usr/lib64]
ERROR   0001: file '/usr/bin/pbc_disassemble' contains a standard  '/usr/lib64' in [/usr/lib64]
ERROR   0001: file '/usr/bin/pbc_dump' contains a standard  '/usr/lib64' in [/usr/lib64]
ERROR   0001: file '/usr/bin/parrot' contains a standard  '/usr/lib64' in [/usr/lib64]
error: Bad exit status from /home/iurt/rpmbuild/tmp/rpm-tmp.Pswkdt (%install)


RPM build errors:
    Found bdb_ro Packages database while attempting sqlite backend: using bdb_ro backend.
    Bad exit status from /home/iurt/rpmbuild/tmp/rpm-tmp.Pswkdt (%install)
I: [iurt_root_command] ERROR: chroot