X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ftlist2%2Ftest%2Fcompile_fail-tlist_add_2.c;fp=ccan%2Ftlist2%2Ftest%2Fcompile_fail-tlist_add_2.c;h=2151b2d17e3a49f5552499c6b85de4ba03c70dfb;hb=7a4e71c4180eaecc8799c050eeb052b0de8cf302;hp=0000000000000000000000000000000000000000;hpb=95573b36fd8130d5925f877a83b959c22aac1dfd;p=ccan diff --git a/ccan/tlist2/test/compile_fail-tlist_add_2.c b/ccan/tlist2/test/compile_fail-tlist_add_2.c new file mode 100644 index 00000000..2151b2d1 --- /dev/null +++ b/ccan/tlist2/test/compile_fail-tlist_add_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; + TLIST2(struct cousin, list) cousins; + struct child child = { "child" }; + struct cousin cousin = { "cousin" }; + + tlist2_init(&children); + tlist2_init(&cousins); + tlist2_add(&children, &child); + tlist2_add(&cousins, &cousin); + tlist2_del_from(&cousins, &cousin); +#ifdef FAIL +#if !HAVE_FLEXIBLE_ARRAY_MEMBER +#error Need flexible array members to check type +#endif + tlist2_add(&children, &cousin); +#endif + return 0; +}