From db63b0d515d65e7a6bc9ed6bd8b8a8533847a388 Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Sat, 24 Feb 2018 15:21:23 +0100 Subject: [PATCH] Fix code generation analyzis for list Add dual push list --- tests/tgen-mlist.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/tests/tgen-mlist.c b/tests/tgen-mlist.c index c0b60467..d1325659 100644 --- a/tests/tgen-mlist.c +++ b/tests/tgen-mlist.c @@ -24,7 +24,8 @@ #include "m-list.h" #include "m-i-list.h" -LIST_DEF(dbl, double) +LIST_DEF(list_dbl, double) +LIST_DUAL_PUSH_DEF(list_dbl2, double) void f_push_back(list_dbl_t list); double f_iterator(list_dbl_t list); @@ -36,19 +37,37 @@ void f_push_back(list_dbl_t list) double f_iterator(list_dbl_t list) { - list_it_dbl_t it; + list_dbl_it_t it; double s = 0.0; for(list_dbl_it(it, list); !list_dbl_end_p(it); list_dbl_next(it)) s += *list_dbl_cref(it); return s; } +void f2_push_back(list_dbl2_t list); +double f2_iterator(list_dbl2_t list); + +void f2_push_back(list_dbl2_t list) +{ + list_dbl2_push_back(list, 2.0); +} + +double f2_iterator(list_dbl2_t list) +{ + list_dbl2_it_t it; + double s = 0.0; + for(list_dbl2_it(it, list); !list_dbl2_end_p(it); list_dbl2_next(it)) + s += *list_dbl2_cref(it); + return s; +} + + struct itest { int n; - ILIST_INTERFACE (list, struct itest); + ILIST_INTERFACE (ilist_list, struct itest); }; -ILIST_DEF(list, struct itest) +ILIST_DEF(ilist_list, struct itest) extern void f_init(ilist_list_t l); void f_init(ilist_list_t l)