--- perl.h.orig 2006-03-29 08:53:46.000000000 -0500 +++ perl.h 2006-03-29 08:54:19.000000000 -0500 @@ -159,7 +159,7 @@ struct perl_thread; #endif #ifndef PERL_UNUSED_DECL -# ifdef HASATTRIBUTE_UNUSED +# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus) # define PERL_UNUSED_DECL __attribute__unused__ # else # define PERL_UNUSED_DECL --- XSUB.h.orig 2006-03-29 08:54:24.000000000 -0500 +++ XSUB.h 2006-03-29 08:54:48.000000000 -0500 @@ -91,7 +91,7 @@ handled automatically by C. #if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING) # define XS(name) __declspec(dllexport) void name(pTHX_ CV* cv) #else -# ifdef HASATTRIBUTE_UNUSED +# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus) # define XS(name) void name(pTHX_ CV* cv __attribute__unused__) # else # define XS(name) void name(pTHX_ CV* cv)