This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
It looks like I forgot to send this patch to the lists last month. This implements the requirements that all overloads of std::abs are declared by either of <cmath> or <cstdlib>. This ensures that including only one of those headers and calling std::abs doesn't cause conversions from integers to floating point types, or vice versa. * 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. Tested on ppc64le and x86_64 GNU/Linux, and committed to trunk on 30 September.
Attachment:
patch.txt
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |