1// { dg-do assemble } 2// GROUPS passed old-abort 3class D_Interval; 4 5class Date 6{ 7 public: 8 Date(const D_Interval*,const Date&); 9private: 10 const D_Interval* interval; 11}; 12 13class Time_Interval 14{ 15 public: 16 Time_Interval(const Date& start,const Date& stop); 17 const Date& Start() const { return start; } 18 const Date& Stop() const { return stop; } 19 private: 20 Date start; 21 Date stop; 22}; 23 24class Dated_Data 25{ 26 public: 27 Dated_Data(const Time_Interval& dates); 28 virtual ~Dated_Data(); 29 Time_Interval Dates() const { return dates; } 30 private: 31 Time_Interval dates; 32}; 33 34class Raw_Data : public Dated_Data 35{ 36 public: 37 Raw_Data(const Dated_Data *source,const D_Interval& period); 38}; 39 40Raw_Data::Raw_Data(const Dated_Data *source,const D_Interval& period) 41 : Dated_Data(Time_Interval(Date(&period,source->Dates().Start()), 42 Date(&period,source->Dates().Stop()))) 43{ 44} 45