* ddraw.h: don't use __extension__ keyword directly
* dinput.h: add missing __extension__ to two anonymous unions

git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@4777 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/direct-x/include/_mingw_dxhelper.h b/mingw-w64-headers/direct-x/include/_mingw_dxhelper.h
index 467f3aa..0d43b1e 100644
--- a/mingw-w64-headers/direct-x/include/_mingw_dxhelper.h
+++ b/mingw-w64-headers/direct-x/include/_mingw_dxhelper.h
@@ -15,6 +15,13 @@
    !defined(NONAMELESSSTRUCT)
 #define NONAMELESSSTRUCT	1
 #endif
+#if !defined(__GNU_EXTENSION)
+#if defined(__GNUC__) || defined(__GNUG__)
+#define __GNU_EXTENSION		__extension__
+#else
+#define __GNU_EXTENSION
+#endif
+#endif /* __extension__ */
 
 #ifndef __ANONYMOUS_DEFINED
 #define __ANONYMOUS_DEFINED
diff --git a/mingw-w64-headers/direct-x/include/ddraw.h b/mingw-w64-headers/direct-x/include/ddraw.h
index 0948615..f6b4021 100644
--- a/mingw-w64-headers/direct-x/include/ddraw.h
+++ b/mingw-w64-headers/direct-x/include/ddraw.h
@@ -372,7 +372,7 @@
 	DWORD	dwCaps;	/* capabilities of surface wanted */
 	DWORD   dwCaps2; /* additional capabilities */
 	DWORD   dwCaps3; /* reserved capabilities */
-	__extension__ union {
+	__GNU_EXTENSION union {
 	  DWORD dwCaps4; /* low word is the depth for a volume texture */
 	  DWORD dwVolumeDepth;
 	} DUMMYUNIONNAME1;
@@ -381,7 +381,7 @@
 typedef struct _DDSCAPSEX {
     DWORD	dwCaps2;
     DWORD	dwCaps3;
-    __extension__ union {
+    __GNU_EXTENSION union {
 	DWORD	dwCaps4;
 	DWORD	dwVolumeDepth;
     } DUMMYUNIONNAME1;
@@ -746,7 +746,7 @@
     DWORD	dwSize;                 /* 0: size of structure */
     DWORD	dwFlags;                /* 4: pixel format flags */
     DWORD	dwFourCC;               /* 8: (FOURCC code) */
-    __extension__ union {
+    __GNU_EXTENSION union {
 	DWORD	dwRGBBitCount;          /* C: how many bits per pixel */
 	DWORD	dwYUVBitCount;          /* C: how many bits per pixel */
 	DWORD	dwZBufferBitDepth;      /* C: how many bits for z buffers */
@@ -754,26 +754,26 @@
 	DWORD	dwLuminanceBitCount;
 	DWORD	dwBumpBitCount;
     } DUMMYUNIONNAME1;
-    __extension__ union {
+    __GNU_EXTENSION union {
 	DWORD	dwRBitMask;             /* 10: mask for red bit*/
 	DWORD	dwYBitMask;             /* 10: mask for Y bits*/
 	DWORD	dwStencilBitDepth;
 	DWORD	dwLuminanceBitMask;
 	DWORD	dwBumpDuBitMask;
     } DUMMYUNIONNAME2;
-    __extension__ union {
+    __GNU_EXTENSION union {
 	DWORD	dwGBitMask;             /* 14: mask for green bits*/
 	DWORD	dwUBitMask;             /* 14: mask for U bits*/
 	DWORD	dwZBitMask;
 	DWORD	dwBumpDvBitMask;
     } DUMMYUNIONNAME3;
-    __extension__ union {
+    __GNU_EXTENSION union {
 	DWORD   dwBBitMask;             /* 18: mask for blue bits*/
 	DWORD   dwVBitMask;             /* 18: mask for V bits*/
 	DWORD	dwStencilBitMask;
 	DWORD	dwBumpLuminanceBitMask;
     } DUMMYUNIONNAME4;
-    __extension__ union {
+    __GNU_EXTENSION union {
     	DWORD	dwRGBAlphaBitMask;	/* 1C: mask for alpha channel */
     	DWORD	dwYUVAlphaBitMask;	/* 1C: mask for alpha channel */
 	DWORD	dwLuminanceAlphaBitMask;
@@ -985,12 +985,12 @@
 	DWORD	dwFlags;	/* 4: determines what fields are valid*/
 	DWORD	dwHeight;	/* 8: height of surface to be created*/
 	DWORD	dwWidth;	/* C: width of input surface*/
-	__extension__ union {
+	__GNU_EXTENSION union {
 		LONG	lPitch;	/* 10: distance to start of next line (return value only)*/
 		DWORD	dwLinearSize;
 	} DUMMYUNIONNAME1;
 	DWORD	dwBackBufferCount;/* 14: number of back buffers requested*/
-	__extension__ union {
+	__GNU_EXTENSION union {
 		DWORD	dwMipMapCount;/* 18:number of mip-map levels requested*/
 		DWORD	dwZBufferBitDepth;/*18: depth of Z buffer requested*/
 		DWORD	dwRefreshRate;/* 18:refresh rate (used when display mode is described)*/
@@ -1012,12 +1012,12 @@
 	DWORD	dwFlags;	/* 4: determines what fields are valid*/
 	DWORD	dwHeight;	/* 8: height of surface to be created*/
 	DWORD	dwWidth;	/* C: width of input surface*/
-	__extension__ union {
+	__GNU_EXTENSION union {
 		LONG	lPitch;	      /*10: distance to start of next line (return value only)*/
 		DWORD   dwLinearSize; /*10: formless late-allocated optimized surface size */
 	} DUMMYUNIONNAME1;
 	DWORD	dwBackBufferCount;/* 14: number of back buffers requested*/
-	__extension__ union {
+	__GNU_EXTENSION union {
 		DWORD	dwMipMapCount;/* 18:number of mip-map levels requested*/
 		DWORD	dwRefreshRate;/* 18:refresh rate (used when display mode is described)*/
 		DWORD   dwSrcVBHandle;/* 18:source used in VB::Optimize */
@@ -1025,7 +1025,7 @@
 	DWORD	dwAlphaBitDepth;/* 1C:depth of alpha buffer requested*/
 	DWORD	dwReserved;	/* 20:reserved*/
 	LPVOID	lpSurface;	/* 24:pointer to the associated surface memory*/
-	__extension__ union {
+	__GNU_EXTENSION union {
 		DDCOLORKEY	ddckCKDestOverlay; /* 28: CK for dest overlay use*/
 		DWORD 		dwEmptyFaceColor;  /* 28: color for empty cubemap faces */
 	} DUMMYUNIONNAME3;
@@ -1033,7 +1033,7 @@
 	DDCOLORKEY	ddckCKSrcOverlay;/* 38: CK for source overlay use*/
 	DDCOLORKEY	ddckCKSrcBlt;	/* 40: CK for source blt use*/
 
-	__extension__ union {
+	__GNU_EXTENSION union {
 		DDPIXELFORMAT	ddpfPixelFormat;/* 48: pixel format description of the surface*/
 		DWORD 		dwFVF;	/* 48: vertex format description of vertex buffers */
 	} DUMMYUNIONNAME4;
@@ -1132,14 +1132,12 @@
     DWORD       dwZBufferHigh;                  /* High limit of Z buffer */
     DWORD       dwZBufferBaseDest;              /* Destination base value */
     DWORD       dwZDestConstBitDepth;           /* Bit depth used to specify Z constant for destination */
-    __extension__ union
-    {
+    __GNU_EXTENSION union {
         DWORD   dwZDestConst;                   /* Constant to use as Z buffer for dest */
         LPDIRECTDRAWSURFACE lpDDSZBufferDest;   /* Surface to use as Z buffer for dest */
     } DUMMYUNIONNAME1;
     DWORD       dwZSrcConstBitDepth;            /* Bit depth used to specify Z constant for source */
-    __extension__ union
-    {
+    __GNU_EXTENSION union {
         DWORD   dwZSrcConst;                    /* Constant to use as Z buffer for src */
         LPDIRECTDRAWSURFACE lpDDSZBufferSrc;    /* Surface to use as Z buffer for src */
     } DUMMYUNIONNAME2;
@@ -1147,19 +1145,16 @@
     DWORD       dwAlphaEdgeBlend;               /* Alpha for edge blending */
     DWORD       dwReserved;
     DWORD       dwAlphaDestConstBitDepth;       /* Bit depth used to specify alpha constant for destination */
-    __extension__ union
-    {
+    __GNU_EXTENSION union {
         DWORD   dwAlphaDestConst;               /* Constant to use as Alpha Channel */
         LPDIRECTDRAWSURFACE lpDDSAlphaDest;     /* Surface to use as Alpha Channel */
     } DUMMYUNIONNAME3;
     DWORD       dwAlphaSrcConstBitDepth;        /* Bit depth used to specify alpha constant for source */
-    __extension__ union
-    {
+    __GNU_EXTENSION union {
         DWORD   dwAlphaSrcConst;                /* Constant to use as Alpha Channel */
         LPDIRECTDRAWSURFACE lpDDSAlphaSrc;      /* Surface to use as Alpha Channel */
     } DUMMYUNIONNAME4;
-    __extension__ union
-    {
+    __GNU_EXTENSION union {
         DWORD   dwFillColor;                    /* color in RGB or Palettized */
         DWORD   dwFillDepth;                    /* depth value for z-buffer */
 	DWORD   dwFillPixel;			/* pixel val for RGBA or RGBZ */
@@ -1196,14 +1191,12 @@
     DWORD       dwAlphaEdgeBlend;               /* Constant to use as alpha for edge blend */
     DWORD       dwReserved;
     DWORD       dwAlphaDestConstBitDepth;       /* Bit depth used to specify alpha constant for destination */
-    __extension__ union
-    {
+    __GNU_EXTENSION union {
         DWORD   dwAlphaDestConst;               /* Constant to use as alpha channel for dest */
         LPDIRECTDRAWSURFACE lpDDSAlphaDest;     /* Surface to use as alpha channel for dest */
     } DUMMYUNIONNAME1;
     DWORD       dwAlphaSrcConstBitDepth;        /* Bit depth used to specify alpha constant for source */
-    __extension__ union
-    {
+    __GNU_EXTENSION union {
         DWORD   dwAlphaSrcConst;                /* Constant to use as alpha channel for src */
         LPDIRECTDRAWSURFACE lpDDSAlphaSrc;      /* Surface to use as alpha channel for src */
     } DUMMYUNIONNAME2;
diff --git a/mingw-w64-headers/direct-x/include/dinput.h b/mingw-w64-headers/direct-x/include/dinput.h
index f7f0ee8..a889b63 100644
--- a/mingw-w64-headers/direct-x/include/dinput.h
+++ b/mingw-w64-headers/direct-x/include/dinput.h
@@ -1241,7 +1241,7 @@
 	UINT_PTR	uAppData;
 	DWORD		dwSemantic;
 	DWORD		dwFlags;
-	union {
+	__GNU_EXTENSION union {
 		LPCSTR	lptszActionName;
 		UINT	uResIdString;
 	} DUMMYUNIONNAME;
@@ -1255,7 +1255,7 @@
 	UINT_PTR	uAppData;
 	DWORD		dwSemantic;
 	DWORD		dwFlags;
-	union {
+	__GNU_EXTENSION union {
 		LPCWSTR	lptszActionName;
 		UINT	uResIdString;
 	} DUMMYUNIONNAME;