1// { dg-do assemble  }
2// GROUPS passed overloading
3enum bar {};
4
5void operator+ (int, int);// { dg-error "" } .*
6void operator+ (bar&, int);
7
8template <class T> void operator+ (int b, T& t) { return b; }
9void operator+ (int, bar&);
10
11template <class T> class foo
12{
13public:
14  friend void operator+ <> (int, T&);
15};
16
17class baz;
18
19class foo<int>;
20class foo<baz>;
21