This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r228963 - in /trunk/gcc/testsuite: ChangeLog gc...
- From: rsandifo at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Mon, 19 Oct 2015 10:06:57 -0000
- Subject: r228963 - in /trunk/gcc/testsuite: ChangeLog gc...
Author: rsandifo
Date: Mon Oct 19 10:06:56 2015
New Revision: 228963
URL: https://gcc.gnu.org/viewcvs?rev=228963&root=gcc&view=rev
Log:
Remove undefined behaviour from builtins-20.c
builtins-20.c had:
if (cos((y*=2, -fabs(tan(x/-y)))) != cos((y*=2,tan(x/y))))
link_error ();
which is undefined behaviour. The test expected that y had the same
value in x/y and x/-y, but gimplification actually implements the
"obvious" interpretation, multiplying y by 2, using it for one cos call,
then multiplying it by 2 again and using it for the other cos call.
The file has other (valid) tests that side-effects don't block
optimisation, such as:
if (cosf((y*=3, -x)) != cosf((y*=3,x)))
link_error ();
so this patch simply removes this instance.
Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabi.
gcc/testsuite/
* gcc.dg/builtins-20.c: Remove undefined behavior.
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/builtins-20.c