TP
#define ADD_TEST_ABUSE(TP, FN) do \
ATF_TP_ADD_TC(TP, abuse_##FN##_macro_c); \
ATF_TP_ADD_TC(TP, abuse_##FN##_function_c); \
ATF_TP_ADD_TC(TP, abuse_##FN##_macro_locale); \
ATF_TP_ADD_TC(TP, abuse_##FN##_function_locale); \
#define ADD_TEST_ABUSE_OVERRIDE(TP, FN) do \
ATF_TP_ADD_TC(TP, abuse_override_##FN##_macro_c); \
ATF_TP_ADD_TC(TP, abuse_override_##FN##_function_c); \
ATF_TP_ADD_TC(TP, abuse_override_##FN##_macro_locale); \
ATF_TP_ADD_TC(TP, abuse_override_##FN##_function_locale); \
#define ADD_TEST_USE(TP, FN) do \
ATF_TP_ADD_TC(TP, FN##_macro_c); \
ATF_TP_ADD_TC(TP, FN##_function_c); \
ATF_TP_ADD_TC(TP, FN##_macro_locale); \
ATF_TP_ADD_TC(TP, FN##_function_locale); \
TP(sym->s_type)->t_tspec == FUNC &&
TP(sym->s_type)->t_proto) {
} else if (decl != NULL && TP(decl->s_type)->t_proto) {
if (TP(sym1->s_type)->t_tspec != FUNC)
if (sym == sym1 || !TP(sym->s_type)->t_proto)
ap1 = TP(sym1->s_type)->t_args;
ap2 = TP(sym->s_type)->t_args;
tp1 = TP(sym1->s_type);
tp2 = TP(sym->s_type);
if (TP(sym->s_type)->t_tspec == FUNC)
t1 = (tp1 = TP(def->s_type)->t_subt)->t_tspec;
tp2 = TP(call->f_type)->t_subt;
const type_t *tp1 = TP(def->s_type);
const type_t *tp2 = TP(sym->s_type);
if ((tp1 = TP(def->s_type))->t_tspec != FUNC)
} else if (decl != NULL && TP(decl->s_type)->t_proto) {
if ((tp1 = TP(decl->s_type))->t_tspec != FUNC)
if ((tp1 = TP(call1->f_type))->t_tspec != FUNC)
if ((tp2 = TP(call->f_type))->t_tspec != FUNC)
asgn = def != NULL || (decl != NULL && TP(decl->s_type)->t_proto);
if (TP(sym->s_type)->t_tspec == FUNC) {
outtype(TP(sym->s_type));
tp->t_subt = TP(inptype(cp, &cp));
tp->t_subt = TP(inptype(cp, &cp));
tp->t_args[i] = TP(inptype(cp, &cp));
tp->t_subt = TP(inptype(cp, &cp));