From: Florian Ragwitz Date: Sun, 15 Mar 2009 17:57:40 +0000 (+0100) Subject: Declaring extern functions within a scope doesn't seem to be valid in c++. X-Git-Tag: 0.78_01~39 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=25bcd95ccda8967ac2d62842b9f99bad782ce0d4;p=gitmo%2FClass-MOP.git Declaring extern functions within a scope doesn't seem to be valid in c++. --- diff --git a/mop.h b/mop.h index 4aa5788..1264f07 100644 --- a/mop.h +++ b/mop.h @@ -10,11 +10,7 @@ #define NEED_sv_2pv_nolen #include "ppport.h" -#define MOP_CALL_BOOT(name) \ - { \ - EXTERN_C XS(name); \ - mop_call_xs(aTHX_ name, cv, mark); \ - } +#define MOP_CALL_BOOT(name) mop_call_xs(aTHX_ name, cv, mark); void mop_call_xs (pTHX_ void (*subaddr) (pTHX_ CV *), CV *cv, SV **mark); diff --git a/xs/MOP.xs b/xs/MOP.xs index 60c006c..f92a1cc 100644 --- a/xs/MOP.xs +++ b/xs/MOP.xs @@ -12,6 +12,11 @@ find_method (const char *key, STRLEN keylen, SV *val, void *ud) return FALSE; } +EXTERN_C XS(boot_Class__MOP__Package); +EXTERN_C XS(boot_Class__MOP__Class); +EXTERN_C XS(boot_Class__MOP__Attribute); +EXTERN_C XS(boot_Class__MOP__Method); + MODULE = Class::MOP PACKAGE = Class::MOP PROTOTYPES: DISABLE