[libc++] Remove _LIBCPP_HAS_NO_LONG_LONG in favour of using_if_exists
authorLouis Dionne <ldionne.2@gmail.com>
Tue, 24 Aug 2021 14:30:39 +0000 (10:30 -0400)
committerLouis Dionne <ldionne.2@gmail.com>
Fri, 3 Sep 2021 18:26:59 +0000 (14:26 -0400)
commitc137a0754c4e13181c226359687ae9f3d8b488f0
tree84f1893cdbe693c2e69cc5086dd19c81a0a8ade6
parentd9eb6c7cf55f88b28bdc6edad2eb45d0d52dfa1a
[libc++] Remove _LIBCPP_HAS_NO_LONG_LONG in favour of using_if_exists

_LIBCPP_HAS_NO_LONG_LONG was only defined on FreeBSD. Instead, use the
using_if_exists attribute to skip over declarations that are not available
on the base system. Note that there's an annoying limitation that we can't
conditionally define a function based on whether the base system provides
a function, so for example we still need preprocessor logic to define the
abs() and div() overloads.

Differential Revision: https://reviews.llvm.org/D108630
libcxx/include/__config
libcxx/include/cstdlib
libcxx/include/cwchar
libcxx/include/stdlib.h