[PATCH] D39611: [CodeGen] make cbrt and fma constant (never set errno); document complex calls as always constant

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Nov 3 13:32:53 PDT 2017


efriedma added a comment.

> The POSIX docs all have language like this for complex calls:
>  "No errors are defined."

I would not trust the POSIX documentation.

carg() is an alias for atan2(), and cabs() is an alias for hypot(), so they should be marked the same way.  (On glibc, cabs/hypot will set errno; not sure about carg/atan2.)

For the others transcendental functions... they can raise exceptions in some cases, so they could in theory set errno, but it looks like they don't on glibc?  Not sure if that's documented anywhere, or something we should depend on.


https://reviews.llvm.org/D39611





More information about the cfe-commits mailing list