blob: d65cf29fff1e4a32d97669c1688bcd11131f2c33 (
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
30
31
32
33
34
35
|
// { dg-lto-do link }
// { dg-lto-options {{-fPIC -O -flto}} }
typedef double Real;
class Vector {
int dimen;
Real* val;
public:
Vector& operator=(const Vector& vec);
Vector(int p_dimen, Real *p_val)
: dimen(p_dimen), val(p_val) { }
int dim() const;
};
class DVector : public Vector {
public:
void reDim(int newdim);
explicit DVector(const Vector& old);
DVector& operator=(const Vector& vec) {
reDim(vec.dim());
Vector::operator=(vec);
}
};
Vector& Vector::operator=(const Vector& vec)
{
dimen = vec.dimen;
val = vec.val;
}
int Vector::dim() const { return dimen; }
DVector::DVector(const Vector& old) : Vector(0, 0)
{
*this = old;
}
void DVector::reDim(int newdim) {}
int main() {}
|