[1/4] programs/oleview: Fix compilation with PSDK.

Francois Gouget fgouget at free.fr
Tue Oct 27 05:40:15 CDT 2015


On Tue, 27 Oct 2015, Francois Gouget wrote:
[...]
> > > That this is needed to compile with the PSDK but not with Wine probably 
> > > indicates a bug in the Wine headers. What was the compilation error?
> > 
> > ..\include\wine/debug.h(334) : error C2039: 'brecVal' : is not a member of 'tagVARIANT'

I found the problem. In debug.h we have V_UNION(v,brecVal).pvRecord and 
V_UNION(v,brecVal).pRecInfo. This does not work if tagVARIANT is using 
nameless unions such as with the Visual C++ compiler.

The reason it works in Wine is that __STDC__ is always defined so that 
Wine code never uses nameless unions for tagVARIANT. So I'm sending a 
fix for that (adding V_RECORD() and V_RECORDINFO()).


With that fix, are the following defines still needed? If yes, what is 
the compiler command line and error?

> --- a/dlls/oleaut32/tests/typelib.c
> +++ b/dlls/oleaut32/tests/typelib.c
> @@ -19,6 +19,9 @@
>   * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
>   */
>
> +#define NONAMELESSSTRUCT
> +#define NONAMELESSUNION


-- 
Francois Gouget <fgouget at free.fr>              http://fgouget.free.fr/
                        question = ( to ) ? be : ! be;
                              -- Wm. Shakespeare



More information about the wine-devel mailing list