1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 // expected-no-diagnostics
3 
4 namespace N1 {
5   struct X { };
6   int& f(void*);
7 }
8 
9 namespace N2 {
10   template<typename T> struct Y { };
11 }
12 
13 namespace N3 {
14   void test() {
15     int &ir = f((N2::Y<N1::X>*)0);
16   }
17 }
18 
19 int g(void *);
20 long g(N1::X);
21 
22 namespace N1 {
23   void h(int (*)(void *));
24 }
25 
26 void test() {
27   h((&g));
28 }
29