Implement LWG 2192 and LWG 2294 for std::abs
authorJonathan Wakely <jwakely@redhat.com>
Fri, 30 Sep 2016 16:07:43 +0000 (17:07 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 30 Sep 2016 16:07:43 +0000 (17:07 +0100)
commit37b204de605563e7932e26099d28ea8c86cb1935
tree29df99f537873568071d47efb29f027765fef0c7
parentc0401cf78c555ef38d2d2fba94ebffeaef7c6bc9
Implement LWG 2192 and LWG 2294 for std::abs

* doc/xml/manual/intro.xml: Document LWG 2192 changes.
* doc/html/*: Regenerate.
* include/Makefile.am: Add bits/std_abs.h.
* include/Makefile.in: Regenerate.
* include/bits/std_abs.h: New header defining all required overloads
of std::abs in one place (LWG 2294).
* include/c_global/cmath (abs(double), abs(float), abs(long double)):
Move to bits/std_abs.h.
(abs<_Tp>(_Tp)): Remove.
* include/c_global/cstdlib (abs(long), abs(long long), abs(__int<N>)):
Move to bits/std_abs.h.
* testsuite/26_numerics/headers/cmath/dr2192.cc: New test.
* testsuite/26_numerics/headers/cmath/dr2192_neg.cc: New test.
* testsuite/26_numerics/headers/cstdlib/dr2192.cc: New test.
* testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: New test.

From-SVN: r240660
12 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/doc/html/manual/bugs.html
libstdc++-v3/doc/xml/manual/intro.xml
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/std_abs.h [new file with mode: 0644]
libstdc++-v3/include/c_global/cmath
libstdc++-v3/include/c_global/cstdlib
libstdc++-v3/testsuite/26_numerics/headers/cmath/dr2192.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cmath/dr2192_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2192.cc [new file with mode: 0644]
libstdc++-v3/testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc [new file with mode: 0644]