* Package: dev-lang/parrot-8.1.0-r2 * Repository: gentoo * Maintainer: perl@gentoo.org * USE: abi_x86_64 amd64 elibc_musl gmp kernel_linux nls pcre ssl unicode userland_GNU * FEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox >>> Unpacking source... >>> Unpacking parrot-8.1.0.tar.gz to /var/tmp/portage/dev-lang/parrot-8.1.0-r2/work >>> Source unpacked in /var/tmp/portage/dev-lang/parrot-8.1.0-r2/work >>> Preparing source in /var/tmp/portage/dev-lang/parrot-8.1.0-r2/work/parrot-8.1.0 ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/dev-lang/parrot-8.1.0-r2/work/parrot-8.1.0 ... 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...Can't exec "/sbin/sysctl": No such file or directory at config/init/hints/linux.pm line 71. Use of uninitialized value $osvers in scalar chomp at config/init/hints/linux.pm line 72. Use of uninitialized value $linux_selections{"osvers"} in concatenation (.) or string at config/init/hints/linux.pm line 97. .............done. inter::progs - Determine what C compiler and linker to use........done. inter::make - Is make installed...................................yes. inter::lex - Is lex installed................................skipped. inter::yacc - Is yacc installed...............................skipped. auto::gcc - Is your C compiler actually gcc................yes, 9.3. auto::glibc - Is GNU libc installed................................no. auto::backtrace - Does libc have the backtrace* functions..............no. 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........................register. 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...................yes. 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.0. auto::readline - Does your platform support readline.................yes. auto::pcre - Does your platform support pcre...............yes, 8.44. auto::opengl - Does your platform support OpenGL...............skipped. auto::zlib - Does your platform support zlib.....................yes. auto::gettext - Does your configuration include gettext............done. 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...............yes. auto::pod2man - Is pod2man installed................................yes. auto::ctags - Is (exuberant) ctags installed......................yes. auto::icu - Is ICU installed..............................yes, 66.1. auto::libffi - Is libffi installed.................................yes. 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 >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-lang/parrot-8.1.0-r2/work/parrot-8.1.0 ... make -j1 -j1 /usr/bin/perl tools/build/h2inc.pl include/parrot/enums.h lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm /usr/bin/perl tools/build/addgenerated.pl "lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm" "[devel]" lib /usr/bin/perl tools/build/pbcversion_h.pl > include/parrot/pbcversion.h /usr/bin/perl tools/build/addgenerated.pl "include/parrot/pbcversion.h" "[main]" include /usr/bin/perl tools/build/vtable_h.pl /usr/bin/perl tools/build/addgenerated.pl "include/parrot/vtable.h" "[main]" include /usr/bin/perl -Ilib tools/build/pmc2c.pl --vtable /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/default.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/fixedintegerarray.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/fixedintegerarray.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/callcontext.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/callcontext.pmc /usr/bin/perl tools/build/c2str.pl src/string/api.c > src/string/api.str /usr/bin/perl tools/build/c2str.pl src/debug.c > src/debug.str /usr/bin/perl tools/build/c2str.pl src/dynext.c > src/dynext.str /usr/bin/perl tools/build/c2str.pl src/exceptions.c > src/exceptions.str /usr/bin/perl tools/build/c2str.pl src/global_setup.c > src/global_setup.str /usr/bin/perl tools/build/c2str.pl src/hll.c > src/hll.str /usr/bin/perl tools/build/c2str.pl src/call/pcc.c > src/call/pcc.str /usr/bin/perl tools/build/c2str.pl src/call/args.c > src/call/args.str /usr/bin/perl tools/build/c2str.pl src/interp/inter_cb.c > src/interp/inter_cb.str /usr/bin/perl tools/build/c2str.pl src/interp/api.c > src/interp/api.str /usr/bin/perl tools/build/c2str.pl src/io/api.c > src/io/api.str /usr/bin/perl tools/build/c2str.pl src/key.c > src/key.str /usr/bin/perl tools/build/c2str.pl src/library.c > src/library.str /usr/bin/perl tools/build/c2str.pl src/multidispatch.c > src/multidispatch.str /usr/bin/perl tools/build/c2str.pl src/namespace.c > src/namespace.str /usr/bin/perl tools/build/c2str.pl src/nci/api.c > src/nci/api.str /usr/bin/perl tools/build/c2str.pl src/nci/core_thunks.c > src/nci/core_thunks.str /usr/bin/perl tools/build/c2str.pl src/nci/extra_thunks.c > src/nci/extra_thunks.str /usr/bin/perl tools/build/c2str.pl src/nci/signatures.c > src/nci/signatures.str /usr/bin/perl tools/build/c2str.pl src/packfile/api.c > src/packfile/api.str /usr/bin/perl tools/build/c2str.pl src/packfile/segments.c > src/packfile/segments.str /usr/bin/perl tools/build/c2str.pl src/packfile/object_serialization.c > src/packfile/object_serialization.str /usr/bin/perl tools/build/c2str.pl src/packfile/pf_items.c > src/packfile/pf_items.str /usr/bin/perl tools/build/c2str.pl src/pmc.c > src/pmc.str /usr/bin/perl tools/build/c2str.pl src/oo.c > src/oo.str /usr/bin/perl tools/build/c2str.pl src/runcore/cores.c > src/runcore/cores.str /usr/bin/perl tools/build/c2str.pl src/runcore/main.c > src/runcore/main.str /usr/bin/perl tools/build/c2str.pl src/runcore/profiling.c > src/runcore/profiling.str /usr/bin/perl tools/build/c2str.pl src/runcore/subprof.c > src/runcore/subprof.str /usr/bin/perl tools/build/c2str.pl src/scheduler.c > src/scheduler.str /usr/bin/perl tools/build/c2str.pl src/events.c > src/events.str /usr/bin/perl tools/build/c2str.pl src/string/spf_render.c > src/string/spf_render.str /usr/bin/perl tools/build/c2str.pl src/string/spf_vtable.c > src/string/spf_vtable.str /usr/bin/perl tools/build/c2str.pl src/string/encoding.c > src/string/encoding.str /usr/bin/perl tools/build/c2str.pl src/sub.c > src/sub.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/default.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/default.c > src/pmc/default.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/null.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/null.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/null.c > src/pmc/null.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/env.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/env.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/env.c > src/pmc/env.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/key.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/key.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/key.c > src/pmc/key.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/unmanagedstruct.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/unmanagedstruct.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/unmanagedstruct.c > src/pmc/unmanagedstruct.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/managedstruct.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/managedstruct.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/managedstruct.c > src/pmc/managedstruct.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/exception.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/exception.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/exception.c > src/pmc/exception.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/parrotlibrary.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/parrotlibrary.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/parrotlibrary.c > src/pmc/parrotlibrary.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/parrotinterpreter.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/parrotinterpreter.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/parrotinterpreter.c > src/pmc/parrotinterpreter.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/lexpad.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/lexpad.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/lexpad.c > src/pmc/lexpad.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/timer.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/timer.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/timer.c > src/pmc/timer.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/pointer.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/pointer.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/pointer.c > src/pmc/pointer.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/sub.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/sub.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/sub.c > src/pmc/sub.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/continuation.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/continuation.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/continuation.c > src/pmc/continuation.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/coroutine.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/coroutine.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/coroutine.c > src/pmc/coroutine.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/nci.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/nci.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/nci.c > src/pmc/nci.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/scalar.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/float.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/float.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/float.c > src/pmc/float.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/integer.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/integer.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/integer.c > src/pmc/integer.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/bigint.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/bigint.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/bigint.c > src/pmc/bigint.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/bignum.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/bignum.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/bignum.c > src/pmc/bignum.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/complex.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/complex.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/complex.c > src/pmc/complex.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/string.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/string.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/string.c > src/pmc/string.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/boolean.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/boolean.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/boolean.c > src/pmc/boolean.str /usr/bin/perl tools/build/c2str.pl src/pmc/fixedintegerarray.c > src/pmc/fixedintegerarray.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/iterator.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/iterator.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/iterator.c > src/pmc/iterator.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/fixedstringarray.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/fixedstringarray.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/fixedstringarray.c > src/pmc/fixedstringarray.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/hash.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/hash.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/hash.c > src/pmc/hash.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/orderedhash.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/orderedhash.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/orderedhash.c > src/pmc/orderedhash.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/oplib.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/oplib.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/oplib.c > src/pmc/oplib.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/opcode.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/opcode.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/opcode.c > src/pmc/opcode.str /usr/bin/perl tools/build/c2str.pl src/pmc/callcontext.c > src/pmc/callcontext.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/addrregistry.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/addrregistry.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/addrregistry.c > src/pmc/addrregistry.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/alarm.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/alarm.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/alarm.c > src/pmc/alarm.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/arrayiterator.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/arrayiterator.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/arrayiterator.c > src/pmc/arrayiterator.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/bytebuffer.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/bytebuffer.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/bytebuffer.c > src/pmc/bytebuffer.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/task.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/callback.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/callback.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/callback.c > src/pmc/callback.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/capture.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/capture.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/capture.c > src/pmc/capture.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/class.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/class.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/class.c > src/pmc/class.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/eventhandler.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/eventhandler.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/eventhandler.c > src/pmc/eventhandler.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/exceptionhandler.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/exceptionhandler.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/exceptionhandler.c > src/pmc/exceptionhandler.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/exporter.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/exporter.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/exporter.c > src/pmc/exporter.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/handle.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/filehandle.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/filehandle.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/filehandle.c > src/pmc/filehandle.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/fixedbooleanarray.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/fixedbooleanarray.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/fixedbooleanarray.c > src/pmc/fixedbooleanarray.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/fixedfloatarray.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/fixedfloatarray.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/fixedfloatarray.c > src/pmc/fixedfloatarray.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/fixedpmcarray.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/fixedpmcarray.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/fixedpmcarray.c > src/pmc/fixedpmcarray.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/handle.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/handle.c > src/pmc/handle.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/hashiterator.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/hashiterator.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/hashiterator.c > src/pmc/hashiterator.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/hashiteratorkey.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/hashiteratorkey.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/hashiteratorkey.c > src/pmc/hashiteratorkey.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/imageiofreeze.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/imageiofreeze.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/imageiofreeze.c > src/pmc/imageiofreeze.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/imageiosize.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/imageiosize.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/imageiosize.c > src/pmc/imageiosize.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/imageiostrings.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/imageiostrings.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/imageiostrings.c > src/pmc/imageiostrings.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/imageiothaw.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/imageiothaw.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/imageiothaw.c > src/pmc/imageiothaw.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/imccompiler.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/imccompiler.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/imccompiler.c > src/pmc/imccompiler.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/lexinfo.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/lexinfo.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/lexinfo.c > src/pmc/lexinfo.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/mappedbytearray.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/mappedbytearray.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/mappedbytearray.c > src/pmc/mappedbytearray.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/resizablepmcarray.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/multisub.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/multisub.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/multisub.c > src/pmc/multisub.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/namespace.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/namespace.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/namespace.c > src/pmc/namespace.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/nativepccmethod.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/nativepccmethod.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/nativepccmethod.c > src/pmc/nativepccmethod.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/object.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/object.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/object.c > src/pmc/object.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/orderedhashiterator.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/orderedhashiterator.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/orderedhashiterator.c > src/pmc/orderedhashiterator.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/os.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/os.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/os.c > src/pmc/os.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/packfile.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/packfile.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/packfile.c > src/pmc/packfile.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/packfileannotation.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/packfileannotation.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/packfileannotation.c > src/pmc/packfileannotation.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/packfilesegment.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/packfileannotations.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/packfileannotations.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/packfileannotations.c > src/pmc/packfileannotations.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/packfilerawsegment.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/packfilebytecodesegment.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/packfilebytecodesegment.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/packfilebytecodesegment.c > src/pmc/packfilebytecodesegment.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/packfileconstanttable.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/packfileconstanttable.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/packfileconstanttable.c > src/pmc/packfileconstanttable.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/packfiledebug.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/packfiledebug.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/packfiledebug.c > src/pmc/packfiledebug.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/packfiledirectory.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/packfiledirectory.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/packfiledirectory.c > src/pmc/packfiledirectory.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/packfileopmap.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/packfileopmap.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/packfileopmap.c > src/pmc/packfileopmap.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/packfilerawsegment.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/packfilerawsegment.c > src/pmc/packfilerawsegment.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/packfilesegment.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/packfilesegment.c > src/pmc/packfilesegment.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/packfileview.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/packfileview.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/packfileview.c > src/pmc/packfileview.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/pmclist.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/pmclist.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/pmclist.c > src/pmc/pmclist.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/pmcproxy.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/pmcproxy.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/pmcproxy.c > src/pmc/pmcproxy.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/proxy.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/proxy.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/proxy.c > src/pmc/proxy.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/ptr.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/ptr.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/ptr.c > src/pmc/ptr.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/ptrbuf.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/ptrbuf.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/ptrbuf.c > src/pmc/ptrbuf.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/ptrobj.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/ptrobj.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/ptrobj.c > src/pmc/ptrobj.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/resizablebooleanarray.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/resizablebooleanarray.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/resizablebooleanarray.c > src/pmc/resizablebooleanarray.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/resizablefloatarray.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/resizablefloatarray.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/resizablefloatarray.c > src/pmc/resizablefloatarray.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/resizableintegerarray.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/resizableintegerarray.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/resizableintegerarray.c > src/pmc/resizableintegerarray.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/resizablepmcarray.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/resizablepmcarray.c > src/pmc/resizablepmcarray.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/resizablestringarray.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/resizablestringarray.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/resizablestringarray.c > src/pmc/resizablestringarray.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/role.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/role.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/role.c > src/pmc/role.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/scalar.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/scalar.c > src/pmc/scalar.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/scheduler.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/scheduler.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/scheduler.c > src/pmc/scheduler.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/schedulermessage.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/schedulermessage.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/schedulermessage.c > src/pmc/schedulermessage.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/sockaddr.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/sockaddr.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/sockaddr.c > src/pmc/sockaddr.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/socket.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/socket.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/socket.c > src/pmc/socket.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/stringbuilder.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/stringbuilder.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/stringbuilder.c > src/pmc/stringbuilder.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/stringhandle.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/stringhandle.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/stringhandle.c > src/pmc/stringhandle.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/stringiterator.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/stringiterator.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/stringiterator.c > src/pmc/stringiterator.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/structview.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/structview.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/structview.c > src/pmc/structview.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/task.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/task.c > src/pmc/task.str /usr/bin/perl -Ilib tools/build/pmc2c.pl --dump src/pmc/undef.pmc /usr/bin/perl -Ilib tools/build/pmc2c.pl --c src/pmc/undef.pmc /usr/bin/perl tools/build/c2str.pl src/pmc/undef.c > src/pmc/undef.str /usr/bin/perl tools/build/c2str.pl --all x86_64-gentoo-linux-musl-gcc -I./include -I./include/pmc -O2 -pipe -march=native -I/usr/lib/libffi/include -g -fPIC -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -maccumulate-outgoing-args -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 ‘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 ‘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 ‘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_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 ‘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_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_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_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_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_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 ‘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 ‘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) | ^~~~~~~~~~~ x86_64-gentoo-linux-musl-gcc -I./include -I./include/pmc -O2 -pipe -march=native -I/usr/lib/libffi/include -g -fPIC \ -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -maccumulate-outgoing-args -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 x86_64-gentoo-linux-musl-gcc -I./include -I./include/pmc -O2 -pipe -march=native -I/usr/lib/libffi/include -g -fPIC -falign-functions=16 -funit-at-a-time -fexcess-precision=standard -maccumulate-outgoing-args -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/atomic/. -Isrc -o src/atomic/gcc_x86.o -c src/atomic/gcc_x86.c In file included from ./include/parrot/string.h:19, 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/atomic/gcc_x86.c:5: src/atomic/gcc_x86.c: In function ‘parrot_i386_cmpxchg’: ./include/parrot/compiler.h:12:29: error: missing binary operator before token "(" 12 | # define __WORDSIZE (sizeof(void*) * 8) | ^ src/atomic/gcc_x86.c:54:46: note: in expansion of macro ‘__WORDSIZE’ 54 | #if defined(PARROT_HAS_AMD64_GCC_CMPXCHG) || __WORDSIZE == 64 | ^~~~~~~~~~ src/atomic/gcc_x86.c: In function ‘parrot_i386_xadd’: ./include/parrot/compiler.h:12:29: error: missing binary operator before token "(" 12 | # define __WORDSIZE (sizeof(void*) * 8) | ^ src/atomic/gcc_x86.c:88:46: note: in expansion of macro ‘__WORDSIZE’ 88 | #if defined(PARROT_HAS_AMD64_GCC_CMPXCHG) || __WORDSIZE == 64 | ^~~~~~~~~~ make: *** [Makefile:606: src/atomic/gcc_x86.o] Error 1 * ERROR: dev-lang/parrot-8.1.0-r2::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=dev-lang/parrot-8.1.0-r2::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-lang/parrot-8.1.0-r2::gentoo'`. * The complete build log is located at '/var/log/portage/dev-lang:parrot-8.1.0-r2:20200408-063248.log'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-lang/parrot-8.1.0-r2/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-lang/parrot-8.1.0-r2/temp/environment'. * Working directory: '/var/tmp/portage/dev-lang/parrot-8.1.0-r2/work/parrot-8.1.0' * S: '/var/tmp/portage/dev-lang/parrot-8.1.0-r2/work/parrot-8.1.0'