1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -verify -fms-extensions -triple i386-pc-win32 %s 2*67e74705SXin Li 3*67e74705SXin Li template <typename T> wmain()4*67e74705SXin Liint wmain() { // expected-error{{'wmain' cannot be a template}} 5*67e74705SXin Li return 0; 6*67e74705SXin Li } 7*67e74705SXin Li 8*67e74705SXin Li namespace { WinMain(void)9*67e74705SXin Liint WinMain(void) { return 0; } WinMain(int)10*67e74705SXin Liint WinMain(int) { return 0; } 11*67e74705SXin Li } 12*67e74705SXin Li wWinMain(void)13*67e74705SXin Livoid wWinMain(void) {} // expected-note{{previous definition is here}} wWinMain(int)14*67e74705SXin Livoid wWinMain(int) {} // expected-error{{conflicting types for 'wWinMain'}} 15*67e74705SXin Li foo()16*67e74705SXin Liint foo() { 17*67e74705SXin Li wmain<void>(); // expected-error{{no matching function for call to 'wmain'}} 18*67e74705SXin Li wmain<int>(); // expected-error{{no matching function for call to 'wmain'}} 19*67e74705SXin Li WinMain(); 20*67e74705SXin Li return 0; 21*67e74705SXin Li } 22