aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20070501-1.c16
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 82c9109..dcee989 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2007-05-01 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR middle-end/31740
+ * gcc.c-torture/compile/20070501-1.c: New testcase.
+
2007-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/31732
diff --git a/gcc/testsuite/gcc.c-torture/compile/20070501-1.c b/gcc/testsuite/gcc.c-torture/compile/20070501-1.c
new file mode 100644
index 0000000..39acd49
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/20070501-1.c
@@ -0,0 +1,16 @@
+ typedef signed int signed16 __attribute__ ((__mode__ (__HI__)));
+ typedef unsigned int unsigned16 __attribute__ ((__mode__ (__HI__)));
+ typedef signed16 HI;
+ typedef unsigned16 UHI;
+unsigned short f(int y)
+{
+ HI tmp_b4;
+ tmp_b4 = y;
+ UHI opval;
+ if (tmp_b4 == -32768)
+ opval = 32767;
+ else
+ opval = -tmp_b4;
+ return opval;
+}
+