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> 5 6// bug 147. We ICE'd on an unprocessed LOOKUP_EXPR during tsubsting 7 8namespace EManip { 9 template <class T> void do_assign(T* d); // { dg-error "" } candidate 10} 11template <class T> void do_assign(T* d); // { dg-error "" } candidate 12 13template <class T> 14struct MatrixC 15{ 16 void foo () { 17 EManip::do_assign<T> (0); 18 &EManip::do_assign<T>; // { dg-bogus "" } unresolved 19 &do_assign<T>; // { dg-bogus "" } unresolved 20 EManip::do_assign<T>; // { dg-bogus "" } unresolved 21 do_assign<T>; // { dg-bogus "" } unresolved 22 } 23}; 24void foo(MatrixC <double> *ptr) 25{ 26 EManip::do_assign<double>; // { dg-bogus "" } unresolved 27 &EManip::do_assign<double>; // { dg-bogus "" } 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; 33} 34