Puetz Kevin A : include: Use __typeof__ so <guiddef.h> is compatible with -std=c++11.

Alexandre Julliard julliard at winehq.org
Thu Jul 16 19:01:20 CDT 2020


Module: wine
Branch: master
Commit: ea90e1ce0d09620826611bde51b4c84212b93d88
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ea90e1ce0d09620826611bde51b4c84212b93d88

Author: Puetz Kevin A <PuetzKevinA at JohnDeere.com>
Date:   Wed Jul 15 13:06:28 2020 +0000

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 at JohnDeere.com>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/guiddef.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/guiddef.h b/include/guiddef.h
index 546c450043..664f74fac3 100644
--- a/include/guiddef.h
+++ b/include/guiddef.h
@@ -74,7 +74,7 @@ extern "C++" {
         __WINE_UUID_ATTR const GUID __wine_uuidof<type>::uuid = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}; \
     }
 
-#define __uuidof(type) __wine_uuidof_type<typeof(type)>::inst::uuid
+#define __uuidof(type) __wine_uuidof_type<__typeof__(type)>::inst::uuid
 
 #else /* __WINE_UUID_ATTR */
 




More information about the wine-cvs mailing list