Changed MONITORINFOEXA,W definition to the one in MSDN which does not
cause gcc 3.3 warnings.

diff --git a/dlls/user/tests/generated.c b/dlls/user/tests/generated.c
index 863c335..24898c4 100644
--- a/dlls/user/tests/generated.c
+++ b/dlls/user/tests/generated.c
@@ -1315,14 +1315,10 @@
 {
     /* MONITORINFOEXA (pack 4) */
     TEST_TYPE(MONITORINFOEXA, 72, 4);
-#ifdef NONAMELESSSTRUCT
-    TEST_FIELD(MONITORINFOEXA, MONITORINFO, DUMMYSTRUCTNAME, 0, 40, 4);
-#else
     TEST_FIELD(MONITORINFOEXA, DWORD, cbSize, 0, 4, 4);
     TEST_FIELD(MONITORINFOEXA, RECT, rcMonitor, 4, 16, 4);
     TEST_FIELD(MONITORINFOEXA, RECT, rcWork, 20, 16, 4);
     TEST_FIELD(MONITORINFOEXA, DWORD, dwFlags, 36, 4, 4);
-#endif
     TEST_FIELD(MONITORINFOEXA, CHAR[CCHDEVICENAME], szDevice, 40, 32, 1);
 }
 
@@ -1330,14 +1326,10 @@
 {
     /* MONITORINFOEXW (pack 4) */
     TEST_TYPE(MONITORINFOEXW, 104, 4);
-#ifdef NONAMELESSSTRUCT
-    TEST_FIELD(MONITORINFOEXW, MONITORINFO, DUMMYSTRUCTNAME, 0, 40, 4);
-#else
     TEST_FIELD(MONITORINFOEXW, DWORD, cbSize, 0, 4, 4);
     TEST_FIELD(MONITORINFOEXW, RECT, rcMonitor, 4, 16, 4);
     TEST_FIELD(MONITORINFOEXW, RECT, rcWork, 20, 16, 4);
     TEST_FIELD(MONITORINFOEXW, DWORD, dwFlags, 36, 4, 4);
-#endif
     TEST_FIELD(MONITORINFOEXW, WCHAR[CCHDEVICENAME], szDevice, 40, 64, 2);
 }
 
diff --git a/include/winuser.h b/include/winuser.h
index 2caebb8..909a46e 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -2385,31 +2385,23 @@
     DWORD dwFlags;
 } MONITORINFO, *LPMONITORINFO;
 
-#ifdef __cplusplus
-typedef struct tagMONITORINFOEXA : public tagMONITORINFO
-{
-  CHAR szDevice[CCHDEVICENAME];
-} MONITORINFOEXA, *LPMONITORINFOEXA;
-#else
 typedef struct tagMONITORINFOEXA
-{
-    MONITORINFO DUMMYSTRUCTNAME;
+{   /* the 4 first entries are the same as MONITORINFO */
+    DWORD	cbSize;	
+    RECT	rcMonitor;
+    RECT	rcWork;
+    DWORD	dwFlags;
     CHAR        szDevice[CCHDEVICENAME];
 } MONITORINFOEXA, *LPMONITORINFOEXA;
-#endif
 
-#ifdef __cplusplus
-typedef struct tagMONITORINFOEXW : public tagMONITORINFO
-{
-  WCHAR szDevice[CCHDEVICENAME];
-} MONITORINFOEXW, *LPMONITORINFOEXW;
-#else
 typedef struct tagMONITORINFOEXW
-{
-    MONITORINFO DUMMYSTRUCTNAME;
+{   /* the 4 first entries are the same as MONITORINFO */
+    DWORD	cbSize;
+    RECT	rcMonitor;
+    RECT	rcWork;
+    DWORD	dwFlags;
     WCHAR       szDevice[CCHDEVICENAME];
 } MONITORINFOEXW, *LPMONITORINFOEXW;
-#endif
 
 DECL_WINELIB_TYPE_AW(MONITORINFOEX)
 DECL_WINELIB_TYPE_AW(LPMONITORINFOEX)