Commit Graph

30 Commits

Author SHA1 Message Date
Eric Pouech 4a1f1082e4 include: Use Mingw64's __uuidof when present.
otherwise Wine's and Mingw64's __uuidof() conflict (C++)

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-19 16:17:08 +02:00
Alexandre Julliard ae2693e2c4 include: Use long type by default in GUID definition.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:07 +01:00
Alexandre Julliard 5d18d4df84 include: Define DECLSPEC_HIDDEN in guiddef.h if necessary.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-13 13:05:24 +02:00
Puetz Kevin A aa4f8daf99 include: Use unsigned int in InlineIsEqualGUID.
This fixes stand-alone inclusion of <guiddef.h>
(without first including <basetsd.h>).

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:03:51 +02:00
Puetz Kevin A ea90e1ce0d include: Use __typeof__ so <guiddef.h> is compatible with -std=c++11.
The typeof(...) extension is available in -std=gnu++11,
but c++11 considers it replaced by decltype(...) and off-by-default
__uuidof does need GNU __typeof__(), not decltype(), for c++03 support and
because both __uuidof(typename) and __uuidof(expression) should work,
but decltype(typename) is not accepted.

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:03:19 +02:00
Jacek Caban 0a09fdfa1f include: Introduce WINE_USE_LONG macro.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 17:33:56 +02:00
Serge Gautherie 34f3e7793b include: Remove remaining '&& !defined(CINTERFACE)' in guiddef.h.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:10 +02:00
Jacek Caban 51b75e9a53 guiddef.h: Improve __uuidof implementation.
This patch ensures that the reference is unique and identical for all
uses in module, fixes handling of const types and uses direct reference
instead of depending on optimizer to produce sane code.

Based on patch by Kevin Puetz.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 21:28:39 +01:00
Jacek Caban c041605b00 guiddef.h: Remove GUID_NULL declaration.
It's declared in cguid.h with proper extern "C".

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-04 21:30:27 +01:00
Alistair Leslie-Hughes af5019f306 include: Implement InlineIsEqualGUID.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 10:52:03 +02:00
Serge Gautherie 54f58769fe guiddef.h: REF* types do not depend on CINTERFACE.
Addendum to 4626db2bb2.

Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-13 17:20:43 +02:00
Jacek Caban 21c395cbfa guiddef.h: Better GUID declaration for widl. 2013-08-29 19:56:18 +02:00
Jacek Caban e6ad25fffe guiddef.h: Use static const IID instance for __uuidof. 2012-07-31 10:56:10 +02:00
Jacek Caban 4626db2bb2 guiddef.h: REF* types should not depend on CINTERFACE. 2012-06-14 18:19:22 +02:00
Andrew Talbot a43aa90d5b include: Fix a typo. 2011-08-29 12:08:20 +02:00
Jacek Caban a8c75ad4c6 include: Added macros for __uuidof emulation based on C++ templates. 2011-07-14 21:44:37 +02:00
Alexandre Julliard 80cff47c87 include: Get rid of the WINE_NO_LONG_AS_INT ifdefs. 2006-12-20 14:57:08 +01:00
Michael Stefaniuc 15765dd953 The Data1 member of the GUID struct needs to be an unsigned int too for Win64 compatibility. 2006-10-16 10:53:04 +02:00
Alexandre Julliard 236fd51020 uuid: Mark all GUID variables as hidden. 2006-06-12 12:01:38 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman bf1fff0890 include: Make guiddef.h defines match PSDK.
Protect LPGUID typedef by __LPGUID_DEFINED__ being defined.

Protect LPCLSID and LPFMTID typedefs, IsEqualGUID, IsEqualIID,
IsEqualCLSID, IID_NULL, CLSID_NULL and FMTID_NULL defines by
__IID_DEFINED__ being defined.
2006-05-23 11:32:37 +02:00
Troy Rollo 7d19bf5d61 For C++, declare initialised GUIDs to be "extern const" rather than
just "const" to ensure that the initialised GUID is visible to other
modules, and use EXTERN_C rather than just "extern" for the benefit of
MSVC++, which does name mangling on global variables.
2005-09-02 12:17:52 +00:00
Mike McCormack e744735f3e Define LPCGUID. 2005-04-20 12:52:07 +00:00
Mike McCormack 90c29ab3df Make GUIDs non-const when compiling MIDL/widl generated proxies. 2004-09-06 21:25:16 +00:00
Juan Lang bd337a8665 #ifdef guard the declaration of type IID to be compatible with
midl-generated stubs.
2004-02-09 20:48:57 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Francois Gouget 8a259449d9 Added missing include directives. 2001-05-07 18:20:32 +00:00
Ove Kaaven ccb257acb5 Fixed C++ operators return value. 2000-08-11 00:39:26 +00:00
Alexandre Julliard b08cb175de Added guiddef.h and moved a few GUID definitions to the correct file. 2000-08-03 04:19:24 +00:00