diff mbox

[boehm-gc] : Fix PR/48514

Message ID CAEwic4bXR0eWFpZXtYH5iftvFT7WJUqqmkiENXyQynrKrTp1Dg@mail.gmail.com
State New
Headers show

Commit Message

Kai Tietz Feb. 2, 2012, 12:01 p.m. UTC
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

Comments

Kai Tietz Feb. 8, 2012, 9:40 p.m. UTC | #1
Ping

2012/2/2 Kai Tietz <ktietz70@googlemail.com>:
> 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
Tom Tromey Feb. 10, 2012, 3:19 p.m. UTC | #2
>>>>> "Kai" == Kai Tietz <ktietz70@googlemail.com> writes:

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

This is ok.  Thanks.

Tom
diff mbox

Patch

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