| // RUN: %clang_cc1 -fsyntax-only -verify %s | |
| // expected-no-diagnostics | |
| namespace N1 { | |
| struct X { }; | |
| int& f(void*); | |
| } | |
| namespace N2 { | |
| template<typename T> struct Y { }; | |
| } | |
| namespace N3 { | |
| void test() { | |
| int &ir = f((N2::Y<N1::X>*)0); | |
| } | |
| } | |
| int g(void *); | |
| long g(N1::X); | |
| namespace N1 { | |
| void h(int (*)(void *)); | |
| } | |
| void test() { | |
| h((&g)); | |
| } |