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