On 06/10/11 11:37, Bruno Haible wrote: > Hi, > > Markus Duft wrote: >> long long double is broken. > > You surely mean "long double"? There is no such type as "long long double" > in C.
right; long long double is too long :) > >> this bites me in the gnulib vasnprintf implementation, which calls snprintf >> from libc which immediately crashes ... :( > > gnulib and coreutils code now assume that the 'long double' type exists > and basically works at the compiler level (variable assignment, parameter > passing, return value). > > Setting gt_cv_c_long_double=no therefore has no effect any more. darn, i really hope it's "just" the libc thats broken... > > You need to find out what is wrong about that type on your platform. If > you're lucky, it's only some library functions (like snprintf) which don't > support it. > > Your best starting point should be to create a gnulib testdir > $ ./gnulib-tool --create-testdir --dir=/tmp/testdir --with-tests \ > acosl asinl atanl ceill cosl c-strtold expl float floorl fpucw frexpl \ > frexpl-nolibm ftoastr human isfinite isinf isnanl isnanl-nolibm ldexpl \ > ldtoastr logl math printf-frexpl roundl signbit sinl sqrtl tanl truncl \ > vasnprintf > and test that package on your platform. From the list of tests that fail, > you should be able to investigate the precise problems with 'long double'. thanks, will do so! markus > > Bruno