|
|
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER within this package.
- */
-
- #if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS)
- #define NONAMELESSUNION 1
- #endif
- #if defined(NONAMELESSSTRUCT) && \
- !defined(NONAMELESSUNION)
- #define NONAMELESSUNION 1
- #endif
- #if defined(NONAMELESSUNION) && \
- !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
- #if defined(__GNUC__) || defined(__GNUG__)
- #define _ANONYMOUS_UNION __extension__
- #define _ANONYMOUS_STRUCT __extension__
- #else
- #define _ANONYMOUS_UNION
- #define _ANONYMOUS_STRUCT
- #endif
- #ifndef NONAMELESSUNION
- #define _UNION_NAME(x)
- #define _STRUCT_NAME(x)
- #else /* NONAMELESSUNION */
- #define _UNION_NAME(x) x
- #define _STRUCT_NAME(x) x
- #endif
- #endif /* __ANONYMOUS_DEFINED */
-
- #ifndef DUMMYUNIONNAME
- # ifdef NONAMELESSUNION
- # define DUMMYUNIONNAME u
- # define DUMMYUNIONNAME1 u1 /* Wine uses this variant */
- # define DUMMYUNIONNAME2 u2
- # define DUMMYUNIONNAME3 u3
- # define DUMMYUNIONNAME4 u4
- # define DUMMYUNIONNAME5 u5
- # define DUMMYUNIONNAME6 u6
- # define DUMMYUNIONNAME7 u7
- # define DUMMYUNIONNAME8 u8
- # define DUMMYUNIONNAME9 u9
- # else /* NONAMELESSUNION */
- # define DUMMYUNIONNAME
- # define DUMMYUNIONNAME1 /* Wine uses this variant */
- # define DUMMYUNIONNAME2
- # define DUMMYUNIONNAME3
- # define DUMMYUNIONNAME4
- # define DUMMYUNIONNAME5
- # define DUMMYUNIONNAME6
- # define DUMMYUNIONNAME7
- # define DUMMYUNIONNAME8
- # define DUMMYUNIONNAME9
- # endif
- #endif /* DUMMYUNIONNAME */
-
- #if !defined(DUMMYUNIONNAME1) /* MinGW does not define this one */
- # ifdef NONAMELESSUNION
- # define DUMMYUNIONNAME1 u1 /* Wine uses this variant */
- # else
- # define DUMMYUNIONNAME1 /* Wine uses this variant */
- # endif
- #endif /* DUMMYUNIONNAME1 */
-
- #ifndef DUMMYSTRUCTNAME
- # ifdef NONAMELESSUNION
- # define DUMMYSTRUCTNAME s
- # define DUMMYSTRUCTNAME1 s1 /* Wine uses this variant */
- # define DUMMYSTRUCTNAME2 s2
- # define DUMMYSTRUCTNAME3 s3
- # define DUMMYSTRUCTNAME4 s4
- # define DUMMYSTRUCTNAME5 s5
- # else
- # define DUMMYSTRUCTNAME
- # define DUMMYSTRUCTNAME1 /* Wine uses this variant */
- # define DUMMYSTRUCTNAME2
- # define DUMMYSTRUCTNAME3
- # define DUMMYSTRUCTNAME4
- # define DUMMYSTRUCTNAME5
- # endif
- #endif /* DUMMYSTRUCTNAME */
-
- /* These are for compatibility with the Wine source tree */
-
- #ifndef WINELIB_NAME_AW
- # ifdef __MINGW_NAME_AW
- # define WINELIB_NAME_AW __MINGW_NAME_AW
- # else
- # ifdef UNICODE
- # define WINELIB_NAME_AW(func) func##W
- # else
- # define WINELIB_NAME_AW(func) func##A
- # endif
- # endif
- #endif /* WINELIB_NAME_AW */
-
- #ifndef DECL_WINELIB_TYPE_AW
- # ifdef __MINGW_TYPEDEF_AW
- # define DECL_WINELIB_TYPE_AW __MINGW_TYPEDEF_AW
- # else
- # define DECL_WINELIB_TYPE_AW(type) typedef WINELIB_NAME_AW(type) type;
- # endif
- #endif /* DECL_WINELIB_TYPE_AW */
-
|