2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.pt / crash58.C
blob315f3e02896b4f03f60082281df1098da33bec92
1 // { dg-do assemble  }
2 // 
3 // Copyright (C) 2000, 2002 Free Software Foundation, Inc.
4 // Contributed by Nathan Sidwell 5 Sept 2000 <nathan@codesourcery.com>
6 // bug 147. We ICE'd on an unprocessed LOOKUP_EXPR during tsubsting
8 namespace EManip {
9     template <class T> void do_assign(T* d);  // { dg-error "" } candidate
11 template <class T> void do_assign(T* d);    // { dg-error "" } candidate
13 template <class T>
14 struct MatrixC
16   void foo () {
17     EManip::do_assign<T> (0);
18     &EManip::do_assign<T>;      // { dg-error "" } unresolved
19     &do_assign<T>;              // { dg-error "" } unresolved
20     EManip::do_assign<T>;       // { dg-error "" } unresolved
21     do_assign<T>;               // { dg-error "" } unresolved
22   }
24 void foo(MatrixC <double> *ptr)
26   EManip::do_assign<double>;    // { dg-error "" } unresolved
27   &EManip::do_assign<double>;   // { dg-error "" } unresolved
28   ptr->foo ();
29   void (*p1) (int *) = &do_assign<double>;       // { dg-error "" } cannot convert
30   void (*p2) (int *) = &EManip::do_assign<double>; // { dg-error "" } cannot convert
31   void (*p3) (int *) = &do_assign;
32   void (*p4) (int *) = &EManip::do_assign;