Nameless struct problem

Patrik Stridvall ps at leissner.se
Sun Nov 17 06:38:58 CST 2002


> I had to use the following hack to allow this
> bit to go through my g++ compiler.
> 
> I'm using RedHat 8.0, so this gives me:
> 
> [dimi at dimi wine.src]$ g++ --version
> g++ (GCC) 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
> Copyright (C) 2002 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions. 
>  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A 
> PARTICULAR PURPOSE.
> 
> Any ideas what's wrong here, and how it can be fixed?

Yes, it seems that GNU C++ 3.2 (unlike GNU C 3.2) doesn't
support unnamed structs.

Strange. Not that it really matters that much because
you could do "magic" with inheritance in C++. See below.

> Index: include/winuser.h
> ===================================================================
> RCS file: /var/cvs/wine/include/winuser.h,v
> retrieving revision 1.152
> diff -u -r1.152 winuser.h
> --- include/winuser.h   4 Nov 2002 22:47:59 -0000       1.152
> +++ include/winuser.h   17 Nov 2002 01:32:56 -0000
> @@ -2387,13 +2387,13 @@
> 
>  typedef struct tagMONITORINFOEXA
>  {
> -    MONITORINFO DUMMYSTRUCTNAME;
> +    MONITORINFO DUMMYSTRUCTNAMEx;
>      CHAR        szDevice[CCHDEVICENAME];
>  } MONITORINFOEXA, *LPMONITORINFOEXA;
> 
>  typedef struct tagMONITORINFOEXW
>  {
> -    MONITORINFO DUMMYSTRUCTNAME;
> +    MONITORINFO DUMMYSTRUCTNAMEx;
>      WCHAR       szDevice[CCHDEVICENAME];
>  } MONITORINFOEXW, *LPMONITORINFOEXW;

This uses inheritance with C++ in the Microsoft SDK.

Working on patch. Coming very soon.



More information about the wine-devel mailing list