croak("You cannot use tied HASH reference as initializing arguments");
}
- ENTER;
- SAVETMPS;
-
if(!ignore_triggers){
triggers_queue = newAV_mortal();
}
set_slot(object, newSVpvs_flags("__METACLASS__", SVs_TEMP), meta);
}
- FREETMPS;
- LEAVE;
}
static SV*
PUSHs(args);
PUTBACK;
- call_sv(AvARRAY(buildall)[i], G_VOID | G_DISCARD);
+ call_sv(AvARRAY(buildall)[i], G_VOID);
+
+ /* discard a scalar which G_VOID returns */
+ SPAGAIN;
+ (void)POPs;
+ PUTBACK;
}
}
XPUSHs(object);
PUTBACK;
- call_sv(AvARRAY(demolishall)[i], G_VOID | G_DISCARD | G_EVAL);
+ call_sv(AvARRAY(demolishall)[i], G_VOID | G_EVAL);
+
+ /* discard a scalar which G_VOID returns */
+ SPAGAIN;
+ (void)POPs;
+ PUTBACK;
+
if(sv_true(ERRSV)){
SV* const e = newSVsv(ERRSV);