diff options
author | Richard Biener <rguenther@suse.de> | 2023-11-13 13:38:57 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-11-13 13:40:29 +0100 |
commit | a0b2abef4e62d816f669df478a3cc320647c3b31 (patch) | |
tree | 530fc14d93c013f9d6262370d575691cc90e8012 | |
parent | e0cacaabca30208f4ed05abddf48ff821374a0c6 (diff) | |
download | gcc-a0b2abef4e62d816f669df478a3cc320647c3b31.zip gcc-a0b2abef4e62d816f669df478a3cc320647c3b31.tar.gz gcc-a0b2abef4e62d816f669df478a3cc320647c3b31.tar.bz2 |
tree-optimization/111792 - new testcase
This was fixed as part of the PR111000 fix.
PR tree-optimization/111792
PR tree-optimization/111000
* gcc.dg/torture/pr111792.c: New testcase.
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr111792.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/torture/pr111792.c b/gcc/testsuite/gcc.dg/torture/pr111792.c new file mode 100644 index 0000000..58ae6f1 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr111792.c @@ -0,0 +1,39 @@ +/* { dg-do run } */ +/* { dg-require-effective-target lp64 } */ + +int c, d, h, i, j, l, *n = &h; +short e, f, g, *k, m; +long o; +short p(short p1, int q) { return q >= 32 || p1 > 5 >> q ? 1 : p1 << q; } +long u(unsigned p1) +{ + int r = 50, s, *t = &c; + L: + m && (*k = 0); + for (d = 1; d; d--) + for (s = 0; s < 3; s++) { + *n = i ^ p1; + *t = p1 > (unsigned)p((unsigned)(o = 4073709551615) >= p1 && 5, r); + if (f) + goto L; + } + for (; e < 1;) + return j; + int *b[2] = {&s, &r}; + for (; l; l--) { + long a[1]; + for (r = 0; r < 1; r++) { + h = a[0]; + if (g) + goto L; + } + } + return 0; +} +int main() +{ + u(6); + if (c != 1) + __builtin_abort(); + return 0; +} |