-#ifdef USE_ITHREADS - MP_dINTERP_PUTBACK(interp); -#endif + MP_INTERP_PUTBACK(interp);
yeah, that makes sense - the macro is already a no-op for non-threaded perls.
but why the name change? it parallels MP_dINTERP_SELECT as it stands now.
That's exactly the mistake 'd' stands for declare, and MP_INTERP_PUTBACK is placed after code where you can't declare variables, neither you do declare them.
Notice:
--- src/modules/perl/modperl_interp.h 13 Sep 2003 20:35:33 -0000 1.19 +++ src/modules/perl/modperl_interp.h 23 Sep 2003 19:17:22 -0000 [...[ -#define MP_dINTERP_PUTBACK(interp) dNOOP +#define MP_INTERP_PUTBACK(interp) NOOP
if you look at dNOOP, it's:
#define dNOOP extern int Perl___notused PERL_UNUSED_DECL
something that you don't want to put after code.
I'm looking forward for mandrake cooker gcc picking up the changes from the end of july where the gcc team has added a new flag that will complain about declarations after code, so we will be able to catch this problem before committing things. It's not the first time we get bitten by gcc on linux allowing declarations after code.
__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com