Hi. 1. signbit() This is my omission. With GCC 4.0 and early the signbit() function work fine. Since 4.1 branch the GCC replaces it with themselves inline code with internal compile error in result (GCC bug #30243). So a long time this function was untested. Now this bug is corrected and we see a mismatch: inline GCC's code does return any nonzero value, where the old realization (both Avr-libc and GCC inline) was return exactly 1. I must to exclude the note about "1" from documentation (include/math.h). IMHO, this API change is possible in current branch, as it is known the signbit() function was unusable (due to internal compiler error) a long time.
2. isinf() See the GCC bug #35509. Avr-libc's isinf() work fine. Hovever, since 4.3 branch the GCC replaces it with themselves inline code, which return the +1 value for negative infinity. This is mismatch to traditionaly isinf() behavior. I think, it is needed to add note about this bug. 3. modf() The modern GCC replaces it with inline code, which does not permit to use NULL address for the avoiding an integral part storing. I think, it is needed to add note about this. Other is not needed a quick corrections: 4. bug-22828 and other EEPROM tests: seems, this is a Simulavr problem. The 0.1.2.1 version is correct. I will look this in details. 5. Compilation of a few of printf() test is failed due to degradation of modern GCC code-size quality. Early branches are fine. I will split its in future. -------------- In future, it is desirable to exclude inline replacing of math functions for AVR back-end. This will reduce the code size (and, probably, enlarge the speed). I remember that it is not difficult. -------------- I plan to correct docs today, 5 Mar, at the nearest 6 hours. If it is not desirable, mail to 'avr-libc-dev', I will not have a connection with the mail-box. Dmitry. _______________________________________________ AVR-libc-dev mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/avr-libc-dev
