[PR c++/84702] ICE with default tmpl arg of overload set
[official-gcc.git] / gcc / testsuite / g++.dg / lto / 20091004-1_0.C
blob536ae46dadf2a1acbc20013a03df9deaec4e8607
1 // { dg-lto-do link }
2 // { dg-require-effective-target fpic }
3 // { dg-lto-options {{-fPIC -O -flto -Wno-return-type}} }
5 typedef double Real;
6 class Vector {
7     int dimen;
8     Real* val;
9 public:
10     Vector& operator=(const Vector& vec);
11     Vector(int p_dimen, Real *p_val)
12         : dimen(p_dimen), val(p_val)    { }
13     int dim() const;
15 class DVector : public Vector {
16 public:
17     void reDim(int newdim);
18     explicit DVector(const Vector& old);
19     DVector& operator=(const Vector& vec)    {
20         reDim(vec.dim());
21         Vector::operator=(vec);
22     }
24 Vector& Vector::operator=(const Vector& vec)
26   dimen = vec.dimen;
27   val = vec.val;
29 int Vector::dim() const { return dimen; }
30 DVector::DVector(const Vector& old) : Vector(0, 0)
32   *this = old;
34 void DVector::reDim(int newdim) {}
35 int main() {}