summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/torture/pr64995.C
blob: f2e1b1b3748307299590d417441d6a92143eba3e (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
26
27
28
29
// { dg-do compile }

extern "C" double acos(double);
class A {
public:
    double mY, mZ;
    A(double, double);
    double m_fn1(A *);
    int *m_fn2();
};
double a;
A *b;
A::A(double, double) : mY(), mZ() {}

double A::m_fn1(A *) { return mY * mZ; }

inline int *A::m_fn2() {
    mZ = 0;
    double c = m_fn1(this);
    a = acos(c);
    double d = m_fn1(b);
    acos(d);
    return 0;
}

void passTime() {
    A e(0, 1);
    e.m_fn2();
}