re PR rtl-optimization/48381 (internal compiler error: in check_allocation, at ira...
authorJakub Jelinek <jakub@redhat.com>
Thu, 5 May 2011 12:05:42 +0000 (14:05 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 5 May 2011 12:05:42 +0000 (14:05 +0200)
PR rtl-optimization/48381
* gcc.c-torture/compile/pr48381.c: New test.

From-SVN: r173427

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr48381.c [new file with mode: 0644]

index 5218e7d19a53f7c978ac02e790906224f3299666..79daf994253017d278c7a494ce1f7ec08d5ce89e 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/48381
+       * gcc.c-torture/compile/pr48381.c: New test.
+
 2011-05-05  Uros Bizjak  <ubizjak@gmail.com>
 
        * gcc.target/i386/opt-1.c: Add --param min-insn-to-prefetch -ratio=0
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr48381.c b/gcc/testsuite/gcc.c-torture/compile/pr48381.c
new file mode 100644 (file)
index 0000000..eeb9c84
--- /dev/null
@@ -0,0 +1,25 @@
+/* PR rtl-optimization/48381 */
+
+struct S { int s; } t;
+
+int baz (void);
+void fn (int, unsigned, int, unsigned, char);
+
+static char
+foo (signed x, unsigned y)
+{
+  return x < 0 || y >= 32 ? 1 : x >> y;
+}
+
+long long
+bar (long long x, long y)
+{
+  return y < 0 ? 1LL : x - y;
+}
+
+void
+test (int x, unsigned y, unsigned z, char w)
+{
+  unsigned v[2];
+  fn (w || baz (), y, t.s, y, foo (bar (z, w) <= v[0], x));
+}