summaryrefslogtreecommitdiffstats
path: root/libcxx/www
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2019-04-23 18:01:58 +0000
committerEric Fiselier <eric@efcs.ca>2019-04-23 18:01:58 +0000
commit1670772adc0ebe647aa8cda20e0b7dada3cf3e85 (patch)
treebc4e351667cbe843abdc4ada4345e055df5a430a /libcxx/www
parentf945429fed52bc7c182d5b38469a41ab5eea03a2 (diff)
downloadbcm5719-llvm-1670772adc0ebe647aa8cda20e0b7dada3cf3e85.tar.gz
bcm5719-llvm-1670772adc0ebe647aa8cda20e0b7dada3cf3e85.zip
Fix implementation of ::abs and std::abs LWG 2192.
Summary: All overloads of `::abs` and `std::abs` must be present in both `<cmath>` and `<cstdlib>`. This is problematic to implement because C defines `fabs` in `math.h` and `labs` in `stdlib.h`. This introduces a circular dependency between the two headers. This patch implements that requirement by moving `abs` into `math.h` and making `stdlib.h` include `math.h`. In order to get the underlying C declarations from the "real" `stdlib.h` inside our `math.h` we need some trickery. Specifically we need to make `stdlib.h` include next itself. Suggestions for a cleaner implementation are welcome. Reviewers: mclow.lists, ldionne Reviewed By: ldionne Subscribers: krytarowski, fedor.sergeev, dexonsmith, jdoerfert, jsji, libcxx-commits Differential Revision: https://reviews.llvm.org/D60097 llvm-svn: 359020
Diffstat (limited to 'libcxx/www')
-rw-r--r--libcxx/www/cxx1z_status.html2
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxx/www/cxx1z_status.html b/libcxx/www/cxx1z_status.html
index a4ef75764ae..b8357ff2840 100644
--- a/libcxx/www/cxx1z_status.html
+++ b/libcxx/www/cxx1z_status.html
@@ -281,7 +281,7 @@
<tr><td><a href="https://wg21.link/LWG2492">2492</a></td><td>Clarify requirements for <tt>comp</tt></td><td>Kona</td><td>Complete</td></tr>
<tr><td><a href="https://wg21.link/LWG2495">2495</a></td><td>There is no such thing as an Exception Safety element</td><td>Kona</td><td>Complete</td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
- <tr><td><a href="https://wg21.link/LWG2192">2192</a></td><td>Validity and return type of <tt>std::abs(0u)</tt> is unclear</td><td>Jacksonville</td><td></td></tr>
+ <tr><td><a href="https://wg21.link/LWG2192">2192</a></td><td>Validity and return type of <tt>std::abs(0u)</tt> is unclear</td><td>Jacksonville</td><td>Complete</td></tr>
<tr><td><a href="https://wg21.link/LWG2276">2276</a></td><td>Missing requirement on <tt>std::promise::set_exception</tt></td><td>Jacksonville</td><td>Complete</td></tr>
<tr><td><a href="https://wg21.link/LWG2296">2296</a></td><td><tt>std::addressof</tt> should be <tt>constexpr</td><td>Jacksonville</td><td>Complete (Clang Only)</td></tr>
<tr><td><a href="https://wg21.link/LWG2450">2450</a></td><td><tt>(greater|less|greater_equal|less_equal)&lt;void&gt;</tt> do not yield a total order for pointers</td><td>Jacksonville</td><td>Complete</td></tr>
OpenPOWER on IntegriCloud