From 0394ea7311b97f85efcd6437fd6c2b2fa2b24a8d Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 13 Mar 2006 09:02:40 +0000 Subject: [PATCH] re PR middle-end/26630 (Incorrect result when subtracting, casting to short and back to int, adding and multiplying) 2006-03-13 Richard Guenther PR middle-end/26630 * gcc.dg/torture/pr26630.c: New testcase. From-SVN: r111990 --- gcc/testsuite/ChangeLog | 7 ++++++- gcc/testsuite/gcc.dg/torture/pr26630.c | 11 +++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/torture/pr26630.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ebdbc184389..553dba47913 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,4 +1,9 @@ -2003-03-11 Roger Sayle +2006-03-13 Richard Guenther + + PR middle-end/26630 + * gcc.dg/torture/pr26630.c: New testcase. + +2006-03-11 Roger Sayle * gfortran.dg/dependency_10.f90: New test case. * gfortran.dg/dependency_11.f90: Likewise. diff --git a/gcc/testsuite/gcc.dg/torture/pr26630.c b/gcc/testsuite/gcc.dg/torture/pr26630.c new file mode 100644 index 00000000000..08cf5f65576 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr26630.c @@ -0,0 +1,11 @@ +/* { dg-do run } */ + +extern void abort(void); +int main() +{ + int a1 = 40000; + int c1 = ( ((int)(short)(a1-10000)) + 10000)*2; + if (c1 != 80000) + abort(); + return 0; +}