We only need local $? if we inline calls to DEMOLISH
[gitmo/Moose.git] / xs / Moose.xs
index 986498b..06b983e 100644 (file)
@@ -96,28 +96,33 @@ STATIC int
 is_regexp (pTHX_ SV* sv) {
     SV* tmpsv;
 
-    if (SvMAGICAL(sv))
+    if (SvMAGICAL(sv)) {
         mg_get(sv);
+    }
+
     if (SvROK(sv) &&
-      (tmpsv = (SV*) SvRV(sv)) &&
-      SvTYPE(tmpsv) == SVt_PVMG &&
-      (mg_find(tmpsv, PERL_MAGIC_qr)))
+        (tmpsv = (SV*) SvRV(sv)) &&
+        SvTYPE(tmpsv) == SVt_PVMG &&
+        (mg_find(tmpsv, PERL_MAGIC_qr))) {
         return TRUE;
+    }
+
     return FALSE;
 }
 #endif
 
-EXTERN_C XS(boot_Class__MOP);
-EXTERN_C XS(boot_Class__MOP__Mixin__HasAttributes);
-EXTERN_C XS(boot_Class__MOP__Mixin__HasMethods);
-EXTERN_C XS(boot_Class__MOP__Package);
-EXTERN_C XS(boot_Class__MOP__Mixin__AttributeCore);
-EXTERN_C XS(boot_Class__MOP__Method);
-EXTERN_C XS(boot_Class__MOP__Method__Inlined);
-EXTERN_C XS(boot_Class__MOP__Method__Generated);
-EXTERN_C XS(boot_Class__MOP__Class);
-EXTERN_C XS(boot_Class__MOP__Attribute);
-EXTERN_C XS(boot_Class__MOP__Instance);
+XS_EXTERNAL(boot_Class__MOP);
+XS_EXTERNAL(boot_Class__MOP__Mixin__HasAttributes);
+XS_EXTERNAL(boot_Class__MOP__Mixin__HasMethods);
+XS_EXTERNAL(boot_Class__MOP__Package);
+XS_EXTERNAL(boot_Class__MOP__Mixin__AttributeCore);
+XS_EXTERNAL(boot_Class__MOP__Method);
+XS_EXTERNAL(boot_Class__MOP__Method__Inlined);
+XS_EXTERNAL(boot_Class__MOP__Method__Generated);
+XS_EXTERNAL(boot_Class__MOP__Method__Overload);
+XS_EXTERNAL(boot_Class__MOP__Class);
+XS_EXTERNAL(boot_Class__MOP__Attribute);
+XS_EXTERNAL(boot_Class__MOP__Instance);
 
 MODULE = Moose  PACKAGE = Moose::Exporter
 
@@ -134,6 +139,7 @@ BOOT:
     MOP_CALL_BOOT (boot_Class__MOP__Method);
     MOP_CALL_BOOT (boot_Class__MOP__Method__Inlined);
     MOP_CALL_BOOT (boot_Class__MOP__Method__Generated);
+    MOP_CALL_BOOT (boot_Class__MOP__Method__Overload);
     MOP_CALL_BOOT (boot_Class__MOP__Class);
     MOP_CALL_BOOT (boot_Class__MOP__Attribute);
     MOP_CALL_BOOT (boot_Class__MOP__Instance);
@@ -150,13 +156,14 @@ _export_is_flagged (SV *sv)
     OUTPUT:
         RETVAL
 
-MODULE = Moose  PACKAGE = Moose::Util::TypeConstraints::OptimizedConstraints
+MODULE = Moose  PACKAGE = Moose::Util::TypeConstraints::Builtins
 
 bool
-RegexpRef (SV *sv=NULL)
+_RegexpRef (SV *sv=NULL)
     INIT:
-        if (!items)
+        if (!items) {
             sv = DEFSV;
+        }
     CODE:
         RETVAL = SvRXOK(sv);
     OUTPUT: