summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.brendan/crash1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/crash1.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash1.C44
1 files changed, 44 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash1.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash1.C
new file mode 100644
index 000000000..a71867447
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash1.C
@@ -0,0 +1,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())))
+{
+}