From: Jakub Jelinek Date: Thu, 5 May 2011 12:05:42 +0000 (+0200) Subject: re PR rtl-optimization/48381 (internal compiler error: in check_allocation, at ira... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=82357998ddcc01654e9c542de84af98ec23d1bf5;p=gcc.git 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 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5218e7d19a5..79daf994253 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-05-05 Jakub Jelinek + + PR rtl-optimization/48381 + * gcc.c-torture/compile/pr48381.c: New test. + 2011-05-05 Uros Bizjak * 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 00000000000..eeb9c847f33 --- /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)); +}