Author: petdance
Date: Fri Jul 6 19:53:49 2007
New Revision: 19661
Modified:
trunk/include/parrot/inter_call.h
Log:
safetied up the ADD_OP_VAR_PART macro
Modified: trunk/include/parrot/inter_call.h
==============================================================================
--- trunk/include/parrot/inter_call.h (original)
+++ trunk/include/parrot/inter_call.h Fri Jul 6 19:53:49 2007
@@ -197,13 +197,14 @@
#define SIG_ELEMS(sig) PMC_int_val(sig)
#define SIG_ARRAY(sig) (INTVAL*)PMC_data(sig)
#define SIG_ITEM(sig, idx) (SIG_ARRAY(sig))[idx]
+
+/* XXX Remove interp from this */
#define ADD_OP_VAR_PART(interp, seg, pc, n) do { \
- if (*pc == PARROT_OP_set_args_pc || \
- *pc == PARROT_OP_get_results_pc || \
- *pc == PARROT_OP_get_params_pc || \
- *pc == PARROT_OP_set_returns_pc) { \
- PMC *sig; \
- sig = seg->const_table->constants[pc[1]]->u.key; \
+ if (*(pc) == PARROT_OP_set_args_pc || \
+ *(pc) == PARROT_OP_get_results_pc || \
+ *(pc) == PARROT_OP_get_params_pc || \
+ *(pc) == PARROT_OP_set_returns_pc) { \
+ PMC * const sig = seg->const_table->constants[pc[1]]->u.key; \
n += SIG_ELEMS(sig); \
} \
} while (0)