]> git.ozlabs.org Git - ccan/blob - ccan/tlist2/test/compile_fail-tlist_add_tail_2.c
tlist2: a alternate to tlist that encodes the member offset into the container type
[ccan] / ccan / tlist2 / test / compile_fail-tlist_add_tail_2.c
1 #include <ccan/tlist2/tlist2.h>
2
3 struct child {
4         const char *name;
5         struct list_node list;
6 };
7
8 struct cousin {
9         const char *name;
10         struct list_node list;
11 };
12
13 int main(int argc, char *argv[])
14 {
15         TLIST2(struct child, list) children;
16         TLIST2(struct cousin, list) cousins;
17         struct child child = { "child" };
18         struct cousin cousin = { "cousin" };
19
20         tlist2_init(&children);
21         tlist2_init(&cousins);
22         tlist2_add(&children, &child);
23         tlist2_add(&cousins, &cousin);
24         tlist2_del_from(&cousins, &cousin);
25 #ifdef FAIL
26 #if !HAVE_FLEXIBLE_ARRAY_MEMBER
27 #error Need flexible array members to check type
28 #endif
29         tlist2_add_tail(&children, &cousin);
30 #endif
31         return 0;
32 }