Index: include/mmsystem.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/mmsystem.h,v retrieving revision 1.1.1.1 diff -u -p -2 -r1.1.1.1 mmsystem.h --- mmsystem.h 2000/02/17 19:38:31 1.1.1.1 +++ mmsystem.h 2001/04/13 18:56:18 @@ -1186,9 +1186,9 @@ typedef struct tagMIXERCONTROLA { CHAR szName[MIXER_LONG_NAME_CHARS]; union { - struct { + _ANONYMOUS_STRUCT struct { LONG lMinimum; LONG lMaximum; }_STRUCT_NAME(s); - struct { + _ANONYMOUS_STRUCT struct { DWORD dwMinimum; DWORD dwMaximum; @@ -1211,9 +1211,9 @@ typedef struct tagMIXERCONTROLW { WCHAR szName[MIXER_LONG_NAME_CHARS]; union { - struct { + _ANONYMOUS_STRUCT struct { LONG lMinimum; LONG lMaximum; }_STRUCT_NAME(s); - struct { + _ANONYMOUS_STRUCT struct { DWORD dwMinimum; DWORD dwMaximum; @@ -1230,5 +1230,5 @@ typedef struct tagMIXERLINECONTROLSA { DWORD cbStruct; DWORD dwLineID; - union { + _ANONYMOUS_UNION union { DWORD dwControlID; DWORD dwControlType; @@ -1241,5 +1241,5 @@ typedef struct tagMIXERLINECONTROLSW { DWORD cbStruct; DWORD dwLineID; - union { + _ANONYMOUS_UNION union { DWORD dwControlID; DWORD dwControlType; @@ -1253,5 +1253,5 @@ typedef struct tMIXERCONTROLDETAILS { DWORD dwControlID; DWORD cChannels; - union { + _ANONYMOUS_UNION union { HWND hwndOwner; DWORD cMultipleItems; Index: include/oaidl.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/oaidl.h,v retrieving revision 1.1.1.1 diff -u -p -2 -r1.1.1.1 oaidl.h --- oaidl.h 2000/02/17 19:38:31 1.1.1.1 +++ oaidl.h 2001/04/13 18:56:18 @@ -217,5 +217,5 @@ typedef struct _wireVARIANT { USHORT wReserved2; USHORT wReserved3; - union { + _ANONYMOUS_UNION union { LONG lVal; BYTE bVal; @@ -293,5 +293,5 @@ typedef struct tagIDLDESC { typedef struct tagELEMDESC { TYPEDESC tdesc; - union { + _ANONYMOUS_UNION union { IDLDESC idldesc; PARAMDESC paramdesc; @@ -368,5 +368,5 @@ typedef struct tagVARDESC { MEMBERID memid; LPOLESTR lpstrSchema; - union { + _ANONYMOUS_UNION union { ULONG oInst; VARIANT *lpvarValue; Index: include/objidl.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/objidl.h,v retrieving revision 1.3 diff -u -p -2 -r1.3 objidl.h --- objidl.h 2001/01/30 13:34:50 1.3 +++ objidl.h 2001/04/13 18:56:18 @@ -152,5 +152,5 @@ typedef enum tagBIND_FLAGS { typedef struct tagSTGMEDIUM { DWORD tymed; - union { + _ANONYMOUS_UNION union { HBITMAP hBitmap; PVOID hMetaFilePict; @@ -298,5 +298,5 @@ typedef struct tagPROPVARIANT { WORD wReserved2; WORD wReserved3; - union { + _ANONYMOUS_UNION union { UCHAR bVal; short iVal; @@ -350,5 +350,5 @@ typedef struct tagPROPVARIANT { typedef struct tagPROPSPEC { ULONG ulKind; - union { + _ANONYMOUS_UNION union { PROPID propid; LPOLESTR lpwstr; Index: include/olectl.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/olectl.h,v retrieving revision 1.1.1.1 diff -u -p -2 -r1.1.1.1 olectl.h --- olectl.h 2000/02/17 19:38:31 1.1.1.1 +++ olectl.h 2001/04/13 18:56:18 @@ -326,5 +326,5 @@ typedef struct tagPICTDESC { UINT cbSizeofstruct; UINT picType; - union { + _ANONYMOUS_UNION union { struct { HBITMAP hbitmap; Index: include/prsht.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/prsht.h,v retrieving revision 1.1.1.1 diff -u -p -2 -r1.1.1.1 prsht.h --- prsht.h 2000/02/17 19:38:31 1.1.1.1 +++ prsht.h 2001/04/13 18:56:18 @@ -98,9 +98,9 @@ typedef struct _PROPSHEETPAGEA { DWORD dwFlags; HINSTANCE hInstance; - union { + _ANONYMOUS_UNION union { LPCSTR pszTemplate; LPCDLGTEMPLATE pResource; } DUMMYUNIONNAME; - union { + _ANONYMOUS_UNION union { HICON hIcon; LPCSTR pszIcon; @@ -117,9 +117,9 @@ typedef struct _PROPSHEETPAGEW { DWORD dwFlags; HINSTANCE hInstance; - union { + _ANONYMOUS_UNION union { LPCWSTR pszTemplate; LPCDLGTEMPLATE pResource; } DUMMYUNIONNAME; - union { + _ANONYMOUS_UNION union { HICON hIcon; LPCWSTR pszIcon; @@ -141,5 +141,5 @@ typedef struct _PROPSHEETHEADERA { HWND hwndParent; HINSTANCE hInstance; - union { + _ANONYMOUS_UNION union { HICON hIcon; LPCSTR pszIcon; @@ -147,9 +147,9 @@ typedef struct _PROPSHEETHEADERA { LPCSTR pszCaption; UINT nPages; - union { + _ANONYMOUS_UNION union { UINT nStartPage; LPCSTR pStartPage; }DUMMYUNIONNAME2; - union { + _ANONYMOUS_UNION union { LPCPROPSHEETPAGEA ppsp; HPROPSHEETPAGE *phpage; @@ -163,5 +163,5 @@ typedef struct _PROPSHEETHEADERW { HWND hwndParent; HINSTANCE hInstance; - union { + _ANONYMOUS_UNION union { HICON hIcon; LPCWSTR pszIcon; @@ -169,9 +169,9 @@ typedef struct _PROPSHEETHEADERW { LPCWSTR pszCaption; UINT nPages; - union { + _ANONYMOUS_UNION union { UINT nStartPage; LPCWSTR pStartPage; }DUMMYUNIONNAME2; - union { + _ANONYMOUS_UNION union { LPCPROPSHEETPAGEW ppsp; HPROPSHEETPAGE *phpage; Index: include/shlobj.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/shlobj.h,v retrieving revision 1.5 diff -u -p -2 -r1.5 shlobj.h --- shlobj.h 2001/02/13 21:39:57 1.5 +++ shlobj.h 2001/04/13 18:56:18 @@ -273,5 +273,5 @@ typedef enum tagSHCONTF { typedef struct _STRRET { UINT uType; - union { + _ANONYMOUS_UNION union { LPWSTR pOleStr; UINT uOffset; Index: include/winbase.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/winbase.h,v retrieving revision 1.9 diff -u -p -2 -r1.9 winbase.h --- winbase.h 2001/01/26 21:05:20 1.9 +++ winbase.h 2001/04/13 18:56:18 @@ -808,7 +808,7 @@ typedef enum _GET_FILEEX_INFO_LEVELS { } GET_FILEEX_INFO_LEVELS; typedef struct _SYSTEM_INFO { - union { + _ANONYMOUS_UNION union { DWORD dwOemId; - struct { + _ANONYMOUS_STRUCT struct { WORD wProcessorArchitecture; WORD wReserved; @@ -898,5 +898,5 @@ typedef struct _PROCESS_HEAP_ENTRY { BYTE iRegionIndex; WORD wFlags; - union { + _ANONYMOUS_UNION union { struct { HANDLE hMem; Index: include/windows.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/windows.h,v retrieving revision 1.3 diff -u -p -2 -r1.3 windows.h --- windows.h 2001/03/20 19:27:37 1.3 +++ windows.h 2001/04/13 18:56:18 @@ -43,10 +43,10 @@ #ifdef __GNUC__ #ifndef NONAMELESSUNION -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) -#define _ANONYMOUS_UNION -#define _ANONYMOUS_STRUCT +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +#define _ANONYMOUS_UNION __extension__ +#define _ANONYMOUS_STRUCT __extension__ #else #if defined(__cplusplus) -#define _ANONYMOUS_UNION +#define _ANONYMOUS_UNION __extension__ #endif #endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */ @@ -55,4 +55,5 @@ #ifndef _ANONYMOUS_UNION +#define _ANONYMOUS_UNION #define _UNION_NAME(x) x #define DUMMYUNIONNAME u @@ -76,4 +77,5 @@ #endif #ifndef _ANONYMOUS_STRUCT +#define _ANONYMOUS_STRUCT #define _STRUCT_NAME(x) x #define DUMMYSTRUCTNAME s Index: include/winnt.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/winnt.h,v retrieving revision 1.16 diff -u -p -2 -r1.16 winnt.h --- winnt.h 2001/02/21 19:31:54 1.16 +++ winnt.h 2001/04/13 18:56:19 @@ -1694,5 +1694,5 @@ typedef struct _EXCEPTION_POINTERS { } EXCEPTION_POINTERS,*PEXCEPTION_POINTERS,*LPEXCEPTION_POINTERS; typedef union _LARGE_INTEGER { - struct { + _ANONYMOUS_STRUCT struct { DWORD LowPart; LONG HighPart; @@ -1702,5 +1702,5 @@ typedef union _LARGE_INTEGER { typedef LARGE_INTEGER *PLARGE_INTEGER; typedef union _ULARGE_INTEGER { - struct { + _ANONYMOUS_STRUCT struct { DWORD LowPart; DWORD HighPart; @@ -2232,5 +2232,5 @@ typedef struct _IMAGE_COFF_SYMBOLS_HEADE } IMAGE_COFF_SYMBOLS_HEADER,*PIMAGE_COFF_SYMBOLS_HEADER; typedef struct _IMAGE_RELOCATION { - union { + _ANONYMOUS_UNION union { DWORD VirtualAddress; DWORD RelocCount; @@ -2291,5 +2291,5 @@ typedef struct _IMAGE_THUNK_DATA { } IMAGE_THUNK_DATA,*PIMAGE_THUNK_DATA; typedef struct _IMAGE_IMPORT_DESCRIPTOR { - union { + _ANONYMOUS_UNION union { DWORD Characteristics; PIMAGE_THUNK_DATA OriginalFirstThunk; @@ -2327,7 +2327,7 @@ typedef struct _IMAGE_RESOURCE_DIRECTORY WORD NumberOfIdEntries; } IMAGE_RESOURCE_DIRECTORY,*PIMAGE_RESOURCE_DIRECTORY; -typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { - union { - struct { +_ANONYMOUS_STRUCT typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { + _ANONYMOUS_UNION union { + _ANONYMOUS_STRUCT struct { DWORD NameOffset:31; DWORD NameIsString:1; @@ -2336,7 +2336,7 @@ typedef struct _IMAGE_RESOURCE_DIRECTORY WORD Id; } DUMMYUNIONNAME; - union { + _ANONYMOUS_UNION union { DWORD OffsetToData; - struct { + _ANONYMOUS_STRUCT struct { DWORD OffsetToDirectory:31; DWORD DataIsDirectory:1; @@ -2456,5 +2456,5 @@ typedef struct _NT_TIB { PVOID StackLimit; PVOID SubSystemTib; - union { + _ANONYMOUS_UNION union { PVOID FiberData; DWORD Version; @@ -2467,5 +2467,5 @@ typedef struct _REPARSE_DATA_BUFFER { WORD ReparseDataLength; WORD Reserved; - union { + _ANONYMOUS_UNION union { struct { WORD SubstituteNameOffset; Index: include/wtypes.h =================================================================== RCS file: /cvs/src/src/winsup/w32api/include/wtypes.h,v retrieving revision 1.3 diff -u -p -2 -r1.3 wtypes.h --- wtypes.h 2000/11/01 00:37:23 1.3 +++ wtypes.h 2001/04/13 18:56:19 @@ -79,5 +79,5 @@ typedef LONG SCODE; typedef void *HCONTEXT; typedef union tagCY { - struct { + _ANONYMOUS_STRUCT struct { unsigned long Lo; long Hi; @@ -139,6 +139,6 @@ typedef double DOUBLE; typedef struct tagDEC { USHORT wReserved; - union { - struct { + _ANONYMOUS_UNION union { + _ANONYMOUS_STRUCT struct { BYTE scale; BYTE sign; @@ -147,6 +147,6 @@ typedef struct tagDEC { } DUMMYUNIONNAME; ULONG Hi32; - union { - struct { + _ANONYMOUS_UNION union { + _ANONYMOUS_STRUCT struct { ULONG Lo32; ULONG Mid32;