MidnightBSD Magus

devel/p5-threads

Perl interpreter-based threads

Flavor Version Run OSVersion Arch License Restricted Status
2.21 637 4.0 i386 artistic gpl+ 0 fail

License Permissions: dist-mirror dist-sell pkg-mirror pkg-sell auto-accept

Events

Machine Type Time Message
m4032b info 2026-05-10 00:13:55.017428 Test Started
m4032b fail 2026-05-10 00:14:04.642367 make build returned non-zero: 1
m4032b fail 2026-05-10 00:14:04.710695 Test complete.

Log

===>  Building for p5-threads-2.21
--- blib/lib/.exists ---
--- blib/arch/.exists ---
--- blib/lib/auto/threads/.exists ---
--- blib/arch/auto/threads/.exists ---
--- blib/bin/.exists ---
--- blib/script/.exists ---
--- blib/man1/.exists ---
--- blib/man3/.exists ---
--- config ---
--- subdirs ---
--- dynamic ---
--- threads.c ---
--- threads.bs ---
--- pm_to_blib ---
--- blibdirs ---
--- threads.c ---
"/usr/local/bin/perl" "/usr/local/lib/perl5/5.40/ExtUtils/xsubpp"  -typemap '/usr/local/lib/perl5/5.40/ExtUtils/typemap'  threads.xs > threads.xsc
--- threads.bs ---
Running Mkbootstrap for threads ()
--- config ---
--- threads.bs ---
chmod 644 "threads.bs"
--- blib/arch/auto/threads/threads.bs ---
"/usr/local/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- threads.bs blib/arch/auto/threads/threads.bs 644
--- pm_to_blib ---
cp lib/threads.pm blib/lib/threads.pm
--- threads.c ---
mv threads.xsc threads.c
--- threads.o ---
cc -c    -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing    -DVERSION=\"2.21\"  -DXS_VERSION=\"2.21\" -DPIC -fPIC "-I/usr/local/lib/perl5/5.40/mach/CORE"  -DHAS_PPPORT_H threads.c
In file included from threads.xs:24:
./ppport.h:4471:11: warning: 'WIDEST_UTYPE' macro redefined [-Wmacro-redefined]
 4471 | #  define WIDEST_UTYPE U64TYPE
      |           ^
/usr/local/lib/perl5/5.40/mach/CORE/handy.h:1422:9: note: previous definition is here
 1422 | #define WIDEST_UTYPE PERL_UINTMAX_T
      |         ^
In file included from threads.xs:24:
./ppport.h:6145:11: warning: 'MUTABLE_PTR' macro redefined [-Wmacro-redefined]
 6145 | #  define MUTABLE_PTR(p) ({ void *_p = (p); _p; })
      |           ^
/usr/local/lib/perl5/5.40/mach/CORE/handy.h:99:11: note: previous definition is here
   99 | #  define MUTABLE_PTR(p) ({ void *p_ = (p); p_; })
      |           ^
threads.xs:248:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  248 |         PERL_SET_CONTEXT(interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:408:5: note: expanded from macro 'PERL_SET_CONTEXT'
  408 |     STMT_START {                                                            \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:248:9: note: '{' token is here
  248 |         PERL_SET_CONTEXT(interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:408:16: note: expanded from macro 'PERL_SET_CONTEXT'
  408 |     STMT_START {                                                            \
      |                ^
threads.xs:248:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  248 |         PERL_SET_CONTEXT(interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:13: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |             ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:248:9: note: '{' token is here
  248 |         PERL_SET_CONTEXT(interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:24: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                        ^
threads.xs:248:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  248 |         PERL_SET_CONTEXT(interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6361:7: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6361 |       STMT_START {                                                          \
      |       ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:248:9: note: '{' token is here
  248 |         PERL_SET_CONTEXT(interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6361:18: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6361 |       STMT_START {                                                          \
      |                  ^
threads.xs:248:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  248 |         PERL_SET_CONTEXT(interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6364:7: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6364 |       } STMT_END
      |       ^
threads.xs:248:9: note: ')' token is here
  248 |         PERL_SET_CONTEXT(interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6364:9: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6364 |       } STMT_END
      |         ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:248:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  248 |         PERL_SET_CONTEXT(interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:61: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                                             ^
threads.xs:248:9: note: ')' token is here
  248 |         PERL_SET_CONTEXT(interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:63: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                                               ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:248:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  248 |         PERL_SET_CONTEXT(interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:415:5: note: expanded from macro 'PERL_SET_CONTEXT'
  415 |     } STMT_END
      |     ^
threads.xs:248:9: note: ')' token is here
  248 |         PERL_SET_CONTEXT(interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:415:7: note: expanded from macro 'PERL_SET_CONTEXT'
  415 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:264:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  264 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:408:5: note: expanded from macro 'PERL_SET_CONTEXT'
  408 |     STMT_START {                                                            \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:264:5: note: '{' token is here
  264 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:408:16: note: expanded from macro 'PERL_SET_CONTEXT'
  408 |     STMT_START {                                                            \
      |                ^
threads.xs:264:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  264 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:13: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |             ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:264:5: note: '{' token is here
  264 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:24: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                        ^
threads.xs:264:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  264 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6361:7: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6361 |       STMT_START {                                                          \
      |       ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:264:5: note: '{' token is here
  264 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6361:18: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6361 |       STMT_START {                                                          \
      |                  ^
threads.xs:264:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  264 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6364:7: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6364 |       } STMT_END
      |       ^
threads.xs:264:5: note: ')' token is here
  264 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6364:9: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6364 |       } STMT_END
      |         ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:264:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  264 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:61: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                                             ^
threads.xs:264:5: note: ')' token is here
  264 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:63: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                                               ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:264:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  264 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:415:5: note: expanded from macro 'PERL_SET_CONTEXT'
  415 |     } STMT_END
      |     ^
threads.xs:264:5: note: ')' token is here
  264 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:415:7: note: expanded from macro 'PERL_SET_CONTEXT'
  415 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:287:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  287 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:287:13: note: '{' token is here
  287 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:287:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  287 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:287:13: note: ')' token is here
  287 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:293:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  293 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:293:5: note: '{' token is here
  293 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:293:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  293 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:293:5: note: ')' token is here
  293 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:299:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  299 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:299:5: note: '{' token is here
  299 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:299:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  299 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:299:5: note: ')' token is here
  299 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:305:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  305 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:305:5: note: '{' token is here
  305 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:305:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  305 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:305:5: note: ')' token is here
  305 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:308:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  308 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:308:5: note: '{' token is here
  308 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:308:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  308 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:308:5: note: ')' token is here
  308 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:315:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  315 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:315:5: note: '{' token is here
  315 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:315:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  315 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:315:5: note: ')' token is here
  315 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:316:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  316 |     MUTEX_DESTROY(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:225:5: note: expanded from macro 'MUTEX_DESTROY'
  225 |     STMT_START {                                                            \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:316:5: note: '{' token is here
  316 |     MUTEX_DESTROY(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:225:16: note: expanded from macro 'MUTEX_DESTROY'
  225 |     STMT_START {                                                            \
      |                ^
threads.xs:316:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  316 |     MUTEX_DESTROY(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:234:5: note: expanded from macro 'MUTEX_DESTROY'
  234 |     } STMT_END
      |     ^
threads.xs:316:5: note: ')' token is here
  316 |     MUTEX_DESTROY(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:234:7: note: expanded from macro 'MUTEX_DESTROY'
  234 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:332:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  332 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:332:5: note: '{' token is here
  332 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:332:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  332 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:332:5: note: ')' token is here
  332 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:334:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  334 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:334:5: note: '{' token is here
  334 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:334:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  334 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:334:5: note: ')' token is here
  334 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:342:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  342 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:342:5: note: '{' token is here
  342 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:342:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  342 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:342:5: note: ')' token is here
  342 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:344:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  344 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:344:5: note: '{' token is here
  344 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:344:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  344 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:344:5: note: ')' token is here
  344 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:355:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  355 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:355:5: note: '{' token is here
  355 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:355:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  355 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:355:5: note: ')' token is here
  355 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:358:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  358 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:358:5: note: '{' token is here
  358 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:358:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  358 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:358:5: note: ')' token is here
  358 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:393:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  393 |     SvIV_set(sv, PTR2IV(thread));
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/sv.h:1480:9: note: expanded from macro 'SvIV_set'
 1480 |         STMT_START { \
      |         ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:393:5: note: '{' token is here
  393 |     SvIV_set(sv, PTR2IV(thread));
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/sv.h:1480:20: note: expanded from macro 'SvIV_set'
 1480 |         STMT_START { \
      |                    ^
threads.xs:393:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  393 |     SvIV_set(sv, PTR2IV(thread));
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/sv.h:1485:9: note: expanded from macro 'SvIV_set'
 1485 |         } STMT_END
      |         ^
threads.xs:393:5: note: ')' token is here
  393 |     SvIV_set(sv, PTR2IV(thread));
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/sv.h:1485:11: note: expanded from macro 'SvIV_set'
 1485 |         } STMT_END
      |           ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:403:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  403 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:403:5: note: '{' token is here
  403 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:403:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  403 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:403:5: note: ')' token is here
  403 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:504:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  504 |     JMPENV_PUSH(jmp_rc);
      |     ^~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/cop.h:118:5: note: expanded from macro 'JMPENV_PUSH'
  118 |     STMT_START {                                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:504:5: note: '{' token is here
  504 |     JMPENV_PUSH(jmp_rc);
      |     ^~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/cop.h:118:16: note: expanded from macro 'JMPENV_PUSH'
  118 |     STMT_START {                                                        \
      |                ^
threads.xs:504:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  504 |     JMPENV_PUSH(jmp_rc);
      |     ^~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/cop.h:149:5: note: expanded from macro 'JMPENV_PUSH'
  149 |     } STMT_END
      |     ^
threads.xs:504:5: note: ')' token is here
  504 |     JMPENV_PUSH(jmp_rc);
      |     ^~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/cop.h:149:7: note: expanded from macro 'JMPENV_PUSH'
  149 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:524:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  524 |     JMPENV_POP;
      |     ^~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/cop.h:152:5: note: expanded from macro 'JMPENV_POP'
  152 |     STMT_START {                                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:524:5: note: '{' token is here
  524 |     JMPENV_POP;
      |     ^~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/cop.h:152:16: note: expanded from macro 'JMPENV_POP'
  152 |     STMT_START {                                                        \
      |                ^
threads.xs:524:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  524 |     JMPENV_POP;
      |     ^~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/cop.h:161:5: note: expanded from macro 'JMPENV_POP'
  161 |     } STMT_END
      |     ^
threads.xs:524:5: note: ')' token is here
  524 |     JMPENV_POP;
      |     ^~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/cop.h:161:7: note: expanded from macro 'JMPENV_POP'
  161 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:570:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  570 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:570:5: note: '{' token is here
  570 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:570:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  570 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:570:5: note: ')' token is here
  570 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:571:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  571 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:571:5: note: '{' token is here
  571 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:571:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  571 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:571:5: note: ')' token is here
  571 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:573:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  573 |     PERL_SET_CONTEXT(thread->interp);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:408:5: note: expanded from macro 'PERL_SET_CONTEXT'
  408 |     STMT_START {                                                            \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:573:5: note: '{' token is here
  573 |     PERL_SET_CONTEXT(thread->interp);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:408:16: note: expanded from macro 'PERL_SET_CONTEXT'
  408 |     STMT_START {                                                            \
      |                ^
threads.xs:573:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  573 |     PERL_SET_CONTEXT(thread->interp);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:13: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |             ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:573:5: note: '{' token is here
  573 |     PERL_SET_CONTEXT(thread->interp);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:24: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                        ^
threads.xs:573:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  573 |     PERL_SET_CONTEXT(thread->interp);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6361:7: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6361 |       STMT_START {                                                          \
      |       ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:573:5: note: '{' token is here
  573 |     PERL_SET_CONTEXT(thread->interp);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6361:18: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6361 |       STMT_START {                                                          \
      |                  ^
threads.xs:573:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  573 |     PERL_SET_CONTEXT(thread->interp);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6364:7: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6364 |       } STMT_END
      |       ^
threads.xs:573:5: note: ')' token is here
  573 |     PERL_SET_CONTEXT(thread->interp);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6364:9: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6364 |       } STMT_END
      |         ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:573:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  573 |     PERL_SET_CONTEXT(thread->interp);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:61: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                                             ^
threads.xs:573:5: note: ')' token is here
  573 |     PERL_SET_CONTEXT(thread->interp);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:63: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                                               ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:573:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  573 |     PERL_SET_CONTEXT(thread->interp);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:415:5: note: expanded from macro 'PERL_SET_CONTEXT'
  415 |     } STMT_END
      |     ^
threads.xs:573:5: note: ')' token is here
  573 |     PERL_SET_CONTEXT(thread->interp);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:415:7: note: expanded from macro 'PERL_SET_CONTEXT'
  415 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:596:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  596 |         PUSHMARK(SP);
      |         ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:120:5: note: expanded from macro 'PUSHMARK'
  120 |     STMT_START {                                                      \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:596:9: note: '{' token is here
  596 |         PUSHMARK(SP);
      |         ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:120:16: note: expanded from macro 'PUSHMARK'
  120 |     STMT_START {                                                      \
      |                ^
threads.xs:596:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  596 |         PUSHMARK(SP);
      |         ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:129:5: note: expanded from macro 'PUSHMARK'
  129 |     } STMT_END
      |     ^
threads.xs:596:9: note: ')' token is here
  596 |         PUSHMARK(SP);
      |         ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:129:7: note: expanded from macro 'PUSHMARK'
  129 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:598:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  598 |             XPUSHs(av_shift(params));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:19: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                         ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:598:13: note: '{' token is here
  598 |             XPUSHs(av_shift(params));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:30: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                    ^
threads.xs:598:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  598 |             XPUSHs(av_shift(params));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:32: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                      ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:460:25: note: expanded from macro 'EXTEND'
  460 | #  define EXTEND(p,n)   STMT_START {                                    \
      |                         ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:598:13: note: '{' token is here
  598 |             XPUSHs(av_shift(params));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:32: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                      ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:460:36: note: expanded from macro 'EXTEND'
  460 | #  define EXTEND(p,n)   STMT_START {                                    \
      |                                    ^
threads.xs:598:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  598 |             XPUSHs(av_shift(params));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:32: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                      ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:466:25: note: expanded from macro 'EXTEND'
  466 |                         } STMT_END
      |                         ^
threads.xs:598:13: note: ')' token is here
  598 |             XPUSHs(av_shift(params));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:32: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                      ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:466:27: note: expanded from macro 'EXTEND'
  466 |                         } STMT_END
      |                           ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:598:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  598 |             XPUSHs(av_shift(params));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:56: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                                              ^
threads.xs:598:13: note: ')' token is here
  598 |             XPUSHs(av_shift(params));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:58: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                                                ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:649:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  649 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:649:5: note: '{' token is here
  649 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:649:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  649 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:649:5: note: ')' token is here
  649 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:650:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  650 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:650:5: note: '{' token is here
  650 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:650:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  650 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:650:5: note: ')' token is here
  650 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:665:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  665 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:665:5: note: '{' token is here
  665 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:665:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  665 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:665:5: note: ')' token is here
  665 |     MUTEX_UNLOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:666:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  666 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:666:5: note: '{' token is here
  666 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:666:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  666 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:666:5: note: ')' token is here
  666 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:680:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  680 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:680:5: note: '{' token is here
  680 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:680:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  680 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:680:5: note: ')' token is here
  680 |     MUTEX_LOCK(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:761:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  761 |         PERL_SET_CONTEXT(my_pool->main_thread.interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:408:5: note: expanded from macro 'PERL_SET_CONTEXT'
  408 |     STMT_START {                                                            \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:761:9: note: '{' token is here
  761 |         PERL_SET_CONTEXT(my_pool->main_thread.interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:408:16: note: expanded from macro 'PERL_SET_CONTEXT'
  408 |     STMT_START {                                                            \
      |                ^
threads.xs:761:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  761 |         PERL_SET_CONTEXT(my_pool->main_thread.interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:13: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |             ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:761:9: note: '{' token is here
  761 |         PERL_SET_CONTEXT(my_pool->main_thread.interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:24: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                        ^
threads.xs:761:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  761 |         PERL_SET_CONTEXT(my_pool->main_thread.interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6361:7: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6361 |       STMT_START {                                                          \
      |       ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:761:9: note: '{' token is here
  761 |         PERL_SET_CONTEXT(my_pool->main_thread.interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6361:18: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6361 |       STMT_START {                                                          \
      |                  ^
threads.xs:761:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  761 |         PERL_SET_CONTEXT(my_pool->main_thread.interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6364:7: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6364 |       } STMT_END
      |       ^
threads.xs:761:9: note: ')' token is here
  761 |         PERL_SET_CONTEXT(my_pool->main_thread.interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6364:9: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6364 |       } STMT_END
      |         ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:761:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  761 |         PERL_SET_CONTEXT(my_pool->main_thread.interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:61: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                                             ^
threads.xs:761:9: note: ')' token is here
  761 |         PERL_SET_CONTEXT(my_pool->main_thread.interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:63: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                                               ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:761:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  761 |         PERL_SET_CONTEXT(my_pool->main_thread.interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:415:5: note: expanded from macro 'PERL_SET_CONTEXT'
  415 |     } STMT_END
      |     ^
threads.xs:761:9: note: ')' token is here
  761 |         PERL_SET_CONTEXT(my_pool->main_thread.interp);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:415:7: note: expanded from macro 'PERL_SET_CONTEXT'
  415 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:764:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  764 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:408:5: note: expanded from macro 'PERL_SET_CONTEXT'
  408 |     STMT_START {                                                            \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:764:5: note: '{' token is here
  764 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:408:16: note: expanded from macro 'PERL_SET_CONTEXT'
  408 |     STMT_START {                                                            \
      |                ^
threads.xs:764:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  764 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:13: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |             ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:764:5: note: '{' token is here
  764 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:24: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                        ^
threads.xs:764:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  764 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6361:7: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6361 |       STMT_START {                                                          \
      |       ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:764:5: note: '{' token is here
  764 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6361:18: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6361 |       STMT_START {                                                          \
      |                  ^
threads.xs:764:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  764 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6364:7: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6364 |       } STMT_END
      |       ^
threads.xs:764:5: note: ')' token is here
  764 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6364:9: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6364 |       } STMT_END
      |         ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:764:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  764 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:61: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                                             ^
threads.xs:764:5: note: ')' token is here
  764 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:63: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                                               ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:764:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  764 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:415:5: note: expanded from macro 'PERL_SET_CONTEXT'
  415 |     } STMT_END
      |     ^
threads.xs:764:5: note: ')' token is here
  764 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:415:7: note: expanded from macro 'PERL_SET_CONTEXT'
  415 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:768:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  768 |         MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:768:9: note: '{' token is here
  768 |         MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:768:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  768 |         MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:768:9: note: ')' token is here
  768 |         MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:773:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  773 |             PERL_UNUSED_RESULT(PerlLIO_write(fd, PL_no_mem, strlen(PL_no_mem)));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:628:35: note: expanded from macro 'PERL_UNUSED_RESULT'
  628 | #    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
      |                                   ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:773:13: note: '{' token is here
  773 |             PERL_UNUSED_RESULT(PerlLIO_write(fd, PL_no_mem, strlen(PL_no_mem)));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:628:46: note: expanded from macro 'PERL_UNUSED_RESULT'
  628 | #    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
      |                                              ^
threads.xs:773:50: error: use of undeclared identifier 'PL_no_mem'
  773 |             PERL_UNUSED_RESULT(PerlLIO_write(fd, PL_no_mem, strlen(PL_no_mem)));
      |                                                  ^
threads.xs:773:68: error: use of undeclared identifier 'PL_no_mem'
  773 |             PERL_UNUSED_RESULT(PerlLIO_write(fd, PL_no_mem, strlen(PL_no_mem)));
      |                                                                    ^
threads.xs:773:50: error: use of undeclared identifier 'PL_no_mem'
  773 |             PERL_UNUSED_RESULT(PerlLIO_write(fd, PL_no_mem, strlen(PL_no_mem)));
      |                                                  ^
threads.xs:773:68: error: use of undeclared identifier 'PL_no_mem'
  773 |             PERL_UNUSED_RESULT(PerlLIO_write(fd, PL_no_mem, strlen(PL_no_mem)));
      |                                                                    ^
threads.xs:773:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  773 |             PERL_UNUSED_RESULT(PerlLIO_write(fd, PL_no_mem, strlen(PL_no_mem)));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:628:88: note: expanded from macro 'PERL_UNUSED_RESULT'
  628 | #    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
      |                                                                                        ^
threads.xs:773:13: note: ')' token is here
  773 |             PERL_UNUSED_RESULT(PerlLIO_write(fd, PL_no_mem, strlen(PL_no_mem)));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:628:90: note: expanded from macro 'PERL_UNUSED_RESULT'
  628 | #    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
      |                                                                                          ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:798:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  798 |     MUTEX_INIT(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:186:5: note: expanded from macro 'MUTEX_INIT'
  186 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:798:5: note: '{' token is here
  798 |     MUTEX_INIT(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:186:16: note: expanded from macro 'MUTEX_INIT'
  186 |     STMT_START {                                                \
      |                ^
threads.xs:798:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  798 |     MUTEX_INIT(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:191:5: note: expanded from macro 'MUTEX_INIT'
  191 |     } STMT_END
      |     ^
threads.xs:798:5: note: ')' token is here
  798 |     MUTEX_INIT(&thread->mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:191:7: note: expanded from macro 'MUTEX_INIT'
  191 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:799:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  799 |     MUTEX_LOCK(&thread->mutex); /* See S_ithread_run() for more detail. */
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:799:5: note: '{' token is here
  799 |     MUTEX_LOCK(&thread->mutex); /* See S_ithread_run() for more detail. */
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:799:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  799 |     MUTEX_LOCK(&thread->mutex); /* See S_ithread_run() for more detail. */
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:799:5: note: ')' token is here
  799 |     MUTEX_LOCK(&thread->mutex); /* See S_ithread_run() for more detail. */
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:931:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  931 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:408:5: note: expanded from macro 'PERL_SET_CONTEXT'
  408 |     STMT_START {                                                            \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:931:5: note: '{' token is here
  931 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:408:16: note: expanded from macro 'PERL_SET_CONTEXT'
  408 |     STMT_START {                                                            \
      |                ^
threads.xs:931:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  931 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:13: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |             ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:931:5: note: '{' token is here
  931 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:24: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                        ^
threads.xs:931:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  931 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6361:7: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6361 |       STMT_START {                                                          \
      |       ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:931:5: note: '{' token is here
  931 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6361:18: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6361 |       STMT_START {                                                          \
      |                  ^
threads.xs:931:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  931 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6364:7: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6364 |       } STMT_END
      |       ^
threads.xs:931:5: note: ')' token is here
  931 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:33: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6364:9: note: expanded from macro 'PERL_SET_LOCALE_CONTEXT'
 6364 |       } STMT_END
      |         ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:931:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  931 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:61: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                                             ^
threads.xs:931:5: note: ')' token is here
  931 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:414:9: note: expanded from macro 'PERL_SET_CONTEXT'
  414 |         PERL_SET_NON_tTHX_CONTEXT(t);                                       \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/perl.h:6371:63: note: expanded from macro 'PERL_SET_NON_tTHX_CONTEXT'
 6371 |             STMT_START { if (i) PERL_SET_LOCALE_CONTEXT(i); } STMT_END
      |                                                               ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:931:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  931 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:415:5: note: expanded from macro 'PERL_SET_CONTEXT'
  415 |     } STMT_END
      |     ^
threads.xs:931:5: note: ')' token is here
  931 |     PERL_SET_CONTEXT(aTHX);
      |     ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:415:7: note: expanded from macro 'PERL_SET_CONTEXT'
  415 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1014:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1014 |         MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1014:9: note: '{' token is here
 1014 |         MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1014:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1014 |         MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1014:9: note: ')' token is here
 1014 |         MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1030:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1030 |     MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1030:5: note: '{' token is here
 1030 |     MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1030:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1030 |     MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1030:5: note: ')' token is here
 1030 |     MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1079:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1079 |             MUTEX_LOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1079:13: note: '{' token is here
 1079 |             MUTEX_LOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1079:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1079 |             MUTEX_LOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1079:13: note: ')' token is here
 1079 |             MUTEX_LOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1082:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1082 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1082:13: note: '{' token is here
 1082 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1082:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1082 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1082:13: note: ')' token is here
 1082 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1159:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1159 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1159:9: note: '{' token is here
 1159 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1159:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1159 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1159:9: note: ')' token is here
 1159 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1168:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1168 |             XSRETURN_UNDEF;     /* Mutex already unlocked */
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:27: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                           ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1168:13: note: '{' token is here
 1168 |             XSRETURN_UNDEF;     /* Mutex already unlocked */
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:38: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                      ^
threads.xs:1168:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1168 |             XSRETURN_UNDEF;     /* Mutex already unlocked */
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1168:13: note: '{' token is here
 1168 |             XSRETURN_UNDEF;     /* Mutex already unlocked */
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.xs:1168:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1168 |             XSRETURN_UNDEF;     /* Mutex already unlocked */
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.xs:1168:13: note: ')' token is here
 1168 |             XSRETURN_UNDEF;     /* Mutex already unlocked */
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1168:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1168 |             XSRETURN_UNDEF;     /* Mutex already unlocked */
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:70: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                                      ^
threads.xs:1168:13: note: ')' token is here
 1168 |             XSRETURN_UNDEF;     /* Mutex already unlocked */
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:72: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                                        ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1176:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1176 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1176:9: note: '{' token is here
 1176 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1176:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1176 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1176:9: note: ')' token is here
 1176 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1341:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1341 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1341:5: note: '{' token is here
 1341 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1341:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1341 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1341:5: note: ')' token is here
 1341 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1208:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1208 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1208:9: note: '{' token is here
 1208 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1208:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1208 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1208:9: note: ')' token is here
 1208 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1213:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1213 |             MUTEX_LOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1213:13: note: '{' token is here
 1213 |             MUTEX_LOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1213:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1213 |             MUTEX_LOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1213:13: note: ')' token is here
 1213 |             MUTEX_LOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1215:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1215 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1215:13: note: '{' token is here
 1215 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1215:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1215 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1215:13: note: ')' token is here
 1215 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1237:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1237 |                 XPUSHs(sv_2mortal(S_ithread_to_SV(aTHX_ Nullsv, thread, classname, TRUE)));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:19: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                         ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1237:17: note: '{' token is here
 1237 |                 XPUSHs(sv_2mortal(S_ithread_to_SV(aTHX_ Nullsv, thread, classname, TRUE)));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:30: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                    ^
threads.xs:1237:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1237 |                 XPUSHs(sv_2mortal(S_ithread_to_SV(aTHX_ Nullsv, thread, classname, TRUE)));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:32: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                      ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:460:25: note: expanded from macro 'EXTEND'
  460 | #  define EXTEND(p,n)   STMT_START {                                    \
      |                         ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1237:17: note: '{' token is here
 1237 |                 XPUSHs(sv_2mortal(S_ithread_to_SV(aTHX_ Nullsv, thread, classname, TRUE)));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:32: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                      ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:460:36: note: expanded from macro 'EXTEND'
  460 | #  define EXTEND(p,n)   STMT_START {                                    \
      |                                    ^
threads.xs:1237:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1237 |                 XPUSHs(sv_2mortal(S_ithread_to_SV(aTHX_ Nullsv, thread, classname, TRUE)));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:32: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                      ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:466:25: note: expanded from macro 'EXTEND'
  466 |                         } STMT_END
      |                         ^
threads.xs:1237:17: note: ')' token is here
 1237 |                 XPUSHs(sv_2mortal(S_ithread_to_SV(aTHX_ Nullsv, thread, classname, TRUE)));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:32: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                      ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:466:27: note: expanded from macro 'EXTEND'
  466 |                         } STMT_END
      |                           ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1237:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1237 |                 XPUSHs(sv_2mortal(S_ithread_to_SV(aTHX_ Nullsv, thread, classname, TRUE)));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:56: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                                              ^
threads.xs:1237:17: note: ')' token is here
 1237 |                 XPUSHs(sv_2mortal(S_ithread_to_SV(aTHX_ Nullsv, thread, classname, TRUE)));
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:58: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                                                ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1241:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1241 |         MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1241:9: note: '{' token is here
 1241 |         MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1241:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1241 |         MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1241:9: note: ')' token is here
 1241 |         MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1244:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1244 |             XSRETURN_IV(count);
      |             ^~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:332:27: note: expanded from macro 'XSRETURN_IV'
  332 | #define XSRETURN_IV(v)    STMT_START { XST_mIV(0,v);    XSRETURN(1); } STMT_END
      |                           ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1244:13: note: '{' token is here
 1244 |             XSRETURN_IV(count);
      |             ^~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:332:38: note: expanded from macro 'XSRETURN_IV'
  332 | #define XSRETURN_IV(v)    STMT_START { XST_mIV(0,v);    XSRETURN(1); } STMT_END
      |                                      ^
threads.xs:1244:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1244 |             XSRETURN_IV(count);
      |             ^~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:332:57: note: expanded from macro 'XSRETURN_IV'
  332 | #define XSRETURN_IV(v)    STMT_START { XST_mIV(0,v);    XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1244:13: note: '{' token is here
 1244 |             XSRETURN_IV(count);
      |             ^~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:332:57: note: expanded from macro 'XSRETURN_IV'
  332 | #define XSRETURN_IV(v)    STMT_START { XST_mIV(0,v);    XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.xs:1244:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1244 |             XSRETURN_IV(count);
      |             ^~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:332:57: note: expanded from macro 'XSRETURN_IV'
  332 | #define XSRETURN_IV(v)    STMT_START { XST_mIV(0,v);    XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.xs:1244:13: note: ')' token is here
 1244 |             XSRETURN_IV(count);
      |             ^~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:332:57: note: expanded from macro 'XSRETURN_IV'
  332 | #define XSRETURN_IV(v)    STMT_START { XST_mIV(0,v);    XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1244:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1244 |             XSRETURN_IV(count);
      |             ^~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:332:70: note: expanded from macro 'XSRETURN_IV'
  332 | #define XSRETURN_IV(v)    STMT_START { XST_mIV(0,v);    XSRETURN(1); } STMT_END
      |                                                                      ^
threads.xs:1244:13: note: ')' token is here
 1244 |             XSRETURN_IV(count);
      |             ^~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:332:72: note: expanded from macro 'XSRETURN_IV'
  332 | #define XSRETURN_IV(v)    STMT_START { XST_mIV(0,v);    XSRETURN(1); } STMT_END
      |                                                                        ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1448:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1448 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1448:5: note: '{' token is here
 1448 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1448:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1448 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1448:5: note: ')' token is here
 1448 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1469:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1469 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1469:5: note: '{' token is here
 1469 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1469:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1469 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1469:5: note: ')' token is here
 1469 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1301:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1301 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1301:9: note: '{' token is here
 1301 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1301:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1301 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1301:9: note: ')' token is here
 1301 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1303:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1303 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1303:13: note: '{' token is here
 1303 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1303:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1303 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1303:13: note: ')' token is here
 1303 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1308:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1308 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1308:13: note: '{' token is here
 1308 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1308:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1308 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1308:13: note: ')' token is here
 1308 |             MUTEX_UNLOCK(&thread->mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1314:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1314 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1314:9: note: '{' token is here
 1314 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1314:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1314 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1314:9: note: ')' token is here
 1314 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1316:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1316 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1316:9: note: '{' token is here
 1316 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1316:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1316 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1316:9: note: ')' token is here
 1316 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1318:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1318 |         MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1318:9: note: '{' token is here
 1318 |         MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1318:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1318 |         MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1318:9: note: ')' token is here
 1318 |         MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1334:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1334 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1334:9: note: '{' token is here
 1334 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1334:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1334 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1334:9: note: ')' token is here
 1334 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1392:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1392 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:27: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                           ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1392:13: note: '{' token is here
 1392 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:38: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                      ^
threads.xs:1392:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1392 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1392:13: note: '{' token is here
 1392 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.xs:1392:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1392 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.xs:1392:13: note: ')' token is here
 1392 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1392:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1392 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:70: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                                      ^
threads.xs:1392:13: note: ')' token is here
 1392 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:72: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                                        ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1399:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1399 |             XPUSHs(sv_2mortal(param));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:19: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                         ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1399:13: note: '{' token is here
 1399 |             XPUSHs(sv_2mortal(param));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:30: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                    ^
threads.xs:1399:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1399 |             XPUSHs(sv_2mortal(param));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:32: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                      ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:460:25: note: expanded from macro 'EXTEND'
  460 | #  define EXTEND(p,n)   STMT_START {                                    \
      |                         ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1399:13: note: '{' token is here
 1399 |             XPUSHs(sv_2mortal(param));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:32: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                      ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:460:36: note: expanded from macro 'EXTEND'
  460 | #  define EXTEND(p,n)   STMT_START {                                    \
      |                                    ^
threads.xs:1399:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1399 |             XPUSHs(sv_2mortal(param));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:32: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                      ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:466:25: note: expanded from macro 'EXTEND'
  466 |                         } STMT_END
      |                         ^
threads.xs:1399:13: note: ')' token is here
 1399 |             XPUSHs(sv_2mortal(param));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:32: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                      ^~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:466:27: note: expanded from macro 'EXTEND'
  466 |                         } STMT_END
      |                           ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1399:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1399 |             XPUSHs(sv_2mortal(param));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:56: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                                              ^
threads.xs:1399:13: note: ')' token is here
 1399 |             XPUSHs(sv_2mortal(param));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/pp.h:559:58: note: expanded from macro 'XPUSHs'
  559 | #define XPUSHs(s)       STMT_START { EXTEND(sp,1); PUSHs(s); } STMT_END
      |                                                                ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1627 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:27: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                           ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1627:5: note: '{' token is here
 1627 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:38: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                      ^
threads.c:1627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1627 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:57: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1627:5: note: '{' token is here
 1627 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:57: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1627 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:57: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1627:5: note: ')' token is here
 1627 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:57: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1627 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:70: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                                      ^
threads.c:1627:5: note: ')' token is here
 1627 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:72: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                                        ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1424:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1424 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1424:9: note: '{' token is here
 1424 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1424:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1424 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1424:9: note: ')' token is here
 1424 |         MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1425:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1425 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1425:9: note: '{' token is here
 1425 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1425:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1425 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1425:9: note: ')' token is here
 1425 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1441:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1441 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1441:9: note: '{' token is here
 1441 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1441:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1441 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1441:9: note: ')' token is here
 1441 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1442:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1442 |         MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1442:9: note: '{' token is here
 1442 |         MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1442:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1442 |         MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1442:9: note: ')' token is here
 1442 |         MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1452:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1452 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1452:9: note: '{' token is here
 1452 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1452:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1452 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1452:9: note: ')' token is here
 1452 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1685:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1685 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:27: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                           ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1685:5: note: '{' token is here
 1685 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:38: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                      ^
threads.c:1685:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1685 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:57: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1685:5: note: '{' token is here
 1685 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:57: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1685:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1685 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:57: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1685:5: note: ')' token is here
 1685 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:57: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1685:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1685 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:70: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                                      ^
threads.c:1685:5: note: ')' token is here
 1685 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:72: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                                        ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1494:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1494 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1494:9: note: '{' token is here
 1494 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1494:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1494 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1494:9: note: ')' token is here
 1494 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1506:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1506 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1506:9: note: '{' token is here
 1506 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1506:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1506 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1506:9: note: ')' token is here
 1506 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1753:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1753 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1753:5: note: '{' token is here
 1753 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1753:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1753 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1753:5: note: ')' token is here
 1753 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1769:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1769 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:27: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                           ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1769:5: note: '{' token is here
 1769 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:38: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                      ^
threads.c:1769:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1769 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:57: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1769:5: note: '{' token is here
 1769 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:57: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1769:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1769 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:57: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1769:5: note: ')' token is here
 1769 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:57: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1769:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1769 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:70: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                                      ^
threads.c:1769:5: note: ')' token is here
 1769 |     XSRETURN_EMPTY;
      |     ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:340:72: note: expanded from macro 'XSRETURN_EMPTY'
  340 | #define XSRETURN_EMPTY    STMT_START {                  XSRETURN(0); } STMT_END
      |                                                                        ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1801:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1801 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1801:5: note: '{' token is here
 1801 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1801:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1801 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1801:5: note: ')' token is here
 1801 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1570:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1570 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:27: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                           ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1570:13: note: '{' token is here
 1570 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:38: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                      ^
threads.xs:1570:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1570 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1570:13: note: '{' token is here
 1570 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.xs:1570:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1570 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.xs:1570:13: note: ')' token is here
 1570 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1570:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1570 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:70: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                                      ^
threads.xs:1570:13: note: ')' token is here
 1570 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:72: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                                        ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1585:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1585 |             MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1585:13: note: '{' token is here
 1585 |             MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1585:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1585 |             MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1585:13: note: ')' token is here
 1585 |             MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1593:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1593 |                     MUTEX_LOCK(&thread->mutex);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1593:21: note: '{' token is here
 1593 |                     MUTEX_LOCK(&thread->mutex);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1593:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1593 |                     MUTEX_LOCK(&thread->mutex);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1593:21: note: ')' token is here
 1593 |                     MUTEX_LOCK(&thread->mutex);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1595:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1595 |                     MUTEX_UNLOCK(&thread->mutex);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1595:21: note: '{' token is here
 1595 |                     MUTEX_UNLOCK(&thread->mutex);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1595:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1595 |                     MUTEX_UNLOCK(&thread->mutex);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1595:21: note: ')' token is here
 1595 |                     MUTEX_UNLOCK(&thread->mutex);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1604:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1604 |             MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1604:13: note: '{' token is here
 1604 |             MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1604:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1604 |             MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1604:13: note: ')' token is here
 1604 |             MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1608:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1608 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:27: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                           ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1608:13: note: '{' token is here
 1608 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:38: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                      ^
threads.xs:1608:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1608 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1608:13: note: '{' token is here
 1608 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.xs:1608:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1608 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.xs:1608:13: note: ')' token is here
 1608 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1608:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1608 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:70: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                                      ^
threads.xs:1608:13: note: ')' token is here
 1608 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:72: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                                        ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1876:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1876 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1876:5: note: '{' token is here
 1876 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1876:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1876 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1876:5: note: ')' token is here
 1876 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1901:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1901 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1901:5: note: '{' token is here
 1901 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1901:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1901 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1901:5: note: ')' token is here
 1901 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1930:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1930 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1930:5: note: '{' token is here
 1930 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1930:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1930 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1930:5: note: ')' token is here
 1930 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1962:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1962 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1962:5: note: '{' token is here
 1962 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1962:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1962 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1962:5: note: ')' token is here
 1962 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1680:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1680 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1680:9: note: '{' token is here
 1680 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1680:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1680 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1680:9: note: ')' token is here
 1680 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1682:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1682 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1682:9: note: '{' token is here
 1682 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1682:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1682 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1682:9: note: ')' token is here
 1682 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:1989:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1989 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:1989:5: note: '{' token is here
 1989 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:1989:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1989 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:1989:5: note: ')' token is here
 1989 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1693:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1693 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1693:9: note: '{' token is here
 1693 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1693:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1693 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1693:9: note: ')' token is here
 1693 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1695:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1695 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1695:9: note: '{' token is here
 1695 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1695:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1695 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1695:9: note: ')' token is here
 1695 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:2012:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 2012 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:2012:5: note: '{' token is here
 2012 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:2012:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 2012 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:2012:5: note: ')' token is here
 2012 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1710:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1710 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1710:9: note: '{' token is here
 1710 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1710:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1710 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1710:9: note: ')' token is here
 1710 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1714:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1714 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1714:9: note: '{' token is here
 1714 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1714:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1714 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1714:9: note: ')' token is here
 1714 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:2041:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 2041 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:2041:5: note: '{' token is here
 2041 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:2041:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 2041 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:2041:5: note: ')' token is here
 2041 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:2064:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 2064 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:2064:5: note: '{' token is here
 2064 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:2064:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 2064 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:2064:5: note: ')' token is here
 2064 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1740:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1740 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1740:9: note: '{' token is here
 1740 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1740:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1740 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1740:9: note: ')' token is here
 1740 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1746:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1746 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1746:9: note: '{' token is here
 1746 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1746:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1746 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1746:9: note: ')' token is here
 1746 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:2092:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 2092 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:2092:5: note: '{' token is here
 2092 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:2092:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 2092 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:2092:5: note: ')' token is here
 2092 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1761:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1761 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1761:9: note: '{' token is here
 1761 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1761:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1761 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1761:9: note: ')' token is here
 1761 |         MUTEX_LOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1819:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1819 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1819:9: note: '{' token is here
 1819 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1819:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1819 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1819:9: note: ')' token is here
 1819 |         MUTEX_UNLOCK(&thread->mutex);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1822:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1822 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:27: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                           ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1822:13: note: '{' token is here
 1822 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:38: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                      ^
threads.xs:1822:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1822 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1822:13: note: '{' token is here
 1822 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.xs:1822:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1822 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.xs:1822:13: note: ')' token is here
 1822 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:57: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                         ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1822:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1822 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:70: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                                      ^
threads.xs:1822:13: note: ')' token is here
 1822 |             XSRETURN_UNDEF;
      |             ^~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:339:72: note: expanded from macro 'XSRETURN_UNDEF'
  339 | #define XSRETURN_UNDEF    STMT_START { XST_mUNDEF(0);   XSRETURN(1); } STMT_END
      |                                                                        ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.c:2182:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 2182 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:5: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.c:2182:5: note: '{' token is here
 2182 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:325:16: note: expanded from macro 'XSRETURN'
  325 |     STMT_START {                                        \
      |                ^
threads.c:2182:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 2182 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:5: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |     ^
threads.c:2182:5: note: ')' token is here
 2182 |     XSRETURN(1);
      |     ^~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/XSUB.h:330:7: note: expanded from macro 'XSRETURN'
  330 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1845:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1845 |     MUTEX_INIT(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:186:5: note: expanded from macro 'MUTEX_INIT'
  186 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1845:5: note: '{' token is here
 1845 |     MUTEX_INIT(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:186:16: note: expanded from macro 'MUTEX_INIT'
  186 |     STMT_START {                                                \
      |                ^
threads.xs:1845:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1845 |     MUTEX_INIT(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:191:5: note: expanded from macro 'MUTEX_INIT'
  191 |     } STMT_END
      |     ^
threads.xs:1845:5: note: ')' token is here
 1845 |     MUTEX_INIT(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:191:7: note: expanded from macro 'MUTEX_INIT'
  191 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1846:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1846 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:5: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1846:5: note: '{' token is here
 1846 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:203:16: note: expanded from macro 'MUTEX_LOCK'
  203 |     STMT_START {                                                \
      |                ^
threads.xs:1846:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1846 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:5: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |     ^
threads.xs:1846:5: note: ')' token is here
 1846 |     MUTEX_LOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:210:7: note: expanded from macro 'MUTEX_LOCK'
  210 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1859:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1859 |     MUTEX_INIT(&MY_POOL.main_thread.mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:186:5: note: expanded from macro 'MUTEX_INIT'
  186 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1859:5: note: '{' token is here
 1859 |     MUTEX_INIT(&MY_POOL.main_thread.mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:186:16: note: expanded from macro 'MUTEX_INIT'
  186 |     STMT_START {                                                \
      |                ^
threads.xs:1859:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1859 |     MUTEX_INIT(&MY_POOL.main_thread.mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:191:5: note: expanded from macro 'MUTEX_INIT'
  191 |     } STMT_END
      |     ^
threads.xs:1859:5: note: ')' token is here
 1859 |     MUTEX_INIT(&MY_POOL.main_thread.mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:191:7: note: expanded from macro 'MUTEX_INIT'
  191 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
threads.xs:1877:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1877 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:5: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |     ^~~~~~~~~~
./ppport.h:4269:31: note: expanded from macro 'STMT_START'
 4269 | #  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
      |                               ^
threads.xs:1877:5: note: '{' token is here
 1877 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:213:16: note: expanded from macro 'MUTEX_UNLOCK'
  213 |     STMT_START {                                                \
      |                ^
threads.xs:1877:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 1877 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |     ^
threads.xs:1877:5: note: ')' token is here
 1877 |     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/perl5/5.40/mach/CORE/thread.h:222:7: note: expanded from macro 'MUTEX_UNLOCK'
  222 |     } STMT_END
      |       ^~~~~~~~
./ppport.h:4270:25: note: expanded from macro 'STMT_END'
 4270 | #  define STMT_END      )
      |                         ^
258 warnings and 4 errors generated.
*** [threads.o] Error code 1

make: stopped in /magus/work/usr/mports/devel/p5-threads/work/threads-2.21
1 error

make: stopped in /magus/work/usr/mports/devel/p5-threads/work/threads-2.21
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/mports/devel/p5-threads

Links

Depends On

Depend Of

Nothing

Categories

CVEs

  • Loading CVE information...

LLM Analysis