diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/overload/operator-star-1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/overload/operator-star-1.C | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/overload/operator-star-1.C b/gcc/testsuite/g++.dg/overload/operator-star-1.C new file mode 100644 index 000000000..8780d5f62 --- /dev/null +++ b/gcc/testsuite/g++.dg/overload/operator-star-1.C @@ -0,0 +1,27 @@ +// 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; +} |