summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/torture/pr54647.C
blob: 2177ecd6799cf1b8bf4308eabe80c52b6ead2e01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// { dg-do compile }

class A
{
};
template <class type> struct D:A
{
  type & operator[](int);
};
struct B
{
  typedef D <int *>Row;
  struct C
    {
      Row *row;
    };
};
B::C a;
B::Row & b = *a.row;
void
fn1 ()
{
  while (1)
    b[0] = b[0] ? (int *) -1 : 0;
}