* [PATCH] libstdc++: testsuite: use cmath long double overloads
@ 2022-06-21 5:37 Alexandre Oliva
2022-06-27 10:19 ` Alexandre Oliva
2022-06-27 11:01 ` Jonathan Wakely
0 siblings, 2 replies; 3+ messages in thread
From: Alexandre Oliva @ 2022-06-21 5:37 UTC (permalink / raw)
To: gcc-patches, libstdc++
In case we need to supplement the C standard library with additional
definitions for float and long double, the declarations expected to be
in the C headers may not be there. Rely on the cmath overloads
instead.
Regstrapped on x86_64-linux-gnu, also tested with a cross to
aarch64-rtems6. Ok to install?
for libstdc++-v3/ChangeLog
* testsuite/20_util/to_chars/long_double.cc: Use cmath
long double overloads for nexttoward and ldexp.
---
.../testsuite/20_util/to_chars/long_double.cc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc b/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
index 0b1c2c2936fdc..498388110b179 100644
--- a/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
+++ b/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
@@ -54,11 +54,11 @@ namespace detail
{
long double
nextupl(long double x)
- { return nexttowardl(x, numeric_limits<long double>::infinity()); }
+ { return nexttoward(x, numeric_limits<long double>::infinity()); }
long double
nextdownl(long double x)
- { return nexttowardl(x, -numeric_limits<long double>::infinity()); }
+ { return nexttoward(x, -numeric_limits<long double>::infinity()); }
}
// The long double overloads of std::to_chars currently just go through printf
@@ -138,7 +138,7 @@ test01()
for (int exponent : {-11000, -3000, -300, -50, -7, 0, 7, 50, 300, 3000, 11000})
for (long double testcase : hex_testcases)
{
- testcase = ldexpl(testcase, exponent);
+ testcase = ldexp(testcase, exponent);
if (testcase == 0.0L || isinf(testcase))
continue;
--
Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injustice
but very few check the facts. Ask me about <https://stallmansupport.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] libstdc++: testsuite: use cmath long double overloads
2022-06-21 5:37 [PATCH] libstdc++: testsuite: use cmath long double overloads Alexandre Oliva
@ 2022-06-27 10:19 ` Alexandre Oliva
2022-06-27 11:01 ` Jonathan Wakely
1 sibling, 0 replies; 3+ messages in thread
From: Alexandre Oliva @ 2022-06-27 10:19 UTC (permalink / raw)
To: gcc-patches; +Cc: libstdc++
On Jun 21, 2022, Alexandre Oliva <oliva@adacore.com> wrote:
> * testsuite/20_util/to_chars/long_double.cc: Use cmath
> long double overloads for nexttoward and ldexp.
Ping?
https://gcc.gnu.org/pipermail/gcc-patches/2022-June/596921.html
--
Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injustice
but very few check the facts. Ask me about <https://stallmansupport.org>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] libstdc++: testsuite: use cmath long double overloads
2022-06-21 5:37 [PATCH] libstdc++: testsuite: use cmath long double overloads Alexandre Oliva
2022-06-27 10:19 ` Alexandre Oliva
@ 2022-06-27 11:01 ` Jonathan Wakely
1 sibling, 0 replies; 3+ messages in thread
From: Jonathan Wakely @ 2022-06-27 11:01 UTC (permalink / raw)
To: Alexandre Oliva; +Cc: gcc Patches, libstdc++
On Tue, 21 Jun 2022 at 06:39, Alexandre Oliva via Libstdc++
<libstdc++@gcc.gnu.org> wrote:
>
>
> In case we need to supplement the C standard library with additional
> definitions for float and long double, the declarations expected to be
> in the C headers may not be there. Rely on the cmath overloads
> instead.
>
> Regstrapped on x86_64-linux-gnu, also tested with a cross to
> aarch64-rtems6. Ok to install?
OK
>
>
> for libstdc++-v3/ChangeLog
>
> * testsuite/20_util/to_chars/long_double.cc: Use cmath
> long double overloads for nexttoward and ldexp.
> ---
> .../testsuite/20_util/to_chars/long_double.cc | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc b/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
> index 0b1c2c2936fdc..498388110b179 100644
> --- a/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
> +++ b/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
> @@ -54,11 +54,11 @@ namespace detail
> {
> long double
> nextupl(long double x)
> - { return nexttowardl(x, numeric_limits<long double>::infinity()); }
> + { return nexttoward(x, numeric_limits<long double>::infinity()); }
>
> long double
> nextdownl(long double x)
> - { return nexttowardl(x, -numeric_limits<long double>::infinity()); }
> + { return nexttoward(x, -numeric_limits<long double>::infinity()); }
> }
>
> // The long double overloads of std::to_chars currently just go through printf
> @@ -138,7 +138,7 @@ test01()
> for (int exponent : {-11000, -3000, -300, -50, -7, 0, 7, 50, 300, 3000, 11000})
> for (long double testcase : hex_testcases)
> {
> - testcase = ldexpl(testcase, exponent);
> + testcase = ldexp(testcase, exponent);
> if (testcase == 0.0L || isinf(testcase))
> continue;
>
>
> --
> Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
> Free Software Activist GNU Toolchain Engineer
> Disinformation flourishes because many people care deeply about injustice
> but very few check the facts. Ask me about <https://stallmansupport.org>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-06-27 11:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-21 5:37 [PATCH] libstdc++: testsuite: use cmath long double overloads Alexandre Oliva
2022-06-27 10:19 ` Alexandre Oliva
2022-06-27 11:01 ` Jonathan Wakely
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).