]> git.ozlabs.org Git - ponghero.git/blobdiff - ccan/container_of/test/compile_fail-bad-type.c
Prepare for release: rename to ponghero and pull in ccan.
[ponghero.git] / ccan / container_of / test / compile_fail-bad-type.c
diff --git a/ccan/container_of/test/compile_fail-bad-type.c b/ccan/container_of/test/compile_fail-bad-type.c
new file mode 100644 (file)
index 0000000..01dfd45
--- /dev/null
@@ -0,0 +1,22 @@
+#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 };
+       int *intp = &foo.a;
+       char *p;
+
+#ifdef FAIL
+       /* p is a char *, but this gives a struct foo * */
+       p = container_of(intp, struct foo, a);
+#else
+       p = (char *)intp;
+#endif
+       return p == NULL;
+}