From 2b493a221d8b18409596a6e0094d49489fab1895 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Fri, 24 Nov 2023 20:02:37 +0100 Subject: [PATCH] floorf, ceilf tests: Strengthen against compiler optimizations. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reported by René Rebe . * tests/test-floorf1.c (main): Mark my_floorf as 'volatile'. * tests/test-floorf-ieee.c (main): Likewise. * tests/test-ceilf1.c (main): Mark my_ceilf as 'volatile'. * tests/test-ceilf-ieee.c (main): Likewise. --- ChangeLog | 9 +++++++++ tests/test-ceilf-ieee.c | 2 +- tests/test-ceilf1.c | 2 +- tests/test-floorf-ieee.c | 2 +- tests/test-floorf1.c | 2 +- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5b25a64c74..1834acd9da 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2023-11-24 Bruno Haible + + floorf, ceilf tests: Strengthen against compiler optimizations. + Reported by René Rebe . + * tests/test-floorf1.c (main): Mark my_floorf as 'volatile'. + * tests/test-floorf-ieee.c (main): Likewise. + * tests/test-ceilf1.c (main): Mark my_ceilf as 'volatile'. + * tests/test-ceilf-ieee.c (main): Likewise. + 2023-11-21 Bruno Haible strerrorname_np: Work around glibc bug on HPPA systems. diff --git a/tests/test-ceilf-ieee.c b/tests/test-ceilf-ieee.c index 02edc0d92a..bfdceee1c5 100644 --- a/tests/test-ceilf-ieee.c +++ b/tests/test-ceilf-ieee.c @@ -38,7 +38,7 @@ dummy (float f) int main (int argc, _GL_UNUSED char **argv) { - float (*my_ceilf) (float) = argc ? ceilf : dummy; + float (* volatile my_ceilf) (float) = argc ? ceilf : dummy; /* See IEEE 754, section 6.3: "the sign of the result of the round floating-point number to diff --git a/tests/test-ceilf1.c b/tests/test-ceilf1.c index 61a4ae99b5..2ad2b30fb0 100644 --- a/tests/test-ceilf1.c +++ b/tests/test-ceilf1.c @@ -43,7 +43,7 @@ dummy (float f) int main (int argc, _GL_UNUSED char **argv) { - float (*my_ceilf) (float) = argc ? ceilf : dummy; + float (* volatile my_ceilf) (float) = argc ? ceilf : dummy; /* Zero. */ ASSERT (my_ceilf (0.0f) == 0.0f); diff --git a/tests/test-floorf-ieee.c b/tests/test-floorf-ieee.c index 32ceb5b7b1..8b1a02ac89 100644 --- a/tests/test-floorf-ieee.c +++ b/tests/test-floorf-ieee.c @@ -38,7 +38,7 @@ dummy (float f) int main (int argc, _GL_UNUSED char **argv) { - float (*my_floorf) (float) = argc ? floorf : dummy; + float (* volatile my_floorf) (float) = argc ? floorf : dummy; /* See IEEE 754, section 6.3: "the sign of the result of the round floating-point number to diff --git a/tests/test-floorf1.c b/tests/test-floorf1.c index b2787f6ff3..39b7a48432 100644 --- a/tests/test-floorf1.c +++ b/tests/test-floorf1.c @@ -43,7 +43,7 @@ dummy (float f) int main (int argc, _GL_UNUSED char **argv) { - float (*my_floorf) (float) = argc ? floorf : dummy; + float (* volatile my_floorf) (float) = argc ? floorf : dummy; /* Zero. */ ASSERT (my_floorf (0.0f) == 0.0f); -- 2.39.5