No version of GNU C++ (unlike GNU C) supports unnamed structs.

This commit is contained in:
Patrik Stridvall 2002-11-18 19:46:34 +00:00 committed by Alexandre Julliard
parent b4488419be
commit f9128d79d2
2 changed files with 16 additions and 2 deletions

View File

@ -235,8 +235,8 @@
# define NONAMELESSSTRUCT
# define NONAMELESSUNION
#else
/* Anonymous struct support starts with gcc/g++ 2.96 */
# if !defined(NONAMELESSSTRUCT) && (defined(__GNUC__) && ((__GNUC__ < 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ < 96)))) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
/* Anonymous struct support starts with gcc 2.96 */
# if !defined(NONAMELESSSTRUCT) && (defined(__GNUC__) && (defined(__cplusplus) || ((__GNUC__ < 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ < 96))))) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
# define NONAMELESSSTRUCT
# endif
/* Anonymous unions support starts with gcc 2.96/g++ 2.95 */

View File

@ -2385,17 +2385,31 @@ typedef struct tagMONITORINFO
DWORD dwFlags;
} MONITORINFO, *LPMONITORINFO;
#ifdef __cplusplus
typedef struct tagMONITORINFOEXA : public tagMONITORINFO
{
CHAR szDevice[CCHDEVICENAME];
} MONITORINFOEXA, *LPMONITORINFOEXA;
#else
typedef struct tagMONITORINFOEXA
{
MONITORINFO DUMMYSTRUCTNAME;
CHAR szDevice[CCHDEVICENAME];
} MONITORINFOEXA, *LPMONITORINFOEXA;
#endif
#ifdef __cplusplus
typedef struct tagMONITORINFOEXW : public tagMONITORINFO
{
WCHAR szDevice[CCHDEVICENAME];
} MONITORINFOEXW, *LPMONITORINFOEXW;
#else
typedef struct tagMONITORINFOEXW
{
MONITORINFO DUMMYSTRUCTNAME;
WCHAR szDevice[CCHDEVICENAME];
} MONITORINFOEXW, *LPMONITORINFOEXW;
#endif
DECL_WINELIB_TYPE_AW(MONITORINFOEX)
DECL_WINELIB_TYPE_AW(LPMONITORINFOEX)