X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fcast%2Ftest%2Fcompile_fail-cast_const3.c;h=f782f9d9ec5d10fc317021179934b17057ae60e0;hp=6232c863db040e9ad6e23b2e3a6ac8acad54af97;hb=4a084a9e956e6e5fec9f9ecb02ca56a79de4a422;hpb=ef54ea44cc261a59bf2d4b5f9898c89da409859d diff --git a/ccan/cast/test/compile_fail-cast_const3.c b/ccan/cast/test/compile_fail-cast_const3.c index 6232c863..f782f9d9 100644 --- a/ccan/cast/test/compile_fail-cast_const3.c +++ b/ccan/cast/test/compile_fail-cast_const3.c @@ -1,12 +1,17 @@ #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 + const #ifdef FAIL - int + struct char_struct #else char #endif @@ -15,3 +20,9 @@ int main(int argc, char *argv[]) uc = cast_const3(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