[PATCH 2/2] include: Define C++ operators inside extern "C++" blocks.

Octavian Voicu octavian.voicu at gmail.com
Mon Sep 6 15:51:58 CDT 2010


d3c4106d6f6d587ec4b9013692dc1cf6da29c279 still doesn't fix the initial
problem (see log below).

There is still another problem in shlobj.h caused by the inclusion
on shobjidl.h from an extern C block:

http://source.winehq.org/git/wine.git/?a=blob;f=include/shlobj.h;h=cda13060195f1c4104ee226f4132155a354d46de;hb=HEAD#l39

Should I send a patch to move the three includes before extern C?

How to reproduce the problem:

$ cat test.cpp
#include <shlobj.h>

$ wineg++ test.cpp
In file included from /usr/local/include/wine/windows/propsys.h:164,
                 from /usr/local/include/wine/windows/shobjidl.h:368,
                 from /usr/local/include/wine/windows/shlobj.h:39,
                 from test.cpp:1:
/usr/local/include/wine/windows/propkeydef.h: In function ‘bool
operator==(const PROPERTYKEY&, const PROPERTYKEY&)’:
/usr/local/include/wine/windows/propkeydef.h:61: error: declaration of C
function ‘bool operator==(const PROPERTYKEY&, const PROPERTYKEY&)’ conflicts
with
/usr/local/include/wine/windows/guiddef.h:110: error: previous declaration
‘bool operator==(const GUID&, const GUID&)’ here
/usr/local/include/wine/windows/propkeydef.h: In function ‘bool
operator!=(const PROPERTYKEY&, const PROPERTYKEY&)’:
/usr/local/include/wine/windows/propkeydef.h:65: error: declaration of C
function ‘bool operator!=(const PROPERTYKEY&, const PROPERTYKEY&)’ conflicts
with
/usr/local/include/wine/windows/guiddef.h:114: error: previous declaration
‘bool operator!=(const GUID&, const GUID&)’ here
winegcc: g++ failed
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20100906/f9f3a84a/attachment.htm>


More information about the wine-devel mailing list