stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Farid Zaripov" <>
Subject Re: binary compatibility question
Date Thu, 18 Oct 2007 23:17:49 GMT
> From: Martin Sebor []
> Sent: Пт, 19.10.2007 0:35
> To:
> Subject: Re: binary compatibility question
> So what would we do in the archive? Keep the incompatible extern "C" symbol?
  Yes. Actually in shared library will be present both extern C" and extern "C++" constants.
I've tried to export the extern "C" _xxxBits constants, but the alias names were stripped
to th first '@' character, i.e. the following directive
#pragma comment (linker, "/EXPORT:?__rw_flt_qNaN@__rw@@3MB=__rw_flt_qNaN,DATA")
exported "?__rw_flt_qNaN" symbol instead of "?__rw_flt_qNaN@__rw@@3MB"
  So I've created another xxx_vc constants with C++ linkage and exported them.
> It would be great if you could put together a patch.
  The patch is attached.
  * limits_bits.cpp [_RWSTD_VER_MAJOR < 5 && _MSC_VER && _DLL]:
  The _xxxBits constants defined with C++ linkage and exported as the floating
  constants with the mangled names for the binary compatibility with the stdcxx 4.1.x
  I see that the proper symbols are exported, but I can't check the 4.1.3 examples on MSVC
at the moment (I'm writing from the home right now and no MSVC 7.1 here). Maybe some of You
would test this patch (Martin, Travis)? Otherwise I'll test the patch tomorrow.
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message