28 lines
470 B
C
28 lines
470 B
C
// Copyright (C) 2002 Free Software Foundation
|
|
// Origin: C++/70
|
|
// Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
|
|
// { dg-do compile }
|
|
|
|
template <class T>
|
|
struct S;
|
|
|
|
template <class T>
|
|
void operator* (S<T>, S<T>);
|
|
|
|
template <class T>
|
|
struct S
|
|
{
|
|
friend void operator*<> (S, S); // { } // okay
|
|
void operator* (T) { }
|
|
};
|
|
|
|
template <class T>
|
|
void operator* (S<T>, S<T>) { }
|
|
|
|
int main()
|
|
{
|
|
S<int> s1, s2;
|
|
s1 * s2;
|
|
s1 * 2;
|
|
}
|