diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/lto/20091004-1_1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/lto/20091004-1_1.C | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/lto/20091004-1_1.C b/gcc/testsuite/g++.dg/lto/20091004-1_1.C new file mode 100644 index 000000000..0328abaae --- /dev/null +++ b/gcc/testsuite/g++.dg/lto/20091004-1_1.C @@ -0,0 +1,26 @@ +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); + } +}; +class SLUFactor { + DVector vec; + void solveRight (Vector& x, const Vector& b); +}; +void SLUFactor::solveRight (Vector& x, const Vector& b) { + vec = b; +} |