summaryrefslogtreecommitdiffstats
path: root/libcxx/include
diff options
context:
space:
mode:
authorEd Schouten <ed@nuxi.nl>2015-03-16 14:27:44 +0000
committerEd Schouten <ed@nuxi.nl>2015-03-16 14:27:44 +0000
commit74bbf7c7eed54cd01ad49c36820269bb7bfb5592 (patch)
tree8cc3519db95c9528d0d0e3f757dd9a107c14a40b /libcxx/include
parent933f51af54b1818f802ae4a6e0185624f3caf61f (diff)
downloadbcm5719-llvm-74bbf7c7eed54cd01ad49c36820269bb7bfb5592.tar.gz
bcm5719-llvm-74bbf7c7eed54cd01ad49c36820269bb7bfb5592.zip
Make *abs() and *div() work on CloudABI.
According to POSIX, *abs() and *div() are allowed to be macros (in addition to being functions). Make sure we undefine these, so that std::*abs() and std::*div() work as expected. llvm-svn: 232379
Diffstat (limited to 'libcxx/include')
-rw-r--r--libcxx/include/cinttypes2
-rw-r--r--libcxx/include/cstdlib6
2 files changed, 8 insertions, 0 deletions
diff --git a/libcxx/include/cinttypes b/libcxx/include/cinttypes
index 786692b8fec..cfd763c98f4 100644
--- a/libcxx/include/cinttypes
+++ b/libcxx/include/cinttypes
@@ -247,7 +247,9 @@ _LIBCPP_BEGIN_NAMESPACE_STD
using::imaxdiv_t;
+#undef imaxabs
using::imaxabs;
+#undef imaxdiv
using::imaxdiv;
using::strtoimax;
using::strtoumax;
diff --git a/libcxx/include/cstdlib b/libcxx/include/cstdlib
index 152b891de78..298040e3f49 100644
--- a/libcxx/include/cstdlib
+++ b/libcxx/include/cstdlib
@@ -131,14 +131,20 @@ using ::getenv;
using ::system;
using ::bsearch;
using ::qsort;
+#undef abs
using ::abs;
+#undef labs
using ::labs;
#ifndef _LIBCPP_HAS_NO_LONG_LONG
+#undef llabs
using ::llabs;
#endif // _LIBCPP_HAS_NO_LONG_LONG
+#undef div
using ::div;
+#undef ldiv
using ::ldiv;
#ifndef _LIBCPP_HAS_NO_LONG_LONG
+#undef lldiv
using ::lldiv;
#endif // _LIBCPP_HAS_NO_LONG_LONG
using ::mblen;
OpenPOWER on IntegriCloud