> [ Attached Message ]From:Paul Zimmermann [...] > after all, I now believe this is a compiler failure, since the MPN_ZERO > instruction is not passed to GMP, but it is converted into memset by > mpfr-gmp.h. The documentation for memset does not forbid a zero size.
Ah, now it makes sense that the problem only appears on T2 and not other sparc, since there is a different implementation of memset in libc there: http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc_psr/sun4v/common/memset.s Although from what I can see the case where the third argument is 0 looks quite safe. Or maybe this version is not in solaris 10, just opensolaris? It would be interesting to know which version is used, all those I checked looked all right (for the case memset(*,*,0)), and there is less space for a compiler bug when the code is written in assembly... > However I was not able to reproduce the problem with the following > simple program: [...] > a[0] = (mp_limb_t) 2684354560; I would have tried with a more random number (in case the bug sets the last bits to 0). --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---
