> +static volatile double snanval = __builtin_nans("");
> +static volatile double msnanval = -__builtin_nans("");
> +static volatile long double lsnanval = __builtin_nansl("");
> +static volatile long double lmsnanval = -__builtin_nansl("");
Space before paren. Does gcc 4.3 support those builtins?