[llvm] [LibCallShrinkWrap] Added ilogb in performCallErrors() (PR #122582)

via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 11 00:06:46 PST 2025


c8ef wrote:

And I am suspicious of the original code, which states that the error in calling `ilogb` is the same as `log`. However, according to the man pages, this is not true.

`ilogb`:
```
ERRORS         [top](https://man7.org/linux/man-pages/man3/ilogb.3.html#top_of_page)
       See [math_error(7)](https://man7.org/linux/man-pages/man7/math_error.7.html) for information on how to determine whether an
       error has occurred when calling these functions.

       The following errors can occur:

       Domain error: x is 0 or a NaN
              An invalid floating-point exception (FE_INVALID) is
              raised, and [errno](https://man7.org/linux/man-pages/man3/errno.3.html) is set to EDOM (but see BUGS).

       Domain error: x is an infinity
              An invalid floating-point exception (FE_INVALID) is
              raised, and [errno](https://man7.org/linux/man-pages/man3/errno.3.html) is set to EDOM (but see BUGS).
```

`log`:
```
See [math_error(7)](https://man7.org/linux/man-pages/man7/math_error.7.html) for information on how to determine whether an
       error has occurred when calling these functions.

       The following errors can occur:

       Domain error: x is negative
              [errno](https://man7.org/linux/man-pages/man3/errno.3.html) is set to EDOM.  An invalid floating-point exception
              (FE_INVALID) is raised.

       Pole error: x is zero
              [errno](https://man7.org/linux/man-pages/man3/errno.3.html) is set to ERANGE.  A divide-by-zero floating-point
              exception (FE_DIVBYZERO) is raised.
```

https://github.com/llvm/llvm-project/pull/122582


More information about the llvm-commits mailing list