Hello,

this patch fixes an issue about current used boehm-gc tree in gcc.
The issue is that _DLL macro is used for Windows-targets wrong.  It is
assumed that it would mean to build a shared object (DLL), but it just
indicates that built DLL/Exectuable is using shared msvcrt.dll
runtime.  (see here msdn about meaning for _DLL macro).

ChangeLog

        * include/gc_config_macros.h (GC_DLL): Define it for
mingw-targets only, if
        we are actual in boehm-gc's build and DLL_EXPORT macro is defined.

Tested for i686-w64-mingw32, i686-pc-mingw32, and x86_64-w64-mingw32
(including building of libjava with test).  Ok for apply?

Regards,
Kai

Index: include/gc_config_macros.h
===================================================================
--- include/gc_config_macros.h  (revision 183833)
+++ include/gc_config_macros.h  (working copy)
@@ -81,7 +81,9 @@
     typedef long ptrdiff_t;    /* ptrdiff_t is not defined */
 # endif

-#if defined(_DLL) && !defined(GC_NOT_DLL) && !defined(GC_DLL)
+#if ((defined(_DLL) && !defined (__MINGW32__)) \
+     || (defined (DLL_EXPORT) && defined (GC_BUILD))) \
+    && !defined(GC_DLL)
 # define GC_DLL
 #endif

Reply via email to