comparison gcc/testsuite/g++.dg/pr84821.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 // { dg-do compile }
2 // { dg-options "-O2" }
3 // { dg-additional-options "-fPIC" { target fpic } }
4
5 typedef struct a *b;
6 struct a {
7 int c;
8 unsigned d[];
9 };
10 int e, f, g, i, l, m;
11 struct o {
12 long *h;
13 int c;
14 unsigned j;
15 int k;
16 long aa;
17 };
18 inline void p(o *r) { r->c = g; }
19 int *n, *ab;
20 inline bool s(o *r) {
21 for (; r->aa == 0; r->aa = r->h[r->j])
22 if (r->j >= r->c)
23 return false;
24 r->aa >>= 1;
25 for (; r->aa;)
26 r++;
27 *n = r->k;
28 return true;
29 }
30 class t {
31 public:
32 t(int);
33 operator b() { return q; }
34 b q;
35 };
36 bool u, v, ac;
37 void fn3() {
38 long w, x;
39 o ad;
40 bool ae;
41 t af(i), ag(i);
42 for (p(&ad); s(&ad);) {
43 a *ah = af, *ai = ah, *aj = ag;
44 x = ai->d[e] >> f & 1;
45 ae = x;
46 ai = aj;
47 w = ai->d[e] >> f & 1;
48 ac = w;
49 if (v && u && w && x)
50 ab[l] = ++m;
51 u = x;
52 }
53 for (;;)
54 ;
55 }