Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them.
diff --git a/dlls/comctl32/comctl32undoc.c b/dlls/comctl32/comctl32undoc.c
index e882aae..71308ac 100644
--- a/dlls/comctl32/comctl32undoc.c
+++ b/dlls/comctl32/comctl32undoc.c
@@ -37,6 +37,8 @@
#include <ctype.h>
#include <limits.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "commctrl.h"
#include "objbase.h"
#include "winbase.h"
diff --git a/dlls/comctl32/propsheet.c b/dlls/comctl32/propsheet.c
index d1d759d..8389fe5 100644
--- a/dlls/comctl32/propsheet.c
+++ b/dlls/comctl32/propsheet.c
@@ -25,6 +25,8 @@
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "commctrl.h"
#include "prsht.h"
diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c
index 1a79e13..faedd28 100644
--- a/dlls/comctl32/treeview.c
+++ b/dlls/comctl32/treeview.c
@@ -47,6 +47,8 @@
#include <limits.h>
#include <stdlib.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "wingdi.h"
#include "commctrl.h"
diff --git a/dlls/commdlg/filedlg95.c b/dlls/commdlg/filedlg95.c
index 4fd3d26..b2f7037 100644
--- a/dlls/commdlg/filedlg95.c
+++ b/dlls/commdlg/filedlg95.c
@@ -59,6 +59,8 @@
#include <stdio.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "winternl.h"
#include "winnls.h"
diff --git a/dlls/commdlg/filedlgbrowser.c b/dlls/commdlg/filedlgbrowser.c
index 2ef6a6c..98b4b9f 100644
--- a/dlls/commdlg/filedlgbrowser.c
+++ b/dlls/commdlg/filedlgbrowser.c
@@ -22,6 +22,8 @@
#include <stdio.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "winnls.h"
diff --git a/dlls/commdlg/printdlg.c b/dlls/commdlg/printdlg.c
index e88f25d..dee146b 100644
--- a/dlls/commdlg/printdlg.c
+++ b/dlls/commdlg/printdlg.c
@@ -24,6 +24,9 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c
index bba516d..4b4815a 100644
--- a/dlls/d3d8/device.c
+++ b/dlls/d3d8/device.c
@@ -19,6 +19,9 @@
*/
#include <math.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
diff --git a/dlls/d3d8/directx.c b/dlls/d3d8/directx.c
index c03cf826..fe3b21d 100644
--- a/dlls/d3d8/directx.c
+++ b/dlls/d3d8/directx.c
@@ -18,6 +18,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
diff --git a/dlls/ddraw/d3dcommon.c b/dlls/ddraw/d3dcommon.c
index 64fe11c..7aa771e 100644
--- a/dlls/ddraw/d3dcommon.c
+++ b/dlls/ddraw/d3dcommon.c
@@ -19,6 +19,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "objbase.h"
#include "ddraw.h"
diff --git a/dlls/ddraw/d3ddevice/mesa.c b/dlls/ddraw/d3ddevice/mesa.c
index c2f175e..c596685 100644
--- a/dlls/ddraw/d3ddevice/mesa.c
+++ b/dlls/ddraw/d3ddevice/mesa.c
@@ -23,6 +23,8 @@
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winerror.h"
#include "objbase.h"
diff --git a/dlls/ddraw/d3dexecutebuffer.c b/dlls/ddraw/d3dexecutebuffer.c
index 23ac9e8..fb1b8cc 100644
--- a/dlls/ddraw/d3dexecutebuffer.c
+++ b/dlls/ddraw/d3dexecutebuffer.c
@@ -22,6 +22,8 @@
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winerror.h"
#include "objbase.h"
diff --git a/dlls/ddraw/d3dlight.c b/dlls/ddraw/d3dlight.c
index 87c5b83..d9cba08 100644
--- a/dlls/ddraw/d3dlight.c
+++ b/dlls/ddraw/d3dlight.c
@@ -18,6 +18,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "config.h"
#include "windef.h"
#include "winerror.h"
diff --git a/dlls/ddraw/d3dmaterial.c b/dlls/ddraw/d3dmaterial.c
index 00a662e..efb175d 100644
--- a/dlls/ddraw/d3dmaterial.c
+++ b/dlls/ddraw/d3dmaterial.c
@@ -18,6 +18,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "config.h"
#include "windef.h"
#include "winerror.h"
diff --git a/dlls/ddraw/d3dtexture.c b/dlls/ddraw/d3dtexture.c
index 3d38859..1cbe3ee 100644
--- a/dlls/ddraw/d3dtexture.c
+++ b/dlls/ddraw/d3dtexture.c
@@ -22,6 +22,8 @@
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winerror.h"
#include "objbase.h"
diff --git a/dlls/ddraw/d3dviewport.c b/dlls/ddraw/d3dviewport.c
index ce77905..a0babe0 100644
--- a/dlls/ddraw/d3dviewport.c
+++ b/dlls/ddraw/d3dviewport.c
@@ -18,6 +18,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "config.h"
#include "windef.h"
#include "winerror.h"
diff --git a/dlls/ddraw/ddraw/main.c b/dlls/ddraw/ddraw/main.c
index 93c9011..cb81c15 100644
--- a/dlls/ddraw/ddraw/main.c
+++ b/dlls/ddraw/ddraw/main.c
@@ -31,6 +31,8 @@
#include <assert.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "ddraw.h"
#include "d3d.h"
diff --git a/dlls/ddraw/ddraw/user.c b/dlls/ddraw/ddraw/user.c
index d8194b1..1721734 100644
--- a/dlls/ddraw/ddraw/user.c
+++ b/dlls/ddraw/ddraw/user.c
@@ -18,12 +18,13 @@
*/
#include "config.h"
-#include "wine/debug.h"
-#include "ddraw.h"
#include <assert.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
+#include "ddraw.h"
#include "ddraw_private.h"
#include "ddraw/main.h"
#include "ddraw/user.h"
@@ -32,6 +33,7 @@
#include "dsurface/main.h"
#include "dsurface/dib.h"
#include "dsurface/user.h"
+#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(ddraw);
diff --git a/dlls/ddraw/direct3d/mesa.c b/dlls/ddraw/direct3d/mesa.c
index 9b50edc..f2de412 100644
--- a/dlls/ddraw/direct3d/mesa.c
+++ b/dlls/ddraw/direct3d/mesa.c
@@ -27,6 +27,8 @@
#include <string.h>
#include <stdio.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "d3d.h"
#include "ddraw.h"
#include "winerror.h"
diff --git a/dlls/ddraw/dsurface/dib.c b/dlls/ddraw/dsurface/dib.c
index 4460a1b..61ec3c6 100644
--- a/dlls/ddraw/dsurface/dib.c
+++ b/dlls/ddraw/dsurface/dib.c
@@ -24,6 +24,9 @@
#include <assert.h>
#include <stdlib.h>
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "bitmap.h"
#include "wine/debug.h"
diff --git a/dlls/ddraw/dsurface/fakezbuffer.c b/dlls/ddraw/dsurface/fakezbuffer.c
index 552acce..67e86c0 100644
--- a/dlls/ddraw/dsurface/fakezbuffer.c
+++ b/dlls/ddraw/dsurface/fakezbuffer.c
@@ -27,6 +27,8 @@
#include <stdlib.h>
#include <assert.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "ddraw.h"
#include "d3d.h"
diff --git a/dlls/ddraw/dsurface/hal.c b/dlls/ddraw/dsurface/hal.c
index 61ddad3..ee62e00 100644
--- a/dlls/ddraw/dsurface/hal.c
+++ b/dlls/ddraw/dsurface/hal.c
@@ -22,6 +22,8 @@
#include <assert.h>
#include <stdlib.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "wine/debug.h"
#include "ddraw_private.h"
#include "ddraw/user.h"
diff --git a/dlls/ddraw/dsurface/main.c b/dlls/ddraw/dsurface/main.c
index 7f2b3e5..2a8ee33 100644
--- a/dlls/ddraw/dsurface/main.c
+++ b/dlls/ddraw/dsurface/main.c
@@ -19,11 +19,13 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "config.h"
-#include "winerror.h"
#include <assert.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
+#include "winerror.h"
#include "mesa_private.h"
#include "wine/debug.h"
#include "ddraw_private.h"
diff --git a/dlls/ddraw/helper.c b/dlls/ddraw/helper.c
index 652fe2b..97cc400 100644
--- a/dlls/ddraw/helper.c
+++ b/dlls/ddraw/helper.c
@@ -26,6 +26,8 @@
#include <stddef.h>
#include <stdio.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "d3d.h"
#include "ddraw.h"
#include "winerror.h"
diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c
index af5c079..18c1a07 100644
--- a/dlls/dplayx/dplay.c
+++ b/dlls/dplayx/dplay.c
@@ -24,6 +24,8 @@
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winerror.h"
#include "winbase.h"
diff --git a/dlls/dplayx/dplayx_global.c b/dlls/dplayx/dplayx_global.c
index 589bd03..17c95f8 100644
--- a/dlls/dplayx/dplayx_global.c
+++ b/dlls/dplayx/dplayx_global.c
@@ -24,6 +24,9 @@
*/
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "wine/debug.h"
#include "winbase.h"
#include "winerror.h"
diff --git a/dlls/dplayx/dplobby.c b/dlls/dplayx/dplobby.c
index 1f291d5..4136070 100644
--- a/dlls/dplayx/dplobby.c
+++ b/dlls/dplayx/dplobby.c
@@ -20,6 +20,8 @@
*/
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winerror.h"
#include "winreg.h"
diff --git a/dlls/dplayx/name_server.c b/dlls/dplayx/name_server.c
index d02cbaa..490c366 100644
--- a/dlls/dplayx/name_server.c
+++ b/dlls/dplayx/name_server.c
@@ -22,6 +22,9 @@
/* NOTE: Methods with the NS_ prefix are name server methods */
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "winnls.h"
#include "wine/unicode.h"
diff --git a/dlls/dsound/sound3d.c b/dlls/dsound/sound3d.c
index 7d78729..795e026 100644
--- a/dlls/dsound/sound3d.c
+++ b/dlls/dsound/sound3d.c
@@ -49,6 +49,8 @@
#include <string.h>
#include <math.h> /* Insomnia - pow() function */
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
diff --git a/dlls/kernel/time.c b/dlls/kernel/time.c
index 69dbd285..611f5e4 100644
--- a/dlls/kernel/time.c
+++ b/dlls/kernel/time.c
@@ -31,6 +31,9 @@
#ifdef HAVE_SYS_TIMES_H
# include <sys/times.h>
#endif
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "file.h"
#include "winternl.h"
#include "winerror.h"
diff --git a/dlls/ntdll/cdrom.c b/dlls/ntdll/cdrom.c
index 0181b7f..596d4ca 100644
--- a/dlls/ntdll/cdrom.c
+++ b/dlls/ntdll/cdrom.c
@@ -61,6 +61,8 @@
# include <sys/cdio.h>
#endif
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winternl.h"
#include "winioctl.h"
#include "ntddstor.h"
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index 68793f5..c7db40e 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -29,6 +29,9 @@
#ifdef HAVE_SYS_ERRNO_H
#include <sys/errno.h>
#endif
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "wine/unicode.h"
#include "wine/debug.h"
#include "wine/server.h"
diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c
index 3e13756..b736270 100644
--- a/dlls/ntdll/heap.c
+++ b/dlls/ntdll/heap.c
@@ -26,6 +26,8 @@
#include <stdio.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winternl.h"
#include "wine/winbase16.h"
#include "winbase.h"
diff --git a/dlls/ntdll/time.c b/dlls/ntdll/time.c
index 89d0804..261ad77 100644
--- a/dlls/ntdll/time.c
+++ b/dlls/ntdll/time.c
@@ -34,6 +34,9 @@
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winternl.h"
#include "wine/unicode.h"
#include "wine/debug.h"
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index 645aa41..b2cbb15 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -38,6 +38,8 @@
#include <sys/mman.h>
#endif
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winternl.h"
#include "global.h"
#include "wine/library.h"
diff --git a/dlls/ole32/antimoniker.c b/dlls/ole32/antimoniker.c
index cb56a75..5b09899 100644
--- a/dlls/ole32/antimoniker.c
+++ b/dlls/ole32/antimoniker.c
@@ -20,6 +20,9 @@
#include <assert.h>
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "winerror.h"
#include "wine/unicode.h"
diff --git a/dlls/ole32/clipboard.c b/dlls/ole32/clipboard.c
index 2239f8d..df84312 100644
--- a/dlls/ole32/clipboard.c
+++ b/dlls/ole32/clipboard.c
@@ -61,6 +61,8 @@
#include <assert.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
index 8ded0bc..3b58b74 100644
--- a/dlls/ole32/compobj.c
+++ b/dlls/ole32/compobj.c
@@ -29,6 +29,8 @@
#include <string.h>
#include <assert.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "objbase.h"
#include "ole2.h"
diff --git a/dlls/ole32/compositemoniker.c b/dlls/ole32/compositemoniker.c
index ed266f6..dcbfb75 100644
--- a/dlls/ole32/compositemoniker.c
+++ b/dlls/ole32/compositemoniker.c
@@ -20,6 +20,9 @@
#include <assert.h>
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "winerror.h"
#include "wine/debug.h"
diff --git a/dlls/ole32/datacache.c b/dlls/ole32/datacache.c
index 491c531..a5918d4 100644
--- a/dlls/ole32/datacache.c
+++ b/dlls/ole32/datacache.c
@@ -45,6 +45,9 @@
*/
#include <assert.h>
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
diff --git a/dlls/ole32/filemoniker.c b/dlls/ole32/filemoniker.c
index 4ac0437..67ff53d 100644
--- a/dlls/ole32/filemoniker.c
+++ b/dlls/ole32/filemoniker.c
@@ -20,6 +20,9 @@
#include <assert.h>
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "winerror.h"
#include "winnls.h"
diff --git a/dlls/ole32/hglobalstream.c b/dlls/ole32/hglobalstream.c
index 1a1ca1d..0f81268 100644
--- a/dlls/ole32/hglobalstream.c
+++ b/dlls/ole32/hglobalstream.c
@@ -28,6 +28,8 @@
#include <stdio.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "objbase.h"
#include "ole2.h"
diff --git a/dlls/ole32/itemmoniker.c b/dlls/ole32/itemmoniker.c
index 6a77c13..cec06c8 100644
--- a/dlls/ole32/itemmoniker.c
+++ b/dlls/ole32/itemmoniker.c
@@ -20,6 +20,9 @@
#include <assert.h>
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "winbase.h"
#include "winnls.h"
diff --git a/dlls/ole32/memlockbytes.c b/dlls/ole32/memlockbytes.c
index cea53f3..bd9f937 100644
--- a/dlls/ole32/memlockbytes.c
+++ b/dlls/ole32/memlockbytes.c
@@ -24,6 +24,8 @@
#include <assert.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "wine/winbase16.h"
#include "objbase.h"
diff --git a/dlls/ole32/ole2.c b/dlls/ole32/ole2.c
index 0277d79..4eab3f1 100644
--- a/dlls/ole32/ole2.c
+++ b/dlls/ole32/ole2.c
@@ -28,6 +28,8 @@
#include <stdio.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "commctrl.h"
#include "ole2.h"
#include "ole2ver.h"
diff --git a/dlls/ole32/ole2impl.c b/dlls/ole32/ole2impl.c
index 3e2c22b..ba51ea6 100644
--- a/dlls/ole32/ole2impl.c
+++ b/dlls/ole32/ole2impl.c
@@ -19,6 +19,9 @@
*/
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
diff --git a/dlls/ole32/ole2stubs.c b/dlls/ole32/ole2stubs.c
index b3c02fb..80d6681 100644
--- a/dlls/ole32/ole2stubs.c
+++ b/dlls/ole32/ole2stubs.c
@@ -19,6 +19,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
diff --git a/dlls/ole32/oleproxy.c b/dlls/ole32/oleproxy.c
index 7b9a73f..2302b8c 100644
--- a/dlls/ole32/oleproxy.c
+++ b/dlls/ole32/oleproxy.c
@@ -37,6 +37,8 @@
#include <stdio.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "objbase.h"
#include "ole2.h"
diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c
index 117804b..066fd90 100644
--- a/dlls/ole32/rpc.c
+++ b/dlls/ole32/rpc.c
@@ -25,6 +25,8 @@
#include <string.h>
#include <assert.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "objbase.h"
#include "ole2.h"
diff --git a/dlls/ole32/stg_bigblockfile.c b/dlls/ole32/stg_bigblockfile.c
index 7990491..a696f05 100644
--- a/dlls/ole32/stg_bigblockfile.c
+++ b/dlls/ole32/stg_bigblockfile.c
@@ -37,6 +37,8 @@
#include <string.h>
#include <limits.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "winerror.h"
#include "objbase.h"
diff --git a/dlls/ole32/stg_stream.c b/dlls/ole32/stg_stream.c
index 8ee4995..41320b8 100644
--- a/dlls/ole32/stg_stream.c
+++ b/dlls/ole32/stg_stream.c
@@ -22,11 +22,14 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+
#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "winerror.h"
#include "winternl.h"
diff --git a/dlls/ole32/storage.c b/dlls/ole32/storage.c
index 43739fc..c4b136f 100644
--- a/dlls/ole32/storage.c
+++ b/dlls/ole32/storage.c
@@ -30,6 +30,9 @@
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winternl.h"
#include "winerror.h"
diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c
index 7a7855c..7222178 100644
--- a/dlls/ole32/storage32.c
+++ b/dlls/ole32/storage32.c
@@ -29,6 +29,8 @@
#include <stdlib.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h" /* for lstrlenW() and the likes */
#include "winnls.h"
#include "wine/unicode.h"
diff --git a/dlls/oleaut32/olefont.c b/dlls/oleaut32/olefont.c
index e04362d..61c1775 100644
--- a/dlls/oleaut32/olefont.c
+++ b/dlls/oleaut32/olefont.c
@@ -22,6 +22,9 @@
*/
#include <assert.h>
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "winbase.h"
#include "wingdi.h"
diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c
index 480375d..a916011 100644
--- a/dlls/oleaut32/olepicture.c
+++ b/dlls/oleaut32/olepicture.c
@@ -42,6 +42,9 @@
#endif
#include <stdio.h>
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "winbase.h"
#include "wingdi.h"
diff --git a/dlls/oleaut32/tmarshal.c b/dlls/oleaut32/tmarshal.c
index cbd2cfb..d8619f0 100644
--- a/dlls/oleaut32/tmarshal.c
+++ b/dlls/oleaut32/tmarshal.c
@@ -26,6 +26,8 @@
#include <stdio.h>
#include <ctype.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "winnls.h"
#include "winreg.h"
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
index e9b1400..f1d4d9f 100644
--- a/dlls/oleaut32/typelib.c
+++ b/dlls/oleaut32/typelib.c
@@ -60,6 +60,8 @@
#include <stdio.h>
#include <ctype.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "winnls.h" /* for PRIMARYLANGID */
#include "winreg.h" /* for HKEY_LOCAL_MACHINE */
diff --git a/dlls/oleaut32/variant.c b/dlls/oleaut32/variant.c
index 5f60755..3b8f6e1 100644
--- a/dlls/oleaut32/variant.c
+++ b/dlls/oleaut32/variant.c
@@ -46,6 +46,8 @@
# include <float.h>
#endif
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "oleauto.h"
#include "heap.h"
diff --git a/dlls/rpcrt4/ndr_ole.c b/dlls/rpcrt4/ndr_ole.c
index 0bd1725..611010c 100644
--- a/dlls/rpcrt4/ndr_ole.c
+++ b/dlls/rpcrt4/ndr_ole.c
@@ -27,6 +27,8 @@
#include <stdio.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
diff --git a/dlls/shell32/brsfolder.c b/dlls/shell32/brsfolder.c
index 2d7bbfc..c295298 100644
--- a/dlls/shell32/brsfolder.c
+++ b/dlls/shell32/brsfolder.c
@@ -24,6 +24,8 @@
#include <stdlib.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "wine/debug.h"
#include "undocshell.h"
#include "shlguid.h"
diff --git a/dlls/shell32/dataobject.c b/dlls/shell32/dataobject.c
index 81d39a0..2e4d8a4 100644
--- a/dlls/shell32/dataobject.c
+++ b/dlls/shell32/dataobject.c
@@ -21,6 +21,8 @@
*/
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "pidl.h"
#include "winerror.h"
#include "shell32_main.h"
diff --git a/dlls/shell32/shellstring.c b/dlls/shell32/shellstring.c
index 0be10d4..5e5f53a 100644
--- a/dlls/shell32/shellstring.c
+++ b/dlls/shell32/shellstring.c
@@ -21,6 +21,8 @@
#include <ctype.h>
#include <stdlib.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winnls.h"
#include "winerror.h"
#include "winreg.h"
diff --git a/dlls/shell32/shfldr_desktop.c b/dlls/shell32/shfldr_desktop.c
index a87c0c3..22079a2 100644
--- a/dlls/shell32/shfldr_desktop.c
+++ b/dlls/shell32/shfldr_desktop.c
@@ -27,6 +27,8 @@
#include <string.h>
#include <stdio.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "winbase.h"
#include "winreg.h"
diff --git a/dlls/shell32/shfldr_fs.c b/dlls/shell32/shfldr_fs.c
index ba184ee..293a2f8 100644
--- a/dlls/shell32/shfldr_fs.c
+++ b/dlls/shell32/shfldr_fs.c
@@ -27,6 +27,8 @@
#include <string.h>
#include <stdio.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "winbase.h"
#include "winreg.h"
diff --git a/dlls/shell32/shfldr_mycomp.c b/dlls/shell32/shfldr_mycomp.c
index 9a7b7eb..4a98429 100644
--- a/dlls/shell32/shfldr_mycomp.c
+++ b/dlls/shell32/shfldr_mycomp.c
@@ -27,6 +27,8 @@
#include <string.h>
#include <stdio.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "winbase.h"
#include "winreg.h"
diff --git a/dlls/shell32/shv_bg_cmenu.c b/dlls/shell32/shv_bg_cmenu.c
index 6f847f1..2c590d6 100644
--- a/dlls/shell32/shv_bg_cmenu.c
+++ b/dlls/shell32/shv_bg_cmenu.c
@@ -20,6 +20,8 @@
*/
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "wine/debug.h"
#include "pidl.h"
diff --git a/dlls/shell32/shv_item_cmenu.c b/dlls/shell32/shv_item_cmenu.c
index 0689937..8899a3a 100644
--- a/dlls/shell32/shv_item_cmenu.c
+++ b/dlls/shell32/shv_item_cmenu.c
@@ -20,6 +20,8 @@
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "wine/debug.h"
diff --git a/dlls/shlwapi/istream.c b/dlls/shlwapi/istream.c
index 3729212..ca9a26f 100644
--- a/dlls/shlwapi/istream.c
+++ b/dlls/shlwapi/istream.c
@@ -19,6 +19,8 @@
*/
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "winerror.h"
#include "winnls.h"
diff --git a/dlls/shlwapi/string.c b/dlls/shlwapi/string.c
index 2428e3d..bfda868 100644
--- a/dlls/shlwapi/string.c
+++ b/dlls/shlwapi/string.c
@@ -29,6 +29,8 @@
#include <stdio.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "windef.h"
#include "winbase.h"
diff --git a/dlls/twain/dsm_ctrl.c b/dlls/twain/dsm_ctrl.c
index 8f1b69e..3c55ea5 100644
--- a/dlls/twain/dsm_ctrl.c
+++ b/dlls/twain/dsm_ctrl.c
@@ -21,6 +21,9 @@
#include "config.h"
#include <stdlib.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "twain.h"
#include "twain_i.h"
diff --git a/dlls/urlmon/umon.c b/dlls/urlmon/umon.c
index 3004b2d..d22fcef 100644
--- a/dlls/urlmon/umon.c
+++ b/dlls/urlmon/umon.c
@@ -26,6 +26,8 @@
#define COM_NO_WINDOWS_H
#include <stdio.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
diff --git a/dlls/user/exticon.c b/dlls/user/exticon.c
index 63f8044..c69fb94 100644
--- a/dlls/user/exticon.c
+++ b/dlls/user/exticon.c
@@ -31,6 +31,8 @@
# include <unistd.h>
#endif
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "windef.h"
#include "winerror.h"
diff --git a/dlls/version/resource.c b/dlls/version/resource.c
index b2dcc6d..1c7b6bf 100644
--- a/dlls/version/resource.c
+++ b/dlls/version/resource.c
@@ -29,6 +29,8 @@
# include <unistd.h>
#endif
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "lzexpand.h"
diff --git a/dlls/winedos/int2f.c b/dlls/winedos/int2f.c
index eed83b6..6a598ea 100644
--- a/dlls/winedos/int2f.c
+++ b/dlls/winedos/int2f.c
@@ -24,9 +24,11 @@
#include "config.h"
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "wine/winbase16.h"
#include "miscemu.h"
-/* #define DEBUG_INT */
#include "wine/debug.h"
#include "winioctl.h"
#include "ntddstor.h"
diff --git a/dlls/winedos/vga.c b/dlls/winedos/vga.c
index dc81bc5..42fe308 100644
--- a/dlls/winedos/vga.c
+++ b/dlls/winedos/vga.c
@@ -19,6 +19,9 @@
*/
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
diff --git a/dlls/wineps/driver.c b/dlls/wineps/driver.c
index d132e62..6cc444c 100644
--- a/dlls/wineps/driver.c
+++ b/dlls/wineps/driver.c
@@ -23,6 +23,9 @@
*/
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "psdrv.h"
#include "wine/debug.h"
#include "winuser.h"
diff --git a/dlls/wineps/init.c b/dlls/wineps/init.c
index fa6e9da..5b8c000 100644
--- a/dlls/wineps/init.c
+++ b/dlls/wineps/init.c
@@ -27,6 +27,8 @@
# include <unistd.h>
#endif
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "gdi.h"
#include "psdrv.h"
#include "wine/debug.h"
diff --git a/dlls/wineps/ps.c b/dlls/wineps/ps.c
index 8c072fc..08d5036 100644
--- a/dlls/wineps/ps.c
+++ b/dlls/wineps/ps.c
@@ -21,6 +21,9 @@
#include <ctype.h>
#include <stdio.h>
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "gdi.h"
#include "psdrv.h"
#include "winspool.h"
diff --git a/dlls/winmm/mmsystem.c b/dlls/winmm/mmsystem.c
index b45fffc..f25b620 100644
--- a/dlls/winmm/mmsystem.c
+++ b/dlls/winmm/mmsystem.c
@@ -32,6 +32,8 @@
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "mmsystem.h"
#include "winbase.h"
diff --git a/dlls/winmm/wineoss/mixer.c b/dlls/winmm/wineoss/mixer.c
index b599f07..685e8a6 100644
--- a/dlls/winmm/wineoss/mixer.c
+++ b/dlls/winmm/wineoss/mixer.c
@@ -36,6 +36,8 @@
# include <sys/ioctl.h>
#endif
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "mmddk.h"
#include "oss.h"
diff --git a/dlls/winmm/winmm.c b/dlls/winmm/winmm.c
index ebd7989..a721234 100644
--- a/dlls/winmm/winmm.c
+++ b/dlls/winmm/winmm.c
@@ -30,6 +30,8 @@
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "mmsystem.h"
#include "winbase.h"
#include "wine/winuser16.h" /* FIXME: should be removed, only used for UserYield16 */
diff --git a/dlls/winspool/info.c b/dlls/winspool/info.c
index 6c6b625..3918a9b 100644
--- a/dlls/winspool/info.c
+++ b/dlls/winspool/info.c
@@ -24,7 +24,6 @@
#include "config.h"
#include "wine/port.h"
-#include "wine/library.h"
#include <stdio.h>
#include <stdlib.h>
@@ -37,6 +36,10 @@
# define CUPS_SONAME "libcups.so"
# endif
#endif
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
+#include "wine/library.h"
#include "winspool.h"
#include "winbase.h"
#include "winerror.h"
diff --git a/dlls/x11drv/dga2.c b/dlls/x11drv/dga2.c
index 3b12b3d..2d4f069 100644
--- a/dlls/x11drv/dga2.c
+++ b/dlls/x11drv/dga2.c
@@ -22,6 +22,8 @@
#ifdef HAVE_LIBXXF86DGA2
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "ts_xlib.h"
#include <X11/extensions/xf86dga.h>
diff --git a/dlls/x11drv/keyboard.c b/dlls/x11drv/keyboard.c
index f544cab..13d3dfc 100644
--- a/dlls/x11drv/keyboard.c
+++ b/dlls/x11drv/keyboard.c
@@ -38,6 +38,8 @@
#include <ctype.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "wingdi.h"
#include "wine/winuser16.h"
diff --git a/dlls/x11drv/mouse.c b/dlls/x11drv/mouse.c
index 40b0781..6b6c914 100644
--- a/dlls/x11drv/mouse.c
+++ b/dlls/x11drv/mouse.c
@@ -25,6 +25,8 @@
#include <X11/extensions/xf86dga.h>
#endif
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "wine/winuser16.h"
diff --git a/dlls/x11drv/x11ddraw.c b/dlls/x11drv/x11ddraw.c
index a6b0979..7f563cb 100644
--- a/dlls/x11drv/x11ddraw.c
+++ b/dlls/x11drv/x11ddraw.c
@@ -22,6 +22,8 @@
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "ts_xlib.h"
#include "x11drv.h"
#include "x11ddraw.h"
diff --git a/files/drive.c b/files/drive.c
index ab8b8b0..c5c4b39 100644
--- a/files/drive.c
+++ b/files/drive.c
@@ -54,6 +54,8 @@
# endif
#endif
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "winternl.h"
#include "wine/winbase16.h" /* for GetCurrentTask */
diff --git a/files/file.c b/files/file.c
index 0031281..5c911b3 100644
--- a/files/file.c
+++ b/files/file.c
@@ -55,6 +55,8 @@
# include <utime.h>
#endif
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "windef.h"
#include "winbase.h"
diff --git a/include/winnt.h b/include/winnt.h
index 7e7deb3..34b8f02 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -136,19 +136,27 @@
/* Anonymous union/struct handling */
-#ifdef __WINESRC__
-# define NONAMELESSSTRUCT
-# define NONAMELESSUNION
-#else
-/* Anonymous struct support starts with gcc 2.96 or gcc/g++ 3.x */
-# if !defined(NONAMELESSSTRUCT) && (defined(__GNUC__) && ((__GNUC__ < 2) || ((__GNUC__ == 2) && (defined(__cplusplus) || (__GNUC_MINOR__ < 96))))) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+#ifndef NONAMELESSSTRUCT
+# ifdef __GNUC__
+ /* Anonymous struct support starts with gcc 2.96 or gcc/g++ 3.x */
+# if (__GNUC__ < 2) || ((__GNUC__ == 2) && (defined(__cplusplus) || (__GNUC_MINOR__ < 96)))
+# define NONAMELESSSTRUCT
+# endif
+# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
# define NONAMELESSSTRUCT
# endif
-/* Anonymous unions support starts with gcc 2.96/g++ 2.95 */
-# if !defined(NONAMELESSUNION) && (defined(__GNUC__) && ((__GNUC__ < 2) || ((__GNUC__ == 2) && ((__GNUC_MINOR__ < 95) || ((__GNUC_MINOR__ == 95) && !defined(__cplusplus)))))) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+#endif /* NONAMELESSSTRUCT */
+
+#ifndef NONAMELESSUNION
+# ifdef __GNUC__
+ /* Anonymous unions support starts with gcc 2.96/g++ 2.95 */
+# if (__GNUC__ < 2) || ((__GNUC__ == 2) && ((__GNUC_MINOR__ < 95) || ((__GNUC_MINOR__ == 95) && !defined(__cplusplus))))
+# define NONAMELESSUNION
+# endif
+# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
# define NONAMELESSUNION
# endif
-#endif
+#endif /* NONAMELESSUNION */
#ifndef NONAMELESSSTRUCT
#define DUMMYSTRUCTNAME
diff --git a/library/loader.c b/library/loader.c
index 1f80827..d970435 100644
--- a/library/loader.c
+++ b/library/loader.c
@@ -30,6 +30,8 @@
#include <sys/mman.h>
#endif
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "wine/library.h"
diff --git a/loader/pe_resource.c b/loader/pe_resource.c
index a50ff04..aec2108 100644
--- a/loader/pe_resource.c
+++ b/loader/pe_resource.c
@@ -29,6 +29,8 @@
#include <stdlib.h>
#include <sys/types.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "wine/unicode.h"
#include "windef.h"
#include "winnls.h"
diff --git a/memory/heap.c b/memory/heap.c
index 7916e5c..6c35206 100644
--- a/memory/heap.c
+++ b/memory/heap.c
@@ -26,6 +26,8 @@
#include <stdio.h>
#include <string.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "wine/winbase16.h"
#include "winerror.h"
diff --git a/memory/virtual.c b/memory/virtual.c
index 2519bb5..6051035 100644
--- a/memory/virtual.c
+++ b/memory/virtual.c
@@ -29,6 +29,8 @@
# include <unistd.h>
#endif
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winnls.h"
#include "winbase.h"
#include "winternl.h"
diff --git a/misc/cpu.c b/misc/cpu.c
index 578dd80..26bfbb1 100644
--- a/misc/cpu.c
+++ b/misc/cpu.c
@@ -26,6 +26,8 @@
#include <string.h>
#include <stdio.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "winnt.h"
#include "winternl.h"
diff --git a/misc/system.c b/misc/system.c
index 1cc64bd..fdd8381 100644
--- a/misc/system.c
+++ b/misc/system.c
@@ -18,6 +18,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "wingdi.h"
#include "wine/winbase16.h"
diff --git a/msdos/vxd.c b/msdos/vxd.c
index 4c950b1..b680143 100644
--- a/msdos/vxd.c
+++ b/msdos/vxd.c
@@ -28,6 +28,9 @@
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winbase.h"
#include "windef.h"
#include "winternl.h"
diff --git a/scheduler/timer.c b/scheduler/timer.c
index 41936bd..b67563c 100644
--- a/scheduler/timer.c
+++ b/scheduler/timer.c
@@ -23,6 +23,9 @@
#include <assert.h>
#include <string.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "winerror.h"
#include "winnls.h"
#include "wine/unicode.h"
diff --git a/tools/winedump/pe.c b/tools/winedump/pe.c
index e890620..9d62f46 100644
--- a/tools/winedump/pe.c
+++ b/tools/winedump/pe.c
@@ -38,6 +38,8 @@
#endif
#include <fcntl.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winedump.h"
#include "pe.h"
diff --git a/win32/newfns.c b/win32/newfns.c
index 8613cc6..16e66ae 100644
--- a/win32/newfns.c
+++ b/win32/newfns.c
@@ -32,6 +32,9 @@
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "winnls.h"
diff --git a/windows/input.c b/windows/input.c
index f6bd561..9ab920a 100644
--- a/windows/input.c
+++ b/windows/input.c
@@ -28,6 +28,8 @@
#include <ctype.h>
#include <assert.h>
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
#include "windef.h"
#include "winnls.h"
#include "winbase.h"