diff --git a/src/compilation.h b/src/compilation.h index dab80af780f509ead00c582262d54341108fe3ef..6f11f3384b8b2df3885fe5416b4f99352b9143a6 100644 --- a/src/compilation.h +++ b/src/compilation.h @@ -19,23 +19,29 @@ */ #ifdef STRUCT -#define IMEMBER(X,Y,Z) X Y Z ; -#define ZMEMBER(X,Y,Z) X Y Z ; +#define IMEMBER(X,Y) X Y ; +#define IMEMBER2(X,Y,Z) X Y Z ; +#define ZMEMBER(X,Y) X Y ; +#define ZMEMBER2(X,Y,Z) X Y Z ; #define SNAME(X,Y) struct X { struct X *previous; #define SEND }; #endif #ifdef DECLARE -#define IMEMBER(X,Y,Z) -#define ZMEMBER(X,Y,Z) +#define IMEMBER(X,Y) +#define IMEMBER2(X,Y,Z) +#define ZMEMBER(X,Y) +#define ZMEMBER2(X,Y,Z) #define SNAME(X,Y) static struct X * Y = 0; #define SEND #endif #ifdef PUSH -#define IMEMBER(X,Y,Z) MEMCPY((char *)&(oLd->Y), (char *)&(Y), sizeof(Y)); -#define ZMEMBER(X,Y,Z) MEMCPY((char *)&(oLd->Y), (char *)&(Y), sizeof(Y)); \ - MEMSET((char *)&(Y), 0, sizeof(Y)); +#define IMEMBER(X,Y) MEMCPY((char *)&(oLd->Y), (char *)&(Y), sizeof(Y)); +#define IMEMBER2(X,Y,Z) IMEMBER(X,Y) +#define ZMEMBER(X,Y) MEMCPY((char *)&(oLd->Y), (char *)&(Y), sizeof(Y)); \ + MEMSET((char *)&(Y), 0, sizeof(Y)); +#define ZMEMBER2(X,Y,Z) ZMEMBER(X,Y) #define SNAME(X,Y) { \ struct X *oLd; \ oLd=ALLOC_STRUCT(X); \ @@ -45,8 +51,10 @@ #ifdef POP -#define IMEMBER(X,Y,Z) MEMCPY((char *)&(Y), (char *)&(oLd->Y), sizeof(Y)); -#define ZMEMBER(X,Y,Z) MEMCPY((char *)&(Y), (char *)&(oLd->Y), sizeof(Y)); +#define IMEMBER(X,Y) MEMCPY((char *)&(Y), (char *)&(oLd->Y), sizeof(Y)); +#define IMEMBER2(X,Y,Z) IMEMBER(X,Y) +#define ZMEMBER(X,Y) MEMCPY((char *)&(Y), (char *)&(oLd->Y), sizeof(Y)); +#define ZMEMBER2(X,Y,Z) ZMEMBER(X,Y) #define SNAME(X,Y) { \ struct X *oLd; \ oLd=Y; Y=oLd->previous; @@ -61,36 +69,36 @@ #ifdef DEBUG #define STRMEMBER(X,Y) \ PCODE(if(X) fatal("Variable %s not deallocated properly.\n",Y);) \ - ZMEMBER(struct lpc_string *,X,) + ZMEMBER(struct lpc_string *,X) #else -#define STRMEMBER(X) \ - ZMEMBER(struct lpc_string *,X,) +#define STRMEMBER(X,Y) \ + ZMEMBER(struct lpc_string *,X) #endif #ifdef FILE_STATE SNAME(file_state,previous_file_state) - ZMEMBER(INT32,old_line,) - ZMEMBER(INT32,current_line,) - ZMEMBER(INT32,nexpands,) - ZMEMBER(int,pragma_all_inline,) - ZMEMBER(struct inputstate *,istate,) - ZMEMBER(struct hash_table *,defines,) + ZMEMBER(INT32,old_line) + ZMEMBER(INT32,current_line) + ZMEMBER(INT32,nexpands) + ZMEMBER(int,pragma_all_inline) + ZMEMBER(struct inputstate *,istate) + ZMEMBER(struct hash_table *,defines) STRMEMBER(current_file,"current_file") SEND #endif #ifdef PROGRAM_STATE SNAME(program_state,previous_program_state) - ZMEMBER(INT32,last_line,) + ZMEMBER(INT32,last_line) STRMEMBER(last_file,"last_file") - ZMEMBER(struct program,fake_program,) - ZMEMBER(node *,init_node,) - ZMEMBER(INT32,last_pc,) - ZMEMBER(int,num_parse_error,) - ZMEMBER(struct locals *,local_variables,) - ZMEMBER(dynamic_buffer,inherit_names,) - ZMEMBER(dynamic_buffer,areas,[NUM_AREAS]) - IMEMBER(int,comp_stackp,) + ZMEMBER(struct program,fake_program) + ZMEMBER(node *,init_node) + ZMEMBER(INT32,last_pc) + ZMEMBER(int,num_parse_error) + ZMEMBER(struct locals *,local_variables) + ZMEMBER(dynamic_buffer,inherit_names) + ZMEMBER2(dynamic_buffer,areas,[NUM_AREAS]) + IMEMBER(int,comp_stackp) SEND #endif @@ -98,5 +106,7 @@ #undef STRMEMBER #undef IMEMBER #undef ZMEMBER +#undef IMEMBER2 +#undef ZMEMBER2 #undef SNAME #undef SEND