aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.brendan/crash5.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/crash5.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash5.C107
1 files changed, 1 insertions, 106 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash5.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash5.C
index d884189f6b8..b5287f33795 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash5.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash5.C
@@ -1,106 +1 @@
-// Build don't link:
-// GROUPS passed old-abort
-// Should have been fixed by:
-//
-// Sun Jun 13 12:55:22 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
-//
-// * cp-cvt.c (build_default_binary_type_conversion): Look deeper into
-// what ARG1 and ARG2 are if they're POINTER_TYPEs.
-
-volatile void exit(int);
-
-class CountableSet
-{
- public:
- virtual ~CountableSet() { }
-};
-
-template<class T>
-class FixedSet : virtual public CountableSet
-{
- public:
- virtual int Get(int, T&) = 0;
- virtual ~FixedSet() { }
-};
-
-class ShrinkableSet
-{
- public:
- virtual int Remove(int) = 0;
-};
-
-template<class T>
-class PVSet : virtual public FixedSet<T>, virtual public ShrinkableSet
-{
- public:
- virtual void Append(const T&) = 0;
- virtual void operator+=(const T& a) { Append(a); }
- virtual ~PVSet() { }
-};
-
-template<class T>
-class MutSet : virtual public FixedSet<T>, virtual public FixedSet<T *>
-{
- protected:
- typedef T *Tp;
-
- public:
- void Append(const Tp& tp) { Append(*tp); }
-
- T& Access(int p)
- {
- Tp tp;
- Get(p, tp);
- return *tp;
- }
- virtual ~MutSet() { }
-};
-
-template <class T>
-class SimpleSet : virtual public MutSet<T>
-{
- protected:
- T *array;
- int size;
-
- virtual void Allocate(int s)
- {
- array = new T[s];
- }
- public:
- SimpleSet()
- {
- size = 0;
- array = ((void*)0) ; // ERROR - implicit conversion
- }
- int Get(int p, T& t)
- {
- t = array[p-1];
- return 1;
- }
- int Get(int p, T *& t)
- {
- t = &array[p-1];
- return 1;
- }
- inline void Append(const T& a)
- {
- array[size-1] = a;
- }
- inline int Remove(int n) { return 0; }
-};
-
-class Dummy
-{
- public:
- Dummy() {}
-};
-
-main()
-{
- SimpleSet<Dummy *> bs1;
- int i, j;
- Dummy foo;
-
- bs1+=&foo;// ERROR - no .*
-}
+int