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