aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-05-05 14:05:42 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2011-05-05 14:05:42 +0200
commit82357998ddcc01654e9c542de84af98ec23d1bf5 (patch)
treed7734c7a1771df73ffdd6ac4369fe0d55f1c93fb /gcc
parentd0228c2eaeb942cf8359a2fd08265f935f52dd0a (diff)
downloadgcc-82357998ddcc01654e9c542de84af98ec23d1bf5.zip
gcc-82357998ddcc01654e9c542de84af98ec23d1bf5.tar.gz
gcc-82357998ddcc01654e9c542de84af98ec23d1bf5.tar.bz2
re PR rtl-optimization/48381 (internal compiler error: in check_allocation, at ira.c:2094)
PR rtl-optimization/48381 * gcc.c-torture/compile/pr48381.c: New test. From-SVN: r173427
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/pr48381.c25
2 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5218e7d..79daf99 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 0000000..eeb9c84
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/pr48381.c
@@ -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));
+}