X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ftlist2%2Ftest%2Fcompile_fail-tlist_for_each_2.c;fp=ccan%2Ftlist2%2Ftest%2Fcompile_fail-tlist_for_each_2.c;h=776d141db53e4e3e59f0d98ca519aa0cbb40324b;hb=7a4e71c4180eaecc8799c050eeb052b0de8cf302;hp=0000000000000000000000000000000000000000;hpb=95573b36fd8130d5925f877a83b959c22aac1dfd;p=ccan diff --git a/ccan/tlist2/test/compile_fail-tlist_for_each_2.c b/ccan/tlist2/test/compile_fail-tlist_for_each_2.c new file mode 100644 index 00000000..776d141d --- /dev/null +++ b/ccan/tlist2/test/compile_fail-tlist_for_each_2.c @@ -0,0 +1,32 @@ +#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; +#else + struct child *c; +#endif + + tlist2_init(&children); + tlist2_add(&children, &child); + + tlist2_for_each(&children, c) + (void) c; /* Suppress unused-but-set-variable warning. */ + return 0; +}