[Rd] make check of R-alpha_2006-04-08_r37675 fails: qbeta
Prof Brian Ripley
ripley at stats.ox.ac.uk
Fri Apr 14 19:47:28 CEST 2006
On Fri, 14 Apr 2006, Peter Dalgaard wrote:
> Prof Brian Ripley <ripley at stats.ox.ac.uk> writes:
>
>> Uwe Ligges had the same problem with gcc 3.3.1 on SuSE 9.0. So I
>> installed gcc 3.3.5 from the sources on an i386 box, and was able to
>> reproduce it.
>>
>> It is an optimization bug. The crucial code is
>>
>> xtrunc = tx; /* this prevents trouble with excess FPU */
>> /* precision on some machines. */
>> if (xtrunc == xinbta)
>> goto L_converged;
>>
>> and both xtrunc and xinbta are volatile. Seems that is being ignored
>> in 3.3.5/1, and so the loop never terminates.
>>
>> Using an explicit check is safer and faster. I'll put mine in once I
>> have finished testing.
>
> However, if the compiler is disobeying "volatile", it is buggy and it
> might be safer not to use that compiler at all. There's no telling
> what else might break for the same reason.
I agree, and in my earlier reply suggested we write this off but given we
now have two reports I can see many more after release. It is a known bug
in gcc 3.3.x, and so far nothing else has come to light. (This only came
to light because the warning had previously been suppressed.)
I would advise against systems as old as SuSE 9.0 or many grounds, but
some people may have no choice.
[...]
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list