X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=m4%2Fpsi_macro.m4;h=0ce6f84ac15b5dce19b0af3abf12398bce2bc613;hp=439098fabe4b0ec57a71532c18f1eaa6738822c4;hb=45cba21d5001261fd5dbceeea1e7374bbee6c1b0;hpb=b4508f6b917660970f887894a6aaed6c220a2c72 diff --git a/m4/psi_macro.m4 b/m4/psi_macro.m4 index 439098f..0ce6f84 100644 --- a/m4/psi_macro.m4 +++ b/m4/psi_macro.m4 @@ -2,15 +2,26 @@ dnl PSI_MACRO(macro, decl args, action-if-true) AC_DEFUN(PSI_MACRO, [ AC_CHECK_DECL(PSI_VAR_NAME($1)$2, [ $3 - macro_type=PSI_VAR_TYPE($1) - macro_name=PSI_VAR_NAME($1) - ifelse([$2], [], [ - macro_decl="()" - macro_call="" - ], [ - macro_decl="$2" - macro_call="(m4_map_args_sep([PSI_VAR_NAME(], [)], [, ], m4_bregexp($2, [(\(.*\))], [\1])))" - ]) + macro_type="PSI_VAR_TYPE($1)" + macro_name="PSI_VAR_NAME($1)" + m4_case([$2], + [(void)], [ + macro_decl="(void)" + macro_call="()" + ], + [()], [ + macro_decl="()" + macro_call="()" + ], + [], [ + macro_decl="()" + macro_call="" + ], + [ + macro_decl="$2" + macro_call="(m4_map_args_sep([PSI_VAR_NAME(], [)], [, ], m4_bregexp($2, [(\(.*\))], [\1])))" + ] + ) ifelse(PSI_VAR_TYPE($1), [void], [ macro_body="$macro_name$macro_call;" ], [