aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/pr82128.C
blob: 98bb27adf9d532722f1fc3bed4b7149c246d63f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// { dg-do compile }
// { dg-options "-O3 -fno-tree-forwprop" }

class A {
      virtual unsigned long m_fn1() const;
        virtual int &m_fn2(unsigned long) const;
};
class C : A {
public:
      int &m_fn2(unsigned long) const;
        unsigned long m_fn1() const;
};
class B {
      void m_fn3(const A &, const int &, const C &, int &) const;
};
void B::m_fn3(const A &, const int &, const C &, int &) const {
      C &a(a);
        for (long b = 0; a.m_fn1(); b++)
	      a.m_fn2(0);
}