[libc++] Fix abs and div overload issue for compilers on AIX
authorjasonliu <jasonliu.development@gmail.com>
Thu, 8 Apr 2021 21:48:42 +0000 (21:48 +0000)
committerjasonliu <jasonliu.development@gmail.com>
Fri, 9 Apr 2021 14:47:13 +0000 (14:47 +0000)
commitf3d7536b24f1d65c09de4899a51d9fdda83c3b1d
treeaf69ad60bed1e6f522558c533b0806d61e3e1cfe
parentf9264ac0fdb7b58d1eb088ea91af0fee48816033
[libc++] Fix abs and div overload issue for compilers on AIX

Summary:
AIX system's stdlib.h provide different overload of abs and div
depending on compiler versions.

For example, std::div(long, long) and std::abs(long) are not available
from OS's stdlib.h when building with clang, but they are available
when building with xlclang compiler.

Therefore, we need to provide those extra overloads in libc++'s stdlib.h
when OS's stdlib.h does not.

Differential Revision: https://reviews.llvm.org/D99767
libcxx/include/cmath
libcxx/include/stdlib.h