X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;ds=sidebyside;f=ccan%2Fcast%2Ftest%2Fcompile_fail-cast_const2-sizesame.c;fp=ccan%2Fcast%2Ftest%2Fcompile_fail-cast_const2-sizesame.c;h=a16cfacf15354c468189d50a4a87d6550da30442;hb=118ace351b789dfaca8866f84a8cd4b924941268;hp=0000000000000000000000000000000000000000;hpb=ce6eef4132acad78ae04a9e7c388ef932fb6411d;p=ccan diff --git a/ccan/cast/test/compile_fail-cast_const2-sizesame.c b/ccan/cast/test/compile_fail-cast_const2-sizesame.c new file mode 100644 index 00000000..a16cfacf --- /dev/null +++ b/ccan/cast/test/compile_fail-cast_const2-sizesame.c @@ -0,0 +1,28 @@ +#include +#include + +/* Note: this *isn't* sizeof(char) on all platforms. */ +struct char_struct { + char c; +}; + +int main(int argc, char *argv[]) +{ + char **uc; + const +#ifdef FAIL + struct char_struct +#else + char +#endif + **p = NULL; + + uc = cast_const2(char **, p); + return 0; +} + +#ifdef FAIL +#if !HAVE_TYPEOF||!HAVE_BUILTIN_CHOOSE_EXPR||!HAVE_BUILTIN_TYPES_COMPATIBLE_P +#error "Unfortunately we don't fail if cast_const can only use size" +#endif +#endif