X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ftlist2%2Ftest%2Fcompile_fail-tlist_for_each_safe_2.c;fp=ccan%2Ftlist2%2Ftest%2Fcompile_fail-tlist_for_each_safe_2.c;h=d06f64a41e8d21edfdc6d68882a86a19d75d5dea;hb=7a4e71c4180eaecc8799c050eeb052b0de8cf302;hp=0000000000000000000000000000000000000000;hpb=95573b36fd8130d5925f877a83b959c22aac1dfd;p=ccan diff --git a/ccan/tlist2/test/compile_fail-tlist_for_each_safe_2.c b/ccan/tlist2/test/compile_fail-tlist_for_each_safe_2.c new file mode 100644 index 00000000..d06f64a4 --- /dev/null +++ b/ccan/tlist2/test/compile_fail-tlist_for_each_safe_2.c @@ -0,0 +1,31 @@ +#include + +struct child { + const char *name; + struct list_node list; +}; + +struct cousin { + const char *name; + struct list_node list; +}; + +int main(int argc, char *argv[]) +{ + TLIST2(struct child, list) children; + struct child child = { "child" }; +#ifdef FAIL +#if !HAVE_FLEXIBLE_ARRAY_MEMBER +#error Need flexible array members to check type +#endif + struct cousin *c, *n; +#else + struct child *c, *n; +#endif + + tlist2_init(&children); + tlist2_add(&children, &child); + + tlist2_for_each_safe(&children, c, n); + return 0; +}