Jacek Caban : widl: Make MIDL_DEFINE_GUID more compatible with midl.

Alexandre Julliard julliard at winehq.org
Fri Nov 9 14:12:15 CST 2018


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Nov  9 13:55:30 2018 +0100

widl: Make MIDL_DEFINE_GUID more compatible with midl.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 tools/widl/widl.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tools/widl/widl.c b/tools/widl/widl.c
index 96fb240..3baebd0 100644
--- a/tools/widl/widl.c
+++ b/tools/widl/widl.c
@@ -523,10 +523,15 @@ void write_id_data(const statement_list_t *stmts)
   fprintf(idfile, "#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \\\n");
   fprintf(idfile, "    DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)\n\n");
 
+  fprintf(idfile, "#elif defined(__cplusplus)\n\n");
+
+  fprintf(idfile, "#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \\\n");
+  fprintf(idfile, "    EXTERN_C const type DECLSPEC_SELECTANY name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}\n\n");
+
   fprintf(idfile, "#else\n\n");
 
   fprintf(idfile, "#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \\\n");
-  fprintf(idfile, "    const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}\n\n");
+  fprintf(idfile, "    const type DECLSPEC_SELECTANY name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}\n\n");
 
   fprintf(idfile, "#endif\n\n");
   start_cplusplus_guard(idfile);




More information about the wine-cvs mailing list