https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111639

--- Comment #2 from Georg-Johann Lay <gjl at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #0)
> The <math.h> in avr-libc does things like this:
> 
> extern double acos(double __x) __ATTR_CONST__;
> #define acosf acos            /**< The alias for acos().      */

This is no more the case with current AVR-LibC, which uses proper prototypes
and symbols for acos, acosf and acosl etc.

Here is math.h from the AVR-LibC v2.1 release (Jan 2022) :
https://github.com/avrdudes/avr-libc/blob/c466ef11ebf6cf774b7148dbd78c250789989ce0/include/math.h
(which has only acos and acosf, where the alias is implemented using assembly
name __asm("")).

The next release will also include long double prototypes, and they are proper
prototypes (without __asm("") names).

math.h from current HEAD:
https://github.com/avrdudes/avr-libc/blob/main/include/math.h

Reply via email to