diff --git a/include/commctrl.h b/include/commctrl.h index 05f16aace82..9f546b23fd0 100644 --- a/include/commctrl.h +++ b/include/commctrl.h @@ -12,21 +12,21 @@ /* c++ likes nameless unions whereas c doesnt */ /* (used in property sheet structures) */ -#ifdef __cplusplus +#if defined(__cplusplus) && !defined(NONAMELESSUNION) #define DUMMYUNIONNAME #define DUMMYUNIONNAME1 #define DUMMYUNIONNAME2 #define DUMMYUNIONNAME3 #define DUMMYUNIONNAME4 #define DUMMYUNIONNAME5 -#else +#else /* defined(__cplusplus) && !defined(NONAMELESSUNION) */ #define DUMMYUNIONNAME u #define DUMMYUNIONNAME1 u1 #define DUMMYUNIONNAME2 u2 #define DUMMYUNIONNAME3 u3 #define DUMMYUNIONNAME4 u4 #define DUMMYUNIONNAME5 u5 -#endif +#endif /* defined(__cplusplus) && !defined(NONAMELESSUNION) */ #ifdef __cplusplus extern "C" { diff --git a/include/prsht.h b/include/prsht.h index f975124355f..8fa8822953e 100644 --- a/include/prsht.h +++ b/include/prsht.h @@ -31,21 +31,21 @@ typedef BOOL (CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPA /* c++ likes nameless unions whereas c doesnt */ /* (used in property sheet structures) */ -#ifdef __cplusplus +#if defined(__cplusplus) && !defined(NONAMELESSUNION) #define DUMMYUNIONNAME #define DUMMYUNIONNAME1 #define DUMMYUNIONNAME2 #define DUMMYUNIONNAME3 #define DUMMYUNIONNAME4 #define DUMMYUNIONNAME5 -#else +#else /* defined(__cplusplus) && !defined(NONAMELESSUNION) */ #define DUMMYUNIONNAME u #define DUMMYUNIONNAME1 u1 #define DUMMYUNIONNAME2 u2 #define DUMMYUNIONNAME3 u3 #define DUMMYUNIONNAME4 u4 #define DUMMYUNIONNAME5 u5 -#endif +#endif /* defined(__cplusplus) && !defined(NONAMELESSUNION) */ /* * Property sheet support (structures) diff --git a/include/wine/obj_dataobject.h b/include/wine/obj_dataobject.h index 8e6432c67e0..b6e98e5f7d0 100644 --- a/include/wine/obj_dataobject.h +++ b/include/wine/obj_dataobject.h @@ -7,11 +7,15 @@ #ifndef __WINE_WINE_OBJ_DATAOBJECT_H #define __WINE_WINE_OBJ_DATAOBJECT_H +#if defined(__cplusplus) && !defined(NONAMELESSUNION) +#define DUMMYUNIONNAME +#else /* defined(__cplusplus) && !defined(NONAMELESSUNION) */ +#define DUMMYUNIONNAME u +#endif /* defined(__cplusplus) && !defined(NONAMELESSUNION) */ + #ifdef __cplusplus -#define DUMMY_UNION_NAME -#else -#define DUMMY_UNION_NAME u -#endif +extern "C" { +#endif /* defined(__cplusplus) */ /***************************************************************************** * Predeclare the structures @@ -118,7 +122,7 @@ struct STGMEDIUM LPOLESTR lpszFileName; IStream *pstm; IStorage *pstg; - } DUMMY_UNION_NAME; + } DUMMYUNIONNAME; IUnknown *pUnkForRelease; }; diff --git a/include/wtypes.h b/include/wtypes.h index 1ffa1159a4c..da6b5894cae 100644 --- a/include/wtypes.h +++ b/include/wtypes.h @@ -51,17 +51,17 @@ typedef GUID *LPGUID; typedef GUID CLSID,*LPCLSID; typedef GUID IID,*LPIID; typedef GUID FMTID,*LPFMTID; -#ifdef __cplusplus +#if defined(__cplusplus) && !defined(CINTERFACE) #define REFGUID const GUID & #define REFCLSID const CLSID & #define REFIID const IID & #define REFFMTID const FMTID & -#else /* !defined(__cplusplus) */ +#else /* !defined(__cplusplus) && !defined(CINTERFACE) */ #define REFGUID const GUID* const #define REFCLSID const CLSID* const #define REFIID const IID* const #define REFFMTID const FMTID* const -#endif /* !defined(__cplusplus) */ +#endif /* !defined(__cplusplus) && !defined(CINTERFACE) */ extern const IID GUID_NULL; #define IID_NULL GUID_NULL