On Sat, 19 Feb 2000, Olly Betts wrote:

> @@ -2420,16 +2411,13 @@
>  [if test "$GCC" = yes; then
>    ac_cv_c_long_double=yes
>  else
> -AC_TRY_RUN(
> -[int
> -main()
> -{
> -  /* The Stardent Vistra knows sizeof(long double), but does not
> +AC_TRY_COMPILE(,
> +[/* The Stardent Vistra knows sizeof(long double), but does not
>       support it.  */
>    long double foo = 0.0;
>    /* On Ultrix 4.3 cc, long double is 4 and double is 8.  */
> -  exit(sizeof(long double) < sizeof(double));
> -}],
> +  switch (0) case sizeof(long double)<sizeof(double): case 1:;

Wow, that's pretty clever!  But since any nonzero value is considered
"true" by C, I worry whether a comparison is guaranteed to return `1' if
true.  To my surprise, my second edition K+R claims that this is so for
ANSI C.  Has it always been the case that `0<5' is `1'?


Reply via email to