comparison gcc/testsuite/g++.dg/opt/pr82778.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 // PR rtl-optimization/82778
2 // { dg-do compile }
3 // { dg-options "-O2" }
4
5 template <typename a, int b> struct c {
6 typedef a d[b];
7 static a e(d f, int g) { return f[g]; }
8 };
9 template <typename a, int b> struct B {
10 typedef c<a, b> h;
11 typename h::d i;
12 long j;
13 a at() { return h::e(i, j); }
14 };
15 int k, m, r, s, t;
16 char l, n, q;
17 short o, p, w;
18 struct C {
19 int u;
20 };
21 B<C, 4> v;
22 void x() {
23 if (((p > (q ? v.at().u : k)) >> l - 226) + !(n ^ r * m))
24 s = ((-(((p > (q ? v.at().u : k)) >> l - 226) + !(n ^ r * m)) < 0) /
25 (-(((p > (q ? v.at().u : k)) >> l - 226) + !(n ^ r * m)) ^
26 -25 & o) &&
27 p) >>
28 (0 <= 0
29 ? 0 ||
30 (-(((p > (q ? v.at().u : k)) >> l - 226) + !(n ^ r * m)) <
31 0) /
32 (-(((p > (q ? v.at().u : k)) >> l - 226) +
33 !(n ^ r * m)) ^ -25 & o)
34 : 0);
35 w = (p > (q ? v.at().u : k)) >> l - 226;
36 t = !(n ^ r * m);
37 }