Message ID | CAEwic4bXR0eWFpZXtYH5iftvFT7WJUqqmkiENXyQynrKrTp1Dg@mail.gmail.com |
---|---|
State | New |
Headers | show |
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
>>>>> "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
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