From: Bruno Haible Date: Sun, 24 Jan 2010 20:22:00 +0000 (+0100) Subject: Tests: Defeat inlining of math functions by GCC >= 4.3.0. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=494a4d32e2e9ed6201c38ff3fa28ed38c5396644;p=pspp Tests: Defeat inlining of math functions by GCC >= 4.3.0. --- diff --git a/ChangeLog b/ChangeLog index 6b0735259d..f2a0c7b288 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,25 @@ +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. diff --git a/tests/test-acosl.c b/tests/test-acosl.c index 5f95919745..9533def5c2 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 811f2d0ded..8b60457347 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 e78e823273..c365401647 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 5e63fdd355..a13e75f84e 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 fe671c8bdf..440bc0ef60 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 12bf62425d..357df92de2 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 19e7e62ff8..8d69b26cee 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 2bf34fa004..a7baef783c 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 3d692fc6ce..6e105cb4b6 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;