summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.brendan/crash1.C
blob: a718674471838c7da6f6b8248b2db0b0855ee8bf (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
36
37
38
39
40
41
42
43
44
// { dg-do assemble  }
// GROUPS passed old-abort
class D_Interval;

class Date
{
 public:
  Date(const D_Interval*,const Date&);
private:
  const D_Interval* interval;
};

class Time_Interval
{
 public:
   Time_Interval(const Date& start,const Date& stop);
   const Date& Start() const { return start; }
   const Date& Stop() const { return stop; }
 private:
   Date start;
   Date stop;
};

class Dated_Data
{
 public:
   Dated_Data(const Time_Interval& dates);
   virtual ~Dated_Data();
   Time_Interval Dates() const { return dates; }
 private:
   Time_Interval dates;
};

class Raw_Data : public Dated_Data
{
 public:
   Raw_Data(const Dated_Data *source,const D_Interval& period);
};

Raw_Data::Raw_Data(const Dated_Data *source,const D_Interval& period)
     : Dated_Data(Time_Interval(Date(&period,source->Dates().Start()),
				Date(&period,source->Dates().Stop())))
{
}