]> git.ozlabs.org Git - ccan/blobdiff - ccan/container_of/test/compile_fail-types.c
Move modules to ccan/ tools to tools/
[ccan] / ccan / container_of / test / compile_fail-types.c
diff --git a/ccan/container_of/test/compile_fail-types.c b/ccan/container_of/test/compile_fail-types.c
new file mode 100644 (file)
index 0000000..69f02da
--- /dev/null
@@ -0,0 +1,21 @@
+#include "container_of/container_of.h"
+#include <stdlib.h>
+
+struct foo {
+       int a;
+       char b;
+};
+
+int main(int argc, char *argv[])
+{
+       struct foo foo = { .a = 1, .b = 2 }, *foop;
+       int *intp = &foo.a;
+
+#ifdef FAIL
+       /* b is a char, but intp is an int * */
+       foop = container_of(intp, struct foo, b);
+#else
+       foop = NULL;
+#endif
+       return intp == NULL;
+}