This is quite odd, as I can can compile latest trunk fine without having to change WINVER or _WIN32_WINNT.
I am using MinGW 4.7.1 from:
http://sourceforge.net/projects/mingwbuilds/files/windows-host/
Custom Compilation Batch File:
@echo off
pushd %~dp0
set PATH=C:\MinGW32\bin;C:\Perl\bin
mingw32-make -f Make_ming.mak clean
mingw32-make -f Make_ming.mak
strip --strip-all gvim.exe
strip --strip-all vimrun.exe
strip --strip-all xxd\xxd.exe
C:\Windows\System32\xcopy.exe /y /f gvim.exe "C:\Program Files (x86)\Vim\vim73\"
C:\Windows\System32\xcopy.exe /y /f vimrun.exe "C:\Program Files (x86)\Vim\vim73\"
C:\Windows\System32\xcopy.exe /y /f xxd\xxd.exe "C:\Program Files (x86)\Vim\vim73\"
Diff of my Make_mingw.mak versus trunk, nothing special, just selection options and flags:
35c35
< FEATURES=BIG
---
> FEATURES=HUGE
37c37
< ARCH=i386
---
> ARCH=native
50c50
< POSTSCRIPT=no
---
> POSTSCRIPT=yes
52c52
< OLE=no
---
> OLE=yes
66c66
< STATIC_STDCPLUS=no
---
> STATIC_STDCPLUS=yes
102c102
< #PERL=C:/perl
---
> PERL=C:/perl
105c105
< PERL_VER=56
---
> PERL_VER=514
125c125
< #LUA=/usr/local
---
> LUA=C:/Lua51
197c197
< #PYTHON=c:/python20
---
> PYTHON=C:/Python27
205c205
< PYTHON_VER=22
---
> PYTHON_VER=27
220a221
> PYTHON3=C:/Python32
228c229
< PYTHON3_VER=31
---
> PYTHON3_VER=32
246c247
< #TCL=c:/tcl
---
> TCL=c:/Tcl
252c253
< TCL_VER = 83
---
> TCL_VER = 85
264c265
< #RUBY=c:/ruby
---
> RUBY=c:/Ruby193
271c272
< RUBY_VER = 16
---
> RUBY_VER = 191
274c275
< RUBY_VER_LONG = 1.6
---
> RUBY_VER_LONG = 1.9.1
308a310
> DEFINES += -DHAVE_STRUCT_TIMESPEC -DHAVE_STRUCT_TIMEZONE
444,445c446,447
< CFLAGS += -O3
< CFLAGS += -fomit-frame-pointer -freg-struct-return
---
> CFLAGS += -O2
> CFLAGS += -flto -fuse-linker-plugin -fwhole-program