Non-GNU environments don't have __finite_*, so treat them as unavailable.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
I'm reasonably happy as long as this is fixed, but I would really rather see the logic reversed: rather than special casing each !glibc, all of these nonstandard functions should be enabled only if(T.isGlibc) to begin with.
You can also possibly remove the exception for musl in the logic for marking the *64() functions unavailable. In musl these are just compat symbols and generating references to them is purely-worse behavior. When _LARGEFILE_SOURCE is defined musl's headers redirect them all at the preprocessor level anyway.
Comment Actions
It looks like this is still an issue on trunk. Was there any other discussion of this?
Comment Actions
LGTM
lib/Analysis/TargetLibraryInfo.cpp | ||
---|---|---|
416–417 ↗ | (On Diff #172702) | Change this comment to better match the code? // The following functions are only available on GNU/Linux. // Linux variants without glibc (eg: bionic, musl) may have some subset. |