- #define ARG_CASE(prog,selected,result) \
- #ifdef CSQC \
- #if (prog != ARG_SV) && (prog != ARG_DC) \
- case selected: { arg_slot[sel_num] = result; ++sel_num; break; } \
- #endif \
- #else \
- #if (prog != ARG_CS) && (prog != ARG_DC) \
- case selected: { arg_slot[sel_num] = result; ++sel_num; break; } \
- #endif \
- #endif
+ #ifdef CSQC
+ #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_SV(selected,result)
+ #define ARG_CASE_ARG_DC(selected,result)
+ #else
+ #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS(selected,result)
+ #define ARG_CASE_ARG_SV(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_DC(selected,result)
+ #endif
+ #define ARG_CASE(prog,selected,result) ARG_CASE_##prog(selected,result)