On Sat, Jun 19, 2010 at 01:20:12PM +1000, Sisyphus wrote: > The problem is this piece of code in ExtUtils::ParseXS: > > ################################# > /* prototype to pass -Wmissing-prototypes */ > STATIC void > S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params); > > STATIC void > S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params) > { > ................. > ################################ > > That code gets copied verbatim into PerlNatives.c but, according to the > MinGW port of gcc-3.4.5, it contains the above syntax errors. It seems that > 'STATIC void' is a syntax error - which can be fixed by removing the > 'STATIC' in both places in ParseXS.pm. But I haven't yet found a solution > to the syntax errors in "S_croak_xs_usage(pTHX_ const CV *const cv, const > char *const params)". (These are the "syntax error before "const"" errors.) > > Anyone here know what's needed ?
perl.h:#define STATIC static Likewise, pTHX_ is defined in perl's headers. The errors are consistent with not including (at least) perl.h Or the *right* perl.h Does this code compile cleanly on other systems? Nicholas Clark