Digest-HighwayHash v0.002 Perl 5 v5.41.5 cygwin

Status
Unknown
From
Peter John Acklam (PJACKLAM)
Dist
Digest-HighwayHash v0.002
Platform
Perl 5 v5.41.5 cygwin
Date
2024-11-14 19:50:27
ID
a741bf86-6cca-1014-9e89-803dc7212b9f
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language.  See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org


--
Dear Marius Gavrilescu,

This is a computer-generated report for Digest-HighwayHash-0.002
on perl 5.41.5, created by CPAN-Reporter-1.2020.

Thank you for uploading your work to CPAN.  However, attempting to
test your distribution gave an inconclusive result.

This could be because your distribution had an error during the make/build
stage, did not define tests, tests could not be found, because your tests were
interrupted before they finished, or because the results of the tests could not
be parsed.  You may wish to consult the CPAN Testers Wiki:

http://wiki.cpantesters.org/wiki/CPANAuthorNotes

Sections of this report:

    * Tester comments
    * Program output
    * Prerequisites
    * Environment and other context

------------------------------
TESTER COMMENTS
------------------------------

Additional comments from tester:

this report is from an automated smoke testing program
and was not reviewed by a human for accuracy

------------------------------
PROGRAM OUTPUT
------------------------------

Output from '/usr/bin/make':

cp lib/Digest/HighwayHash.pm blib/lib/Digest/HighwayHash.pm
cp HighwayHash/c/highwayhash.h blib/lib/Digest/HighwayHash/c/highwayhash.h
cp HighwayHash/c/highwayhash.c blib/lib/Digest/HighwayHash/c/highwayhash.c
Running Mkbootstrap for HighwayHash ()
chmod 644 "HighwayHash.bs"
"/cygdrive/c/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/bin/perl5.41.5.exe" -MExtUtils::Command::MM -e 'cp_nonempty' -- HighwayHash.bs blib/arch/auto/Digest/HighwayHash/HighwayHash.bs 644
"/cygdrive/c/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/bin/perl5.41.5.exe" "/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/ExtUtils/xsubpp"  -typemap '/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/ExtUtils/typemap' -typemap '/cygdrive/c/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/cpan/5.41.5/cygwin/buildjFrEqhYn/Digest-HighwayHash-0.002-0/typemap'  HighwayHash.xs > HighwayHash.xsc
mv HighwayHash.xsc HighwayHash.c
gcc -c  -I. -Ihighwayhash/c -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2 -DUSEIMPORTLIB -O3   -DVERSION=\"0.002\" -DXS_VERSION=\"0.002\"  "-I/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE"   HighwayHash.c
In file included from HighwayHash.xs:8:
ppport.h:4471: warning: "WIDEST_UTYPE" redefined
 4471 | #  define WIDEST_UTYPE U64TYPE
      | 
In file included from /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:3309,
                 from HighwayHash.xs:4:
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:1417: note: this is the location of the previous definition
 1417 | #define WIDEST_UTYPE PERL_UINTMAX_T
      | 
ppport.h:6145: warning: "MUTABLE_PTR" redefined
 6145 | #  define MUTABLE_PTR(p) ({ void *_p = (p); _p; })
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:95: note: this is the location of the previous definition
   95 | #  define MUTABLE_PTR(p) ({ void *p_ = (p); p_; })
      | 
In file included from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10,
                 from HighwayHash.xs:10:
HighwayHash.xs:3: error: #include nested depth 200 exceeds maximum of 200 (use -fmax-include-depth=DEPTH to increase the maximum)
    3 | #include "EXTERN.h"
      | 
HighwayHash.xs:4: error: #include nested depth 200 exceeds maximum of 200 (use -fmax-include-depth=DEPTH to increase the maximum)
    4 | #include "perl.h"
      | 
HighwayHash.xs:5: error: #include nested depth 200 exceeds maximum of 200 (use -fmax-include-depth=DEPTH to increase the maximum)
    5 | #include "XSUB.h"
      | 
HighwayHash.xs:7: error: #include nested depth 200 exceeds maximum of 200 (use -fmax-include-depth=DEPTH to increase the maximum)
    7 | #include "perl_math_int64.h"
      | 
HighwayHash.xs:8: error: #include nested depth 200 exceeds maximum of 200 (use -fmax-include-depth=DEPTH to increase the maximum)
    8 | #include "ppport.h"
      | 
HighwayHash.xs:10: error: #include nested depth 200 exceeds maximum of 200 (use -fmax-include-depth=DEPTH to increase the maximum)
   10 | #include "highwayhash.c"
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs: In function 'highway_hash64':
HighwayHash.xs:33: warning: implicit declaration of function 'HighwayHash64'; did you mean 'highway_hash64'? [-Wimplicit-function-declaration]
   33 |         return HighwayHash64(bytes, size, key);
      | 
HighwayHash.xs: In function 'highway_hash128':
HighwayHash.xs:42: warning: implicit declaration of function 'HighwayHash128'; did you mean 'highway_hash128'? [-Wimplicit-function-declaration]
   42 |         HighwayHash128(bytes, size, key, hash);
      | 
HighwayHash.xs: In function 'highway_hash256':
HighwayHash.xs:55: warning: implicit declaration of function 'HighwayHash256'; did you mean 'highway_hash256'? [-Wimplicit-function-declaration]
   55 |         HighwayHash256(bytes, size, key, hash);
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs:68: note: each undeclared identifier is reported only once for each function it appears in
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs:70: warning: implicit declaration of function 'HighwayHashCatStart' [-Wimplicit-function-declaration]
   70 |         HighwayHashCatStart(key, state);
      | 
HighwayHash.xs: In function 'append':
HighwayHash.xs:75: warning: implicit declaration of function 'HighwayHashCatAppend' [-Wimplicit-function-declaration]
   75 |         HighwayHashCatAppend(bytes, size, state);
      | 
HighwayHash.xs: In function 'finish64':
HighwayHash.xs:79: warning: implicit declaration of function 'HighwayHashCatFinish64' [-Wimplicit-function-declaration]
   79 |         return HighwayHashCatFinish64(state);
      | 
HighwayHash.xs: In function 'finish128':
HighwayHash.xs:86: warning: implicit declaration of function 'HighwayHashCatFinish128' [-Wimplicit-function-declaration]
   86 |         HighwayHashCatFinish128(state, hash);
      | 
HighwayHash.xs: In function 'finish256':
HighwayHash.xs:97: warning: implicit declaration of function 'HighwayHashCatFinish256' [-Wimplicit-function-declaration]
   97 |         HighwayHashCatFinish256(state, hash);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
In file included from HighwayHash.xs:5:
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__Highw

[Output truncated because it exceeded 1000K]

in/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.xs:12: error: unknown type name 'HighwayHashCat'
   12 | typedef HighwayHashCat* Digest__HighwayHash;
      | 
HighwayHash.xs:14: error: redefinition of 'process_key'
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:14: note: previous definition of 'process_key' with type 'void(AV *, uint64_t *)' {aka 'void(struct av *, long unsigned int *)'}
   14 | void process_key(pTHX_ AV *key_av, uint64_t *key) {
      | 
HighwayHash.xs:29: error: redefinition of 'highway_hash64'
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:29: note: previous definition of 'highway_hash64' with type 'uint64_t(AV *, unsigned char *, size_t)' {aka 'long unsigned int(struct av *, unsigned char *, long unsigned int)'}
   29 | uint64_t highway_hash64(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: error: redefinition of 'highway_hash128'
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:36: note: previous definition of 'highway_hash128' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   36 | AV* highway_hash128(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: error: redefinition of 'highway_hash256'
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:49: note: previous definition of 'highway_hash256' with type 'AV *(AV *, unsigned char *, size_t)' {aka 'struct av *(struct av *, unsigned char *, long unsigned int)'}
   49 | AV* highway_hash256(AV *key_av, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:64: error: redefinition of 'new'
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs:64: note: previous definition of 'new' with type 'int *(AV *)' {aka 'int *(struct av *)'}
   64 | Digest__HighwayHash new(AV *key_av) {
      | 
HighwayHash.xs: In function 'new':
HighwayHash.xs:68: error: 'HighwayHashCat' undeclared (first use in this function); did you mean 'highway_hash256'?
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4215:62: note: in definition of macro 'EXPECT'
 4215 | #  define EXPECT(expr,val)                  __builtin_expect(expr,val)
      |                                                              ^~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/perl.h:4236:52: note: in expansion of macro 'cBOOL'
 4236 | #define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
      |                                                    ^~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:16: note: in expansion of macro 'UNLIKELY'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                ^~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2749:9: note: in expansion of macro '_MEM_WRAP_NEEDS_RUNTIME_CHECK'
 2749 |       ((_MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) ? (MEM_SIZE)(n) : \
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2753:25: note: in expansion of macro '_MEM_WRAP_WILL_WRAP'
 2753 |         (void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
      |                         ^~~~~~~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2765:32: note: in expansion of macro 'MEM_WRAP_CHECK'
 2765 | #  define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
      |                                ^~~~~~~~~~~~~~
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:31: note: in expansion of macro 'MEM_WRAP_CHECK_'
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                               ^~~~~~~~~~~~~~~
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/handy.h:2842:55: error: expected expression before ')' token
 2842 | #define Newx(v,n,t)     (v = (MEM_WRAP_CHECK_(n,t) (t*)MEM_LOG_ALLOC(n,t,safemalloc((MEM_SIZE)((n)*sizeof(t))))))
      |                                                       ^
HighwayHash.xs:68: note: in expansion of macro 'Newx'
   68 |         Newx(state, 1, HighwayHashCat);
      | 
HighwayHash.xs: At top level:
HighwayHash.xs:74: error: redefinition of 'append'
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:74: note: previous definition of 'append' with type 'void(int *, unsigned char *, size_t)' {aka 'void(int *, unsigned char *, long unsigned int)'}
   74 | void append(Digest__HighwayHash state, unsigned char *bytes, size_t size) {
      | 
HighwayHash.xs:78: error: redefinition of 'finish64'
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:78: note: previous definition of 'finish64' with type 'uint64_t(int *)' {aka 'long unsigned int(int *)'}
   78 | uint64_t finish64(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: error: redefinition of 'finish128'
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:82: note: previous definition of 'finish128' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   82 | AV* finish128(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: error: redefinition of 'finish256'
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.xs:93: note: previous definition of 'finish256' with type 'AV *(int *)' {aka 'struct av *(int *)'}
   93 | AV* finish256(Digest__HighwayHash state) {
      | 
HighwayHash.c:262: error: redefinition of 'XS_Digest__HighwayHash_highway_hash64'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:262: note: previous definition of 'XS_Digest__HighwayHash_highway_hash64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:262: note: in expansion of macro 'XS_EUPXS'
  262 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash64)
      | 
HighwayHash.c:303: error: redefinition of 'XS_Digest__HighwayHash_highway_hash128'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:303: note: previous definition of 'XS_Digest__HighwayHash_highway_hash128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:303: note: in expansion of macro 'XS_EUPXS'
  303 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash128)
      | 
HighwayHash.c:344: error: redefinition of 'XS_Digest__HighwayHash_highway_hash256'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:344: note: previous definition of 'XS_Digest__HighwayHash_highway_hash256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:344: note: in expansion of macro 'XS_EUPXS'
  344 | XS_EUPXS(XS_Digest__HighwayHash_highway_hash256)
      | 
HighwayHash.c:385: error: redefinition of 'XS_Digest__HighwayHash_new'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:385: note: previous definition of 'XS_Digest__HighwayHash_new' with type 'void(CV *)' {aka 'void(struct cv *)'}
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:385: note: in expansion of macro 'XS_EUPXS'
  385 | XS_EUPXS(XS_Digest__HighwayHash_new)
      | 
HighwayHash.c:423: error: redefinition of 'XS_Digest__HighwayHash_append'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:423: note: previous definition of 'XS_Digest__HighwayHash_append' with type 'void(CV *)' {aka 'void(struct cv *)'}
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:423: note: in expansion of macro 'XS_EUPXS'
  423 | XS_EUPXS(XS_Digest__HighwayHash_append)
      | 
HighwayHash.c:457: error: redefinition of 'XS_Digest__HighwayHash_finish64'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:457: note: previous definition of 'XS_Digest__HighwayHash_finish64' with type 'void(CV *)' {aka 'void(struct cv *)'}
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:457: note: in expansion of macro 'XS_EUPXS'
  457 | XS_EUPXS(XS_Digest__HighwayHash_finish64)
      | 
HighwayHash.c:493: error: redefinition of 'XS_Digest__HighwayHash_finish128'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:493: note: previous definition of 'XS_Digest__HighwayHash_finish128' with type 'void(CV *)' {aka 'void(struct cv *)'}
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:493: note: in expansion of macro 'XS_EUPXS'
  493 | XS_EUPXS(XS_Digest__HighwayHash_finish128)
      | 
HighwayHash.c:529: error: redefinition of 'XS_Digest__HighwayHash_finish256'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:529: note: previous definition of 'XS_Digest__HighwayHash_finish256' with type 'void(CV *)' {aka 'void(struct cv *)'}
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:207: note: in expansion of macro 'XS_INTERNAL'
  207 | #  define XS_EUPXS(name) XS_INTERNAL(name)
      | 
HighwayHash.c:529: note: in expansion of macro 'XS_EUPXS'
  529 | XS_EUPXS(XS_Digest__HighwayHash_finish256)
      | 
HighwayHash.c:567: error: redefinition of 'boot_Digest__HighwayHash'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
HighwayHash.c:567: note: previous definition of 'boot_Digest__HighwayHash' with type 'void(CV *)' {aka 'void(struct cv *)'}
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin/CORE/XSUB.h:137:28: note: in definition of macro 'XSPROTO'
  137 | #define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
      |                            ^~~~
HighwayHash.c:567: note: in expansion of macro 'XS_EXTERNAL'
  567 | XS_EXTERNAL(boot_Digest__HighwayHash)
      | 
make: *** [Makefile:343: HighwayHash.o] Error 1

------------------------------
PREREQUISITES
------------------------------

Prerequisite modules loaded:

requires:

    Module              Need     Have    
    ------------------- -------- --------
    Math::Int64         0        0.57    
    perl                5.014000 5.041005

build_requires:

    Module              Need     Have    
    ------------------- -------- --------
    ExtUtils::MakeMaker 0        7.70    
    Test::Exception     0        0.43    

configure_requires:

    Module              Need     Have    
    ------------------- -------- --------
    ExtUtils::MakeMaker 0        7.70    


------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------

Environment variables:

    AUTOMATED_TESTING = 1
    COMSPEC = C:\WINDOWS\system32\cmd.exe
    LDFLAGS = -Wl,-rpath,/usr/local/lib -L/usr/local/lib
    NUMBER_OF_PROCESSORS = 24
    PATH = /cygdrive/c/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/bin:/usr/bin:/bin:/usr/local/bin
    PERL = /cygdrive/c/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/bin/perl5.41.5
    PERL5LIB = /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/cpan/5.41.5/cygwin/buildjFrEqhYn/Math-Int64-0.57-0/blib/arch:/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/cpan/5.41.5/cygwin/buildjFrEqhYn/Math-Int64-0.57-0/blib/lib:/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local/lib/perl5:/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local/lib/site_perl:/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local/lib
    PERL5OPT = 
    PERL5_CPANPLUS_IS_RUNNING = 47914
    PERL5_CPAN_IS_RUNNING = 47914
    PERL_CANARY_STABILITY_NOPROMPT = 1
    PERL_CPAN_REPORTER_CONFIG = /cygdrive/c/home/peter/.cpanreporter/config-cygwin-AR-A01-L0042.ini
    PERL_EXTUTILS_AUTOINSTALL = 1
    PERL_MB_OPT = --install_base /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local
    PERL_MM_OPT = INSTALL_BASE=/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local
    PERL_MM_USE_DEFAULT = 1
    PERL_TEST_CRITIC = 1
    PERL_TEST_CRITIC = 1
    PERL_TEST_POD = 1
    PERL_TEST_POD = 1
    PERL_USE_UNSAFE_INC = 
    POD_TESTING = 1
    POD_TESTS = 1
    PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 151 Stepping 2, GenuineIntel
    SHELL = /bin/bash
    TEMP = /tmp
    TERM = xterm

Perl special variables (and OS-specific diagnostics, for MSWin32):

    $^X = /cygdrive/c/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/bin/perl5.41.5
    $UID/$EUID = 1061331 / 1061331
    $GID = 1049089 1049089 578 545 4 66049 11 15 4095 66048 1104222 1150627 1098011 1051245 1113266 1156262 1089123 1139839 1090502 1141767 1081310 1090413 1061909 1058653 1081942 1122108 1125494 1137338 1137546 1088201 1143577 1151869 1090906 1093944 1122107 1051228 1057394 1141985 1159857 1068783 1154883 1137881 1138202 1056539 1057337 1089132 1100278 1051354 1104220 1059243 1089865 1152821 1087957 1105777 1155862 1150082 1135663 1049649 1152548 1125495 1152552 1139179 1069945 1142012 1059531 1090104 1090492 1155459 1068897 1157946 1081637 1095782 1075170 1144155 1139332 1146142 1111057 1164502 1159858 1069144 1164501 1154614 1081620 1141978 70145 70148 70149 1136189 1049147 1083352 266241 401408
    $EGID = 1049089 1049089 578 545 4 66049 11 15 4095 66048 1104222 1150627 1098011 1051245 1113266 1156262 1089123 1139839 1090502 1141767 1081310 1090413 1061909 1058653 1081942 1122108 1125494 1137338 1137546 1088201 1143577 1151869 1090906 1093944 1122107 1051228 1057394 1141985 1159857 1068783 1154883 1137881 1138202 1056539 1057337 1089132 1100278 1051354 1104220 1059243 1089865 1152821 1087957 1105777 1155862 1150082 1135663 1049649 1152548 1125495 1152552 1139179 1069945 1142012 1059531 1090104 1090492 1155459 1068897 1157946 1081637 1095782 1075170 1144155 1139332 1146142 1111057 1164502 1159858 1069144 1164501 1154614 1081620 1141978 70145 70148 70149 1136189 1049147 1083352 266241 401408

Perl module toolchain versions installed:

    Module              Have    
    ------------------- --------
    CPAN                2.37    
    CPAN::Meta          2.150010
    Cwd                 3.92    
    ExtUtils::CBuilder  0.280240
    ExtUtils::Command   7.70    
    ExtUtils::Install   2.22    
    ExtUtils::MakeMaker 7.70    
    ExtUtils::Manifest  1.75    
    ExtUtils::ParseXS   3.55    
    File::Spec          3.93    
    JSON                4.10    
    JSON::PP            4.16    
    Module::Build       0.4234  
    Module::Signature   n/a     
    Parse::CPAN::Meta   2.150010
    Test2               1.302204
    Test::Harness       3.50    
    Test::More          1.302204
    YAML                1.31    
    YAML::Syck          1.34    
    version             0.9933  


--

Summary of my perl5 (revision 5 version 41 subversion 5) configuration:
   
  Platform:
    osname=cygwin
    osvers=3.5.4-1.x86_64
    archname=cygwin
    uname='cygwin_nt-10.0-19045 rigel 3.5.4-1.x86_64 2024-08-25 16:52 utc x86_64 cygwin '
    config_args='-de -Dmksymlinks -Dusedevel -Uinc_version_list -Uinstallusrbinperl -Uusethreads -Uusemultiplicity -Uusequadmath -Dlibpth=/usr/lib/gcc/x86_64-pc-cygwin/12 -Dprefix=/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=undef
    usemultiplicity=undef
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
  Compiler:
    cc='gcc'
    ccflags ='-D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_FORTIFY_SOURCE=2'
    optimize='-O3'
    cppflags='-D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong'
    ccversion=''
    gccversion='12.4.0'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='g++'
    ldflags =' -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/lib/gcc/x86_64-pc-cygwin/12 /usr/lib /usr/lib/w32api /usr/local/lib /lib
    libs=-lpthread -ldl -lcrypt
    perllibs=-lpthread -ldl -lcrypt
    libc=/usr/lib/libcygwin.a
    so=dll
    useshrplib=true
    libperl=cygperl5_41_5.dll
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=dll
    d_dlsymun=undef
    ccdlflags=' '
    cccdlflags=' '
    lddlflags=' --shared  -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl): 
  Compile-time options:
    HAS_LONG_DOUBLE
    HAS_STRTOLD
    HAS_TIMES
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_HASH_FUNC_SIPHASH13
    PERL_HASH_USE_SBOX32
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    PERL_USE_DEVEL
    PERL_USE_SAFE_PUTENV
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
  Built under cygwin
  Compiled at Oct 28 2024 12:12:03
  %ENV:
    PERL="/cygdrive/c/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/bin/perl5.41.5"
    PERL5LIB="/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/cpan/5.41.5/cygwin/buildjFrEqhYn/Math-Int64-0.57-0/blib/arch:/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/cpan/5.41.5/cygwin/buildjFrEqhYn/Math-Int64-0.57-0/blib/lib:/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local/lib/perl5:/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local/lib/site_perl:/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local/lib"
    PERL5OPT=""
    PERL5_CPANPLUS_IS_RUNNING="47914"
    PERL5_CPAN_IS_RUNNING="47914"
    PERL_CANARY_STABILITY_NOPROMPT="1"
    PERL_CPAN_REPORTER_CONFIG="/cygdrive/c/home/peter/.cpanreporter/config-cygwin-AR-A01-L0042.ini"
    PERL_EXTUTILS_AUTOINSTALL="1"
    PERL_MB_OPT="--install_base /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local"
    PERL_MM_OPT="INSTALL_BASE=/opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local"
    PERL_MM_USE_DEFAULT="1"
    PERL_TEST_CRITIC="1"
    PERL_TEST_POD="1"
    PERL_USE_UNSAFE_INC=""
  @INC:
    /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/cpan/5.41.5/cygwin/buildjFrEqhYn/Math-Int64-0.57-0/blib/arch
    /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/cpan/5.41.5/cygwin/buildjFrEqhYn/Math-Int64-0.57-0/blib/lib
    /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local/lib/perl5/cygwin
    /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local/lib/perl5
    /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local/lib/site_perl
    /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/local/lib
    /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/site_perl/5.41.5/cygwin
    /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/site_perl/5.41.5
    /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5/cygwin
    /opt/perl5/cygwin_nt-10.0/3.5.4/x86_64/perl/5.41.5/cygwin/lib/5.41.5