diff --git a/src/interpret.h b/src/interpret.h index 23b64f597a45efc3e7ab1be5daf139965d0539dd..e75b8e052bc63b83b89d30d54c648e8b71fa7aa9 100644 --- a/src/interpret.h +++ b/src/interpret.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: interpret.h,v 1.59 2000/08/07 16:02:47 grubba Exp $ + * $Id: interpret.h,v 1.60 2000/08/07 18:53:20 grubba Exp $ */ #ifndef INTERPRET_H #define INTERPRET_H @@ -174,24 +174,6 @@ enum apply_type APPLY_LOW /* arg1 is the object pointer,(int)arg2 the function */ }; -#ifdef __ECL -static inline void apply_low(struct object *o, ptrdiff_t fun, INT32 args) -{ - mega_apply(APPLY_LOW, args, (void*)o, (void*)fun); -} - -static inline void strict_apply_svalue(struct svalue *sval, INT32 args) -{ - mega_apply(APPLY_SVALUE, args, (void*)sval, 0); -} -#else /* !__ECL */ -#define apply_low(O,FUN,ARGS) \ - mega_apply(APPLY_LOW, (ARGS), (void*)(O),(void*)(FUN)) - -#define strict_apply_svalue(SVAL,ARGS) \ - mega_apply(APPLY_SVALUE, (ARGS), (void*)(SVAL),0) -#endif /* __ECL */ - #define APPLY_MASTER(FUN,ARGS) \ do{ \ static int fun_,master_cnt=0; \ @@ -258,6 +240,27 @@ void cleanup_interpret(void); void really_clean_up_interpret(void); /* Prototypes end here */ +/* These need to be after the prototypes, + * to avoid implicit declaration of mega_apply(). + */ +#ifdef __ECL +static inline void apply_low(struct object *o, ptrdiff_t fun, INT32 args) +{ + mega_apply(APPLY_LOW, args, (void*)o, (void*)fun); +} + +static inline void strict_apply_svalue(struct svalue *sval, INT32 args) +{ + mega_apply(APPLY_SVALUE, args, (void*)sval, 0); +} +#else /* !__ECL */ +#define apply_low(O,FUN,ARGS) \ + mega_apply(APPLY_LOW, (ARGS), (void*)(O),(void*)(FUN)) + +#define strict_apply_svalue(SVAL,ARGS) \ + mega_apply(APPLY_SVALUE, (ARGS), (void*)(SVAL),0) +#endif /* __ECL */ + PMOD_EXPORT extern int d_flag; /* really in main.c */ PMOD_EXPORT extern int Pike_stack_size;