source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/_mingw_dxhelper.h@ 1180

Last change on this file since 1180 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 3.0 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6
7#if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS)
8#define NONAMELESSUNION 1
9#endif
10#if defined(NONAMELESSSTRUCT) && \
11 !defined(NONAMELESSUNION)
12#define NONAMELESSUNION 1
13#endif
14#if defined(NONAMELESSUNION) && \
15 !defined(NONAMELESSSTRUCT)
16#define NONAMELESSSTRUCT 1
17#endif
18#if !defined(__GNU_EXTENSION)
19#if defined(__GNUC__) || defined(__GNUG__)
20#define __GNU_EXTENSION __extension__
21#else
22#define __GNU_EXTENSION
23#endif
24#endif /* __extension__ */
25
26#ifndef __ANONYMOUS_DEFINED
27#define __ANONYMOUS_DEFINED
28#if defined(__GNUC__) || defined(__GNUG__)
29#define _ANONYMOUS_UNION __extension__
30#define _ANONYMOUS_STRUCT __extension__
31#else
32#define _ANONYMOUS_UNION
33#define _ANONYMOUS_STRUCT
34#endif
35#ifndef NONAMELESSUNION
36#define _UNION_NAME(x)
37#define _STRUCT_NAME(x)
38#else /* NONAMELESSUNION */
39#define _UNION_NAME(x) x
40#define _STRUCT_NAME(x) x
41#endif
42#endif /* __ANONYMOUS_DEFINED */
43
44#ifndef DUMMYUNIONNAME
45# ifdef NONAMELESSUNION
46# define DUMMYUNIONNAME u
47# define DUMMYUNIONNAME1 u1 /* Wine uses this variant */
48# define DUMMYUNIONNAME2 u2
49# define DUMMYUNIONNAME3 u3
50# define DUMMYUNIONNAME4 u4
51# define DUMMYUNIONNAME5 u5
52# define DUMMYUNIONNAME6 u6
53# define DUMMYUNIONNAME7 u7
54# define DUMMYUNIONNAME8 u8
55# define DUMMYUNIONNAME9 u9
56# else /* NONAMELESSUNION */
57# define DUMMYUNIONNAME
58# define DUMMYUNIONNAME1 /* Wine uses this variant */
59# define DUMMYUNIONNAME2
60# define DUMMYUNIONNAME3
61# define DUMMYUNIONNAME4
62# define DUMMYUNIONNAME5
63# define DUMMYUNIONNAME6
64# define DUMMYUNIONNAME7
65# define DUMMYUNIONNAME8
66# define DUMMYUNIONNAME9
67# endif
68#endif /* DUMMYUNIONNAME */
69
70#if !defined(DUMMYUNIONNAME1) /* MinGW does not define this one */
71# ifdef NONAMELESSUNION
72# define DUMMYUNIONNAME1 u1 /* Wine uses this variant */
73# else
74# define DUMMYUNIONNAME1 /* Wine uses this variant */
75# endif
76#endif /* DUMMYUNIONNAME1 */
77
78#ifndef DUMMYSTRUCTNAME
79# ifdef NONAMELESSUNION
80# define DUMMYSTRUCTNAME s
81# define DUMMYSTRUCTNAME1 s1 /* Wine uses this variant */
82# define DUMMYSTRUCTNAME2 s2
83# define DUMMYSTRUCTNAME3 s3
84# define DUMMYSTRUCTNAME4 s4
85# define DUMMYSTRUCTNAME5 s5
86# else
87# define DUMMYSTRUCTNAME
88# define DUMMYSTRUCTNAME1 /* Wine uses this variant */
89# define DUMMYSTRUCTNAME2
90# define DUMMYSTRUCTNAME3
91# define DUMMYSTRUCTNAME4
92# define DUMMYSTRUCTNAME5
93# endif
94#endif /* DUMMYSTRUCTNAME */
95
96/* These are for compatibility with the Wine source tree */
97
98#ifndef WINELIB_NAME_AW
99# ifdef __MINGW_NAME_AW
100# define WINELIB_NAME_AW __MINGW_NAME_AW
101# else
102# ifdef UNICODE
103# define WINELIB_NAME_AW(func) func##W
104# else
105# define WINELIB_NAME_AW(func) func##A
106# endif
107# endif
108#endif /* WINELIB_NAME_AW */
109
110#ifndef DECL_WINELIB_TYPE_AW
111# ifdef __MINGW_TYPEDEF_AW
112# define DECL_WINELIB_TYPE_AW __MINGW_TYPEDEF_AW
113# else
114# define DECL_WINELIB_TYPE_AW(type) typedef WINELIB_NAME_AW(type) type;
115# endif
116#endif /* DECL_WINELIB_TYPE_AW */
117
Note: See TracBrowser for help on using the repository browser.