1// { dg-do compile }
2
3class basic_ostream {
4public:
5    basic_ostream &operator<<(basic_ostream &p1(basic_ostream &)) {
6	return p1(*this);
7    }
8} a;
9void fn1() __attribute__((__noreturn__));
10basic_ostream &fn2(basic_ostream &) { fn1(); }
11void fn3() { a << fn2; }
12