Guard ANONYMOUS defines by __ANONYMOUS_DEFINED guard to prevent double definitions...
authorKai Tietz <ktietz70@googlemail.com>
Sat, 27 Feb 2010 14:43:32 +0000 (14:43 +0000)
committerKai Tietz <ktietz70@googlemail.com>
Sat, 27 Feb 2010 14:43:32 +0000 (14:43 +0000)
svn path=/branches/header-work/; revision=45698

include/ddk/ntdef.h
include/psdk/windef.h

index e78d5e3..72343ac 100644 (file)
@@ -93,6 +93,9 @@ typedef unsigned long POINTER_64; // FIXME! HACK!!!
 // We should use the -fms-extensions compiler flag for gcc,
 // and clean up the mess.
 //
+#ifndef __ANONYMOUS_DEFINED
+#define __ANONYMOUS_DEFINED
+
 #ifndef NONAMELESSUNION
 #ifdef __GNUC__
 #define _ANONYMOUS_UNION __GNU_EXTENSION
@@ -132,14 +135,18 @@ typedef unsigned long POINTER_64; // FIXME! HACK!!!
 #define DUMMYSTRUCTNAME s
 #define DUMMYSTRUCTNAME2 s2
 #define DUMMYSTRUCTNAME3 s3
+#define DUMMYSTRUCTNAME4 s4
+#define DUMMYSTRUCTNAME5 s5
 #else
 #define _STRUCT_NAME(x)
 #define DUMMYSTRUCTNAME
 #define DUMMYSTRUCTNAME2
 #define DUMMYSTRUCTNAME3
+#define DUMMYSTRUCTNAME4
+#define DUMMYSTRUCTNAME5
 #endif
 
-
+#endif /* __ANONYMOUS_DEFINED */
 
 // FIXME
 #undef UNALIGNED
index b1de03d..a985b5a 100644 (file)
@@ -204,16 +204,13 @@ extern "C" {
 #define DBG_UNREFERENCED_PARAMETER(P)
 #define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
 
+#ifndef __ANONYMOUS_DEFINED
+#define __ANONYMOUS_DEFINED
+
 #ifndef NONAMELESSUNION
 #ifdef __GNUC__
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
 #define _ANONYMOUS_UNION __extension__
 #define _ANONYMOUS_STRUCT __extension__
-#else
-#if defined(__cplusplus)
-#define _ANONYMOUS_UNION __extension__
-#endif /* __cplusplus */
-#endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) */
 #elif defined(__WATCOMC__) || defined(_MSC_VER)
 #define _ANONYMOUS_UNION
 #define _ANONYMOUS_STRUCT
@@ -263,6 +260,8 @@ extern "C" {
 #define DUMMYSTRUCTNAME5
 #endif
 
+#endif /* __ANONYMOUS_DEFINED */
+
 #ifndef NO_STRICT
 #ifndef STRICT
 #define STRICT 1