From 494a4d32e2e9ed6201c38ff3fa28ed38c5396644 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 24 Jan 2010 21:22:00 +0100 Subject: [PATCH] Tests: Defeat inlining of math functions by GCC >= 4.3.0. --- ChangeLog | 22 ++++++++++++++++++++++ tests/test-acosl.c | 4 +++- tests/test-asinl.c | 4 +++- tests/test-atanl.c | 4 +++- tests/test-cosl.c | 4 +++- tests/test-expl.c | 4 +++- tests/test-logl.c | 4 +++- tests/test-sinl.c | 4 +++- tests/test-sqrtl.c | 4 +++- tests/test-tanl.c | 4 +++- 10 files changed, 49 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6b0735259..f2a0c7b28 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,27 @@ 2010-01-24 Bruno Haible + Tests: Defeat inlining of math functions by GCC >= 4.3.0. + * tests/test-acosl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-asinl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-atanl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-cosl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-expl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-logl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-sinl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-sqrtl.c (x): New variable. + (main): Store argument in x and fetch it from x. + * tests/test-tanl.c (x): New variable. + (main): Store argument in x and fetch it from x. + +2010-01-24 Bruno Haible + Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default. * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir assignments to the initial TESTS_ENVIRONMENT. diff --git a/tests/test-acosl.c b/tests/test-acosl.c index 5f9591974..9533def5c 100644 --- a/tests/test-acosl.c +++ b/tests/test-acosl.c @@ -26,6 +26,7 @@ SIGNATURE_CHECK (acosl, long double, (long double)); #include "fpucw.h" #include "macros.h" +volatile long double x; long double y; int @@ -36,7 +37,8 @@ main () BEGIN_LONG_DOUBLE_ROUNDING (); /* A particular value. */ - y = acosl (0.6L); + x = 0.6L; + y = acosl (x); ASSERT (y >= 0.9272952180L && y <= 0.9272952181L); return 0; diff --git a/tests/test-asinl.c b/tests/test-asinl.c index 811f2d0de..8b6045734 100644 --- a/tests/test-asinl.c +++ b/tests/test-asinl.c @@ -26,6 +26,7 @@ SIGNATURE_CHECK (asinl, long double, (long double)); #include "fpucw.h" #include "macros.h" +volatile long double x; long double y; int @@ -36,7 +37,8 @@ main () BEGIN_LONG_DOUBLE_ROUNDING (); /* A particular value. */ - y = asinl (0.6L); + x = 0.6L; + y = asinl (x); ASSERT (y >= 0.6435011087L && y <= 0.6435011088L); return 0; diff --git a/tests/test-atanl.c b/tests/test-atanl.c index e78e82327..c36540164 100644 --- a/tests/test-atanl.c +++ b/tests/test-atanl.c @@ -26,6 +26,7 @@ SIGNATURE_CHECK (atanl, long double, (long double)); #include "fpucw.h" #include "macros.h" +volatile long double x; long double y; int @@ -36,7 +37,8 @@ main () BEGIN_LONG_DOUBLE_ROUNDING (); /* A particular value. */ - y = atanl (0.6L); + x = 0.6L; + y = atanl (x); ASSERT (y >= 0.5404195002L && y <= 0.5404195003L); return 0; diff --git a/tests/test-cosl.c b/tests/test-cosl.c index 5e63fdd35..a13e75f84 100644 --- a/tests/test-cosl.c +++ b/tests/test-cosl.c @@ -26,6 +26,7 @@ SIGNATURE_CHECK (cosl, long double, (long double)); #include "fpucw.h" #include "macros.h" +volatile long double x; long double y; int @@ -36,7 +37,8 @@ main () BEGIN_LONG_DOUBLE_ROUNDING (); /* A particular value. */ - y = cosl (0.6L); + x = 0.6L; + y = cosl (x); ASSERT (y >= 0.8253356149L && y <= 0.8253356150L); return 0; diff --git a/tests/test-expl.c b/tests/test-expl.c index fe671c8bd..440bc0ef6 100644 --- a/tests/test-expl.c +++ b/tests/test-expl.c @@ -26,6 +26,7 @@ SIGNATURE_CHECK (expl, long double, (long double)); #include "fpucw.h" #include "macros.h" +volatile long double x; long double y; int @@ -36,7 +37,8 @@ main () BEGIN_LONG_DOUBLE_ROUNDING (); /* A particular value. */ - y = expl (0.6L); + x = 0.6L; + y = expl (x); ASSERT (y >= 1.822118800L && y <= 1.822118801L); return 0; diff --git a/tests/test-logl.c b/tests/test-logl.c index 12bf62425..357df92de 100644 --- a/tests/test-logl.c +++ b/tests/test-logl.c @@ -26,6 +26,7 @@ SIGNATURE_CHECK (logl, long double, (long double)); #include "fpucw.h" #include "macros.h" +volatile long double x; long double y; int @@ -36,7 +37,8 @@ main () BEGIN_LONG_DOUBLE_ROUNDING (); /* A particular value. */ - y = logl (0.6L); + x = 0.6L; + y = logl (x); ASSERT (y >= -0.5108256238L && y <= -0.5108256237L); return 0; diff --git a/tests/test-sinl.c b/tests/test-sinl.c index 19e7e62ff..8d69b26ce 100644 --- a/tests/test-sinl.c +++ b/tests/test-sinl.c @@ -26,6 +26,7 @@ SIGNATURE_CHECK (sinl, long double, (long double)); #include "fpucw.h" #include "macros.h" +volatile long double x; long double y; int @@ -36,7 +37,8 @@ main () BEGIN_LONG_DOUBLE_ROUNDING (); /* A particular value. */ - y = sinl (0.6L); + x = 0.6L; + y = sinl (x); ASSERT (y >= 0.5646424733L && y <= 0.5646424734L); return 0; diff --git a/tests/test-sqrtl.c b/tests/test-sqrtl.c index 2bf34fa00..a7baef783 100644 --- a/tests/test-sqrtl.c +++ b/tests/test-sqrtl.c @@ -26,6 +26,7 @@ SIGNATURE_CHECK (sqrtl, long double, (long double)); #include "fpucw.h" #include "macros.h" +volatile long double x; long double y; int @@ -36,7 +37,8 @@ main () BEGIN_LONG_DOUBLE_ROUNDING (); /* A particular value. */ - y = sqrtl (0.6L); + x = 0.6L; + y = sqrtl (x); ASSERT (y >= 0.7745966692L && y <= 0.7745966693L); return 0; diff --git a/tests/test-tanl.c b/tests/test-tanl.c index 3d692fc6c..6e105cb4b 100644 --- a/tests/test-tanl.c +++ b/tests/test-tanl.c @@ -26,6 +26,7 @@ SIGNATURE_CHECK (tanl, long double, (long double)); #include "fpucw.h" #include "macros.h" +volatile long double x; long double y; int @@ -36,7 +37,8 @@ main () BEGIN_LONG_DOUBLE_ROUNDING (); /* A particular value. */ - y = tanl (0.6L); + x = 0.6L; + y = tanl (x); ASSERT (y >= 0.6841368083L && y <= 0.6841368084L); return 0; -- 2.11.0