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