diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/crash5.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.brendan/crash5.C | 107 |
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 |