You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by fa...@apache.org on 2007/10/19 17:30:11 UTC

svn commit: r586502 - /incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h

Author: faridz
Date: Fri Oct 19 08:30:10 2007
New Revision: 586502

URL: http://svn.apache.org/viewvc?rev=586502&view=rev
Log:
2007-10-19 Farid Zaripov <fa...@epam.com>

	* _config-msvcrt.h [_DLL]: Define configuration macros
	to maintain binary compatibility with 4.1.x on MSVC
	only for dynamic builds to prevent the multiple
	definition symbols linker errors.

Modified:
    incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h

Modified: incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h
URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h?rev=586502&r1=586501&r2=586502&view=diff
==============================================================================
--- incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h (original)
+++ incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h Fri Oct 19 08:30:10 2007
@@ -220,7 +220,7 @@
 
 #endif   // _NATIVE_WCHAR_T_DEFINED
 
-#if _RWSTD_VER_MAJOR < 5
+#if _RWSTD_VER_MAJOR < 5 && defined (_DLL)
    // defined for binary compatibility with stdcxx 4.1.x
    // (for all versions of MSVC and Intel C++)
 #  define _RWSTD_NO_BAD_CAST_ASSIGNMENT
@@ -234,4 +234,4 @@
 #  define _RWSTD_NO_EXCEPTION_DEFAULT_CTOR
 #  define _RWSTD_NO_EXCEPTION_DTOR
 #  define _RWSTD_NO_EXCEPTION_WHAT
-#endif   // _RWSTD_VER_MAJOR < 5
+#endif   // _RWSTD_VER_MAJOR < 5 && _DLL



Re: svn commit: r586502 - /incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h

Posted by Martin Sebor <se...@roguewave.com>.
Martin Sebor wrote:
> Martin Sebor wrote:
>> Farid Zaripov wrote:
> [...]
>>>   I think we can also include the following patch in 4.2.0 release:
>>> http://www.nabble.com/__rw_once-warnings-in-non-reentrant-Windows-builds
>>> --tf4634599.html#a13295746
>>
>> This makes it possible to do non-reentrant builds with MSVC 8
>> just like with MSVC 7, correct? I.e., it makes the 8s and 11s
>> build types non-reentrant when using MSVC 8, as they are in
>> stdcxx 4.1.3 (when using MSVC 7). If you're comfortable that
>> the patch is good for all compilers and build types I have no
>> objection. Does anyone have a problem with this?
> 
> Since I haven't heard any objections I'm going to put this in.

Okay, it's in. Farid, I took the liberty to tweak your change
log entry to add a little bit more detail (and correct the
formatting).

   http://svn.apache.org/viewvc?rev=586613&view=rev

Martin


Re: svn commit: r586502 - /incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h

Posted by Martin Sebor <se...@roguewave.com>.
Martin Sebor wrote:
> Farid Zaripov wrote:
[...]
>>   I think we can also include the following patch in 4.2.0 release:
>> http://www.nabble.com/__rw_once-warnings-in-non-reentrant-Windows-builds
>> --tf4634599.html#a13295746
> 
> This makes it possible to do non-reentrant builds with MSVC 8
> just like with MSVC 7, correct? I.e., it makes the 8s and 11s
> build types non-reentrant when using MSVC 8, as they are in
> stdcxx 4.1.3 (when using MSVC 7). If you're comfortable that
> the patch is good for all compilers and build types I have no
> objection. Does anyone have a problem with this?

Since I haven't heard any objections I'm going to put this in.

Martin

Re: svn commit: r586502 - /incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h

Posted by Martin Sebor <se...@roguewave.com>.
Farid Zaripov wrote:
>> -----Original Message-----
>> From: Martin Sebor [mailto:sebor@roguewave.com] 
>> Sent: Friday, October 19, 2007 7:40 PM
>> To: stdcxx-dev@incubator.apache.org
>> Subject: Re: svn commit: r586502 - 
>> /incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h
>>
>>>   I think we can also include the following patch in 4.2.0 release:
>>>
>> http://www.nabble.com/__rw_once-warnings-in-non-reentrant-Windows-buil
>>> ds
>>> --tf4634599.html#a13295746
>> This makes it possible to do non-reentrant builds with MSVC 8 
>> just like with MSVC 7, correct? I.e., it makes the 8s and 11s 
>> build types non-reentrant when using MSVC 8, as they are in 
>> stdcxx 4.1.3 (when using MSVC 7).
> 
>   Yes. This patch puts in config.h _RWSTD_NO_REENTRANT macro at
> configuration step. And then if this macro is defined, then
> _RWSTD_REENTRANT
> macro will not be defined or undefined (if it already defined) in
> _config-msvcrt.h.
> 
>>  If you're comfortable that 
>> the patch is good for all compilers and build types I have no 
>> objection. Does anyone have a problem with this?
> 
>   This patch affects only MSVC and ICC/Windows compilers.

Right, that's what I meant, but we have a number of them on
our test matrix (MSVC 7.1, 8.0, and the 9.0 beta, and Intel
C++ 9.1 and 10). I'm looking for assurance that the patch
won't break any of them, in any configuration (build type).

Martin

RE: svn commit: r586502 - /incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h

Posted by Farid Zaripov <Fa...@epam.com>.
> -----Original Message-----
> From: Martin Sebor [mailto:sebor@roguewave.com] 
> Sent: Friday, October 19, 2007 7:40 PM
> To: stdcxx-dev@incubator.apache.org
> Subject: Re: svn commit: r586502 - 
> /incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h
> 
> >   I think we can also include the following patch in 4.2.0 release:
> > 
> http://www.nabble.com/__rw_once-warnings-in-non-reentrant-Windows-buil
> > ds
> > --tf4634599.html#a13295746
> 
> This makes it possible to do non-reentrant builds with MSVC 8 
> just like with MSVC 7, correct? I.e., it makes the 8s and 11s 
> build types non-reentrant when using MSVC 8, as they are in 
> stdcxx 4.1.3 (when using MSVC 7).

  Yes. This patch puts in config.h _RWSTD_NO_REENTRANT macro at
configuration step. And then if this macro is defined, then
_RWSTD_REENTRANT
macro will not be defined or undefined (if it already defined) in
_config-msvcrt.h.

>  If you're comfortable that 
> the patch is good for all compilers and build types I have no 
> objection. Does anyone have a problem with this?

  This patch affects only MSVC and ICC/Windows compilers.

Farid.

Re: svn commit: r586502 - /incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h

Posted by Martin Sebor <se...@roguewave.com>.
Farid Zaripov wrote:
>> -----Original Message-----
>> From: Martin Sebor [mailto:sebor@roguewave.com] 
>> Sent: Friday, October 19, 2007 6:51 PM
>> To: stdcxx-dev@incubator.apache.org
>> Subject: Re: svn commit: r586502 - 
>> /incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h
>>
>> I take it this is necessary for 4.2.0?
> 
>   Definitely. I've tested the 4.2.0 HEAD revision and got many
> linker errors in static builds. The same results you can see
> in nightly builds results. There all static builds are pink color.

Okay, let me also merge it out to 4.2.x (the latest -rc-6 tag
is based off of 4.2.x rather than 4.2.0 as all the previous
tags; going forward, i.e., after the 4.2.0 release, we will
continue to maintain and update 4.2.x for 4.2.1, 4.2.2, etc.,
but we won't touch the [misnamed] 4.2.0 branch).

> 
> http://people.apache.org/~sebor/stdcxx/results/
> 
>> (If so, we will have to create a new release candidate.)
> 
>   I think we can also include the following patch in 4.2.0 release:
> http://www.nabble.com/__rw_once-warnings-in-non-reentrant-Windows-builds
> --tf4634599.html#a13295746

This makes it possible to do non-reentrant builds with MSVC 8
just like with MSVC 7, correct? I.e., it makes the 8s and 11s
build types non-reentrant when using MSVC 8, as they are in
stdcxx 4.1.3 (when using MSVC 7). If you're comfortable that
the patch is good for all compilers and build types I have no
objection. Does anyone have a problem with this?

Martin

RE: svn commit: r586502 - /incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h

Posted by Farid Zaripov <Fa...@epam.com>.
> -----Original Message-----
> From: Martin Sebor [mailto:sebor@roguewave.com] 
> Sent: Friday, October 19, 2007 6:51 PM
> To: stdcxx-dev@incubator.apache.org
> Subject: Re: svn commit: r586502 - 
> /incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h
> 
> I take it this is necessary for 4.2.0?

  Definitely. I've tested the 4.2.0 HEAD revision and got many
linker errors in static builds. The same results you can see
in nightly builds results. There all static builds are pink color.

http://people.apache.org/~sebor/stdcxx/results/

> (If so, we will have to create a new release candidate.)

  I think we can also include the following patch in 4.2.0 release:
http://www.nabble.com/__rw_once-warnings-in-non-reentrant-Windows-builds
--tf4634599.html#a13295746

Farid.

Re: svn commit: r586502 - /incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h

Posted by Martin Sebor <se...@roguewave.com>.
I take it this is necessary for 4.2.0? (If so, we will have
to create a new release candidate.)

Martin


faridz@apache.org wrote:
> Author: faridz
> Date: Fri Oct 19 08:30:10 2007
> New Revision: 586502
> 
> URL: http://svn.apache.org/viewvc?rev=586502&view=rev
> Log:
> 2007-10-19 Farid Zaripov <fa...@epam.com>
> 
> 	* _config-msvcrt.h [_DLL]: Define configuration macros
> 	to maintain binary compatibility with 4.1.x on MSVC
> 	only for dynamic builds to prevent the multiple
> 	definition symbols linker errors.
> 
> Modified:
>     incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h
> 
> Modified: incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h
> URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h?rev=586502&r1=586501&r2=586502&view=diff
> ==============================================================================
> --- incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h (original)
> +++ incubator/stdcxx/branches/4.2.0/include/rw/_config-msvcrt.h Fri Oct 19 08:30:10 2007
> @@ -220,7 +220,7 @@
>  
>  #endif   // _NATIVE_WCHAR_T_DEFINED
>  
> -#if _RWSTD_VER_MAJOR < 5
> +#if _RWSTD_VER_MAJOR < 5 && defined (_DLL)
>     // defined for binary compatibility with stdcxx 4.1.x
>     // (for all versions of MSVC and Intel C++)
>  #  define _RWSTD_NO_BAD_CAST_ASSIGNMENT
> @@ -234,4 +234,4 @@
>  #  define _RWSTD_NO_EXCEPTION_DEFAULT_CTOR
>  #  define _RWSTD_NO_EXCEPTION_DTOR
>  #  define _RWSTD_NO_EXCEPTION_WHAT
> -#endif   // _RWSTD_VER_MAJOR < 5
> +#endif   // _RWSTD_VER_MAJOR < 5 && _DLL
> 
>