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