svn commit: r612430 - /stdcxx/branches/4.2.x/include/rw/_mutex.h
Author: faridz Date: Wed Jan 16 04:11:24 2008 New Revision: 612430 URL: http://svn.apache.org/viewvc?rev=612430&view=rev Log: 2008-01-16 Farid Zaripov <[EMAIL PROTECTED]> * include/rw/_mutex.h: Use intrinsic interlocked functions on MSVC 7.1 and ICC. Declare the interlocked functions instead of #including . Modified: stdcxx/branches/4.2.x/include/rw/_mutex.h Modified: stdcxx/branches/4.2.x/include/rw/_mutex.h URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/include/rw/_mutex.h?rev=612430&r1=612429&r2=612430&view=diff == --- stdcxx/branches/4.2.x/include/rw/_mutex.h (original) +++ stdcxx/branches/4.2.x/include/rw/_mutex.h Wed Jan 16 04:11:24 2008 @@ -119,6 +119,12 @@ #include #define _RWSTD_MUTEX_T _RTL_CRITICAL_SECTION +#ifndef _MSC_VER +# define _InterlockedIncrement InterlockedIncrement +# define _InterlockedDecrement InterlockedDecrement +# define _InterlockedExchange InterlockedExchange +#endif// _MSC_VER + # else // if defined (_RWSTD_NO_FWD_DECLARATIONS) // avoid #including this header (MFC doesn't like it) @@ -142,7 +148,7 @@ DeleteCriticalSection (_RTL_CRITICAL_SECTION*); -#if defined _RWSTD_INTERLOCKED_T && (!defined (_MSC_VER) || _MSC_VER < 1400) +#if defined (_RWSTD_INTERLOCKED_T) && !defined (_MSC_VER) __declspec (dllimport) long __stdcall InterlockedIncrement (_RWSTD_INTERLOCKED_T*); @@ -157,7 +163,7 @@ # define _InterlockedDecrement InterlockedDecrement # define _InterlockedExchange InterlockedExchange -#endif // _RWSTD_INTERLOCKED_T && (!_MSC_VER || _MSC_VER < 1400) +#endif // _RWSTD_INTERLOCKED_T && !_MSC_VER } // extern "C" @@ -176,21 +182,35 @@ # endif // _RWSTD_NO_FWD_DECLARATIONS -# if defined (_MSC_VER) && _MSC_VER >= 1400 && !defined (__INTEL_COMPILER) -#include - -#pragma intrinsic (_InterlockedIncrement) -#pragma intrinsic (_InterlockedIncrement16) -#pragma intrinsic (_InterlockedDecrement) -#pragma intrinsic (_InterlockedDecrement16) -#pragma intrinsic (_InterlockedExchange) +# ifdef _MSC_VER +extern "C" long __cdecl _InterlockedIncrement (volatile long*); +extern "C" long __cdecl _InterlockedDecrement (volatile long*); +extern "C" long __cdecl _InterlockedExchange (volatile long*, long); +#ifndef __INTEL_COMPILER +# pragma intrinsic (_InterlockedIncrement) +# pragma intrinsic (_InterlockedDecrement) +# pragma intrinsic (_InterlockedExchange) +#endif // __INTEL_COMPILER + +#if _MSC_VER >= 1400 && !defined (__INTEL_COMPILER) +extern "C" short __cdecl _InterlockedIncrement16 (volatile short*); +extern "C" short __cdecl _InterlockedDecrement16 (volatile short*); +# pragma intrinsic (_InterlockedIncrement16) +# pragma intrinsic (_InterlockedDecrement16) +#endif // _MSC_VER >= 1400 && !__INTEL_COMPILER #ifdef _M_X64 -# pragma intrinsic (_InterlockedIncrement64) -# pragma intrinsic (_InterlockedDecrement64) -# pragma intrinsic (_InterlockedExchange64) -#endif -# endif // _MSC_VER >= 1400 && !__INTEL_COMPILER +extern "C" long long __cdecl _InterlockedIncrement64 (volatile long long*); +extern "C" long long __cdecl _InterlockedDecrement64 (volatile long long*); +extern "C" long long __cdecl _InterlockedExchange64 (volatile long long*, + long long); +# ifndef __INTEL_COMPILER +#pragma intrinsic (_InterlockedIncrement64) +#pragma intrinsic (_InterlockedDecrement64) +#pragma intrinsic (_InterlockedExchange64) +# endif // __INTEL_COMPILER +#endif // _M_X64 +# endif // _MSC_VER _RWSTD_NAMESPACE (__rw) {
svn commit: r612428 - /stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h
Author: faridz Date: Wed Jan 16 04:04:48 2008 New Revision: 612428 URL: http://svn.apache.org/viewvc?rev=612428&view=rev Log: 2008-01-16 Farid Zaripov <[EMAIL PROTECTED]> * include/rw/_config-msvcrt.h: Don't #define _RWSTD_NO_LONG_LONG as __int64 if long long type is supported by compiler. Modified: stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h Modified: stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h?rev=612428&r1=612427&r2=612428&view=diff == --- stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h (original) +++ stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h Wed Jan 16 04:04:48 2008 @@ -89,7 +89,9 @@ #endif // _RWSTD_NO_STATIC_CONST_MEMBER_DEFINITION // enable iostream and locale support for long long integers -#define _RWSTD_LONG_LONG __int64 +#ifdef _RWSTD_NO_LONG_LONG +# define _RWSTD_LONG_LONG __int64 +#endif #if defined (_WIN64) // FIXME: handle by forward declaring fuctions in
svn commit: r605588 - /incubator/stdcxx/trunk/tests/regress/21.string.io.stdcxx-250.cpp
Author: faridz Date: Wed Dec 19 07:38:30 2007 New Revision: 605588 URL: http://svn.apache.org/viewvc?rev=605588&view=rev Log: 2007-12-19 Farid Zaripov <[EMAIL PROTECTED]> Merged r605586 from branches/4.2.x * 21.string.io.stdcxx-250.cpp: Regression test for STDCXX-250 issue. Added: incubator/stdcxx/trunk/tests/regress/21.string.io.stdcxx-250.cpp - copied unchanged from r605586, incubator/stdcxx/branches/4.2.x/tests/regress/21.string.io.stdcxx-250.cpp
svn commit: r605586 - /incubator/stdcxx/branches/4.2.x/tests/regress/21.string.io.stdcxx-250.cpp
Author: faridz Date: Wed Dec 19 07:35:58 2007 New Revision: 605586 URL: http://svn.apache.org/viewvc?rev=605586&view=rev Log: 2007-12-19 Farid Zaripov <[EMAIL PROTECTED]> * 21.string.io.stdcxx-250.cpp: Regression test for STDCXX-250 issue. Added: incubator/stdcxx/branches/4.2.x/tests/regress/21.string.io.stdcxx-250.cpp (with props) Added: incubator/stdcxx/branches/4.2.x/tests/regress/21.string.io.stdcxx-250.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/regress/21.string.io.stdcxx-250.cpp?rev=605586&view=auto == --- incubator/stdcxx/branches/4.2.x/tests/regress/21.string.io.stdcxx-250.cpp (added) +++ incubator/stdcxx/branches/4.2.x/tests/regress/21.string.io.stdcxx-250.cpp Wed Dec 19 07:35:58 2007 @@ -0,0 +1,54 @@ +/*** + * + * 21.string.io.stdcxx-250.cpp - regression test for STDCXX-250 + * + * http://issues.apache.org/jira/browse/STDCXX-250 + * + * $Id$ + * + *** + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing + * permissions and limitations under the License. + * + ***/ + +#include +#include +#include + +int main () +{ +struct: std::streambuf { +int_type underflow () { +static int i = 0; +// i == 0: sgect() invoked from sentry ctor +// i == 1: sgetc() invoked from operator>>() +// i == 2: sbumpc() invoked from operator>>() +return 1 < i++ ? throw i : 'x'; +} +} buf; + +std::istream is (&buf); + +std::string s; +is >> s; + +assert ("x" == s); +assert ((is.failbit | is.badbit) == is.rdstate ()); + +return 0; +} Propchange: incubator/stdcxx/branches/4.2.x/tests/regress/21.string.io.stdcxx-250.cpp -- svn:eol-style = native Propchange: incubator/stdcxx/branches/4.2.x/tests/regress/21.string.io.stdcxx-250.cpp -- svn:keywords = Id
svn commit: r605583 - /incubator/stdcxx/trunk/include/istream.cc
Author: faridz Date: Wed Dec 19 07:29:58 2007 New Revision: 605583 URL: http://svn.apache.org/viewvc?rev=605583&view=rev Log: 2007-12-19 Farid Zaripov <[EMAIL PROTECTED]> Merged r605577 from branches/4.2.x with a fix for STDCXX-250 * istream.cc (operator>>): Move counter __i out from the try/catch block and rename to __gcount for consistency with getline(). Increment __gcount after sbumpc() but before sgetc() to correctly reflect the number of extracted characters. Set ios_base::failbit if no characters extracted. Modified: incubator/stdcxx/trunk/include/istream.cc Modified: incubator/stdcxx/trunk/include/istream.cc URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/istream.cc?rev=605583&r1=605582&r2=605583&view=diff == --- incubator/stdcxx/trunk/include/istream.cc (original) +++ incubator/stdcxx/trunk/include/istream.cc Wed Dec 19 07:29:58 2007 @@ -790,6 +790,8 @@ ios_base::iostate __err = ios_base::goodbit; +_RWSTD_SIZE_T __gcount = 0; + _TRY { const _TYPENAME basic_istream<_CharT, _Traits>::sentry @@ -808,14 +810,16 @@ const _RWSTD_SIZE_T __maxlen = __is.width () ? __is.width () : __str.max_size (); -_RWSTD_SIZE_T __i = 0; - __str.erase (); const ctype<_CharT> &__ctp = _USE_FACET (ctype<_CharT>, __is.getloc ()); -for ( ; __maxlen != __i; ++__i, __rdbuf->sbumpc ()) { +// increment gcount only _after_ sbumpc() but _before_ +// the subsequent call to sgetc() to correctly reflect +// the number of extracted characters in the presence +// of exceptions thrown from streambuf virtuals +for ( ; __maxlen != __gcount; __rdbuf->sbumpc (), ++__gcount) { const _TYPENAME _Traits::int_type __c (__rdbuf->sgetc ()); @@ -835,14 +839,14 @@ } __is.width (0); - -if (!__i) -__err |= ios_base::failbit; } } _CATCH (...) { __is.setstate (__is.badbit | _RW::__rw_rethrow); } + +if (!__gcount) +__err |= ios_base::failbit; if (__err) __is.setstate (__err);
svn propchange: r605577 - svn:log
Author: faridz Revision: 605577 Modified property: svn:log Modified: svn:log at Wed Dec 19 07:28:45 2007 -- --- svn:log (original) +++ svn:log Wed Dec 19 07:28:45 2007 @@ -1,6 +1,6 @@ 2007-12-19 Farid Zaripov <[EMAIL PROTECTED]> - STDCXX-226 + STDCXX-250 * istream.cc (operator>>): Move counter __i out from the try/catch block and rename to __gcount for consistency with getline(). Increment __gcount after sbumpc() but before sgetc() to correctly reflect the number of
svn commit: r605577 - /incubator/stdcxx/branches/4.2.x/include/istream.cc
Author: faridz Date: Wed Dec 19 07:26:47 2007 New Revision: 605577 URL: http://svn.apache.org/viewvc?rev=605577&view=rev Log: 2007-12-19 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-226 * istream.cc (operator>>): Move counter __i out from the try/catch block and rename to __gcount for consistency with getline(). Increment __gcount after sbumpc() but before sgetc() to correctly reflect the number of extracted characters. Set ios_base::failbit if no characters extracted. Modified: incubator/stdcxx/branches/4.2.x/include/istream.cc Modified: incubator/stdcxx/branches/4.2.x/include/istream.cc URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/istream.cc?rev=605577&r1=605576&r2=605577&view=diff == --- incubator/stdcxx/branches/4.2.x/include/istream.cc (original) +++ incubator/stdcxx/branches/4.2.x/include/istream.cc Wed Dec 19 07:26:47 2007 @@ -790,6 +790,8 @@ ios_base::iostate __err = ios_base::goodbit; +_RWSTD_SIZE_T __gcount = 0; + _TRY { const _TYPENAME basic_istream<_CharT, _Traits>::sentry @@ -808,14 +810,16 @@ const _RWSTD_SIZE_T __maxlen = __is.width () ? __is.width () : __str.max_size (); -_RWSTD_SIZE_T __i = 0; - __str.erase (); const ctype<_CharT> &__ctp = _USE_FACET (ctype<_CharT>, __is.getloc ()); -for ( ; __maxlen != __i; ++__i, __rdbuf->sbumpc ()) { +// increment gcount only _after_ sbumpc() but _before_ +// the subsequent call to sgetc() to correctly reflect +// the number of extracted characters in the presence +// of exceptions thrown from streambuf virtuals +for ( ; __maxlen != __gcount; __rdbuf->sbumpc (), ++__gcount) { const _TYPENAME _Traits::int_type __c (__rdbuf->sgetc ()); @@ -835,14 +839,14 @@ } __is.width (0); - -if (!__i) -__err |= ios_base::failbit; } } _CATCH (...) { __is.setstate (__is.badbit | _RW::__rw_rethrow); } + +if (!__gcount) +__err |= ios_base::failbit; if (__err) __is.setstate (__err);
svn commit: r605550 - in /incubator/stdcxx/trunk/include: rw/_defs.h rw/_specialized.h sstream string
Author: faridz Date: Wed Dec 19 06:28:28 2007 New Revision: 605550 URL: http://svn.apache.org/viewvc?rev=605550&view=rev Log: 2007-12-19 Farid Zaripov <[EMAIL PROTECTED]> Merged r605548 from branches/4.2.x with a fix for STDCXX-226 * include/rw/_defs.h (_RWSTD_RATIO_DIVIDER): New macro defined the value to divide the _RWSTD_{NEW|STRING}_CAPACITY_RATIO. (_RWSTD_NEW_CAPACITY_RATIO): The value with floating point replaced to integer value using multiplication with _RWSTD_RATIO_DIVIDER. (_RWSTD_STRING_CAPACITY_RATIO): Ditto. * include/rw/_specialized.h (__rw_new_capacity): Floating point operations replaced to integer operations. * include/sstream (_C_grow): Ditto. * include/string (__rw_new_capacity): Ditto. Modified: incubator/stdcxx/trunk/include/rw/_defs.h incubator/stdcxx/trunk/include/rw/_specialized.h incubator/stdcxx/trunk/include/sstream incubator/stdcxx/trunk/include/string Modified: incubator/stdcxx/trunk/include/rw/_defs.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/rw/_defs.h?rev=605550&r1=605549&r2=605550&view=diff == --- incubator/stdcxx/trunk/include/rw/_defs.h (original) +++ incubator/stdcxx/trunk/include/rw/_defs.h Wed Dec 19 06:28:28 2007 @@ -431,19 +431,26 @@ // function overloads in the string header. These are tweakable here // with the STRING version of these macros. // +#if !defined (_RWSTD_RATIO_DIVIDER) +# define _RWSTD_RATIO_DIVIDER 1000U +#endif + #if !defined(_RWSTD_MINIMUM_NEW_CAPACITY) # define _RWSTD_MINIMUM_NEW_CAPACITY 32U #endif + #if !defined(_RWSTD_NEW_CAPACITY_RATIO) // using long doubles to eliminate bogus warnings on g++ 2.95.2/sparc // (-W -O2/3 only): warning: overflow on truncation to integer -# define _RWSTD_NEW_CAPACITY_RATIO 1.618L +# define _RWSTD_NEW_CAPACITY_RATIO 1618U #endif + #if !defined(_RWSTD_MINIMUM_STRING_CAPACITY) # define _RWSTD_MINIMUM_STRING_CAPACITY 128U #endif + #if !defined(_RWSTD_STRING_CAPACITY_RATIO) -# define _RWSTD_STRING_CAPACITY_RATIO 1.618L +# define _RWSTD_STRING_CAPACITY_RATIO 1618U #endif #if !defined (_RWSTD_MINIMUM_STRINGBUF_CAPACITY) Modified: incubator/stdcxx/trunk/include/rw/_specialized.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/rw/_specialized.h?rev=605550&r1=605549&r2=605550&view=diff == --- incubator/stdcxx/trunk/include/rw/_specialized.h (original) +++ incubator/stdcxx/trunk/include/rw/_specialized.h Wed Dec 19 06:28:28 2007 @@ -69,8 +69,12 @@ { typedef _RWSTD_CONTAINER_SIZE_TYPE _RWSizeT; -_RWSizeT __cap = _RWSTD_STATIC_CAST (_RWSizeT, - __size * _RWSTD_NEW_CAPACITY_RATIO); +const _RWSizeT __ratio = _RWSizeT ( (_RWSTD_NEW_CAPACITY_RATIO << 10) + / _RWSTD_RATIO_DIVIDER); + +const _RWSizeT __cap = (__size >> 10) * __ratio + + (((__size & 0x3ff) * __ratio) >> 10); + return (__size += _RWSTD_MINIMUM_NEW_CAPACITY) > __cap ? __size : __cap; } Modified: incubator/stdcxx/trunk/include/sstream URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/sstream?rev=605550&r1=605549&r2=605550&view=diff == --- incubator/stdcxx/trunk/include/sstream (original) +++ incubator/stdcxx/trunk/include/sstream Wed Dec 19 06:28:28 2007 @@ -207,11 +207,15 @@ basic_stringbuf<_CharT, _Traits, _Allocator>:: _C_grow (_RWSTD_STREAMSIZE __to) const { +const _RWSTD_STREAMSIZE __ratio = +_RWSTD_STREAMSIZE ( (_RWSTD_NEW_CAPACITY_RATIO << 10) + / _RWSTD_RATIO_DIVIDER); + const _RWSTD_STREAMSIZE __cap = -_RWSTD_STATIC_CAST (_RWSTD_STREAMSIZE, -this->_C_bufsize ? -this->_C_bufsize * _RWSTD_NEW_CAPACITY_RATIO -: _RWSTD_MINIMUM_STRINGBUF_CAPACITY); +this->_C_bufsize ? + (this->_C_bufsize >> 10) * __ratio ++ (((this->_C_bufsize & 0x3ff) * __ratio) >> 10) +: _RWSTD_MINIMUM_STRINGBUF_CAPACITY; return __cap < __to ? __to : __cap; } Modified: incubator/stdcxx/trunk/include/string URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/string?rev=605550&r1=605549&r2=605550&view=diff == --- incubator/stdcxx/trunk/include/string (original) +++ incubator/stdcxx/trunk/include/string Wed Dec 19 06:28:28 2007 @@ -1535,8 +1535,12 @@ { typedef _RWSTD_STRING_SIZE_TYPE _RWSizeT; -_RWSiz
svn commit: r605548 - in /incubator/stdcxx/branches/4.2.x/include: rw/_defs.h rw/_specialized.h sstream string
Author: faridz Date: Wed Dec 19 06:19:33 2007 New Revision: 605548 URL: http://svn.apache.org/viewvc?rev=605548&view=rev Log: 2007-12-19 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-226 * include/rw/_defs.h (_RWSTD_RATIO_DIVIDER): New macro defined the value to divide the _RWSTD_{NEW|STRING}_CAPACITY_RATIO. (_RWSTD_NEW_CAPACITY_RATIO): The value with floating point replaced to integer value using multiplication with _RWSTD_RATIO_DIVIDER. (_RWSTD_STRING_CAPACITY_RATIO): Ditto. * include/rw/_specialized.h (__rw_new_capacity): Floating point operations replaced to integer operations. * include/sstream (_C_grow): Ditto. * include/string (__rw_new_capacity): Ditto. Modified: incubator/stdcxx/branches/4.2.x/include/rw/_defs.h incubator/stdcxx/branches/4.2.x/include/rw/_specialized.h incubator/stdcxx/branches/4.2.x/include/sstream incubator/stdcxx/branches/4.2.x/include/string Modified: incubator/stdcxx/branches/4.2.x/include/rw/_defs.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/rw/_defs.h?rev=605548&r1=605547&r2=605548&view=diff == --- incubator/stdcxx/branches/4.2.x/include/rw/_defs.h (original) +++ incubator/stdcxx/branches/4.2.x/include/rw/_defs.h Wed Dec 19 06:19:33 2007 @@ -431,19 +431,26 @@ // function overloads in the string header. These are tweakable here // with the STRING version of these macros. // +#if !defined (_RWSTD_RATIO_DIVIDER) +# define _RWSTD_RATIO_DIVIDER 1000U +#endif + #if !defined(_RWSTD_MINIMUM_NEW_CAPACITY) # define _RWSTD_MINIMUM_NEW_CAPACITY 32U #endif + #if !defined(_RWSTD_NEW_CAPACITY_RATIO) // using long doubles to eliminate bogus warnings on g++ 2.95.2/sparc // (-W -O2/3 only): warning: overflow on truncation to integer -# define _RWSTD_NEW_CAPACITY_RATIO 1.618L +# define _RWSTD_NEW_CAPACITY_RATIO 1618U #endif + #if !defined(_RWSTD_MINIMUM_STRING_CAPACITY) # define _RWSTD_MINIMUM_STRING_CAPACITY 128U #endif + #if !defined(_RWSTD_STRING_CAPACITY_RATIO) -# define _RWSTD_STRING_CAPACITY_RATIO 1.618L +# define _RWSTD_STRING_CAPACITY_RATIO 1618U #endif #if !defined (_RWSTD_MINIMUM_STRINGBUF_CAPACITY) Modified: incubator/stdcxx/branches/4.2.x/include/rw/_specialized.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/rw/_specialized.h?rev=605548&r1=605547&r2=605548&view=diff == --- incubator/stdcxx/branches/4.2.x/include/rw/_specialized.h (original) +++ incubator/stdcxx/branches/4.2.x/include/rw/_specialized.h Wed Dec 19 06:19:33 2007 @@ -69,8 +69,12 @@ { typedef _RWSTD_CONTAINER_SIZE_TYPE _RWSizeT; -_RWSizeT __cap = _RWSTD_STATIC_CAST (_RWSizeT, - __size * _RWSTD_NEW_CAPACITY_RATIO); +const _RWSizeT __ratio = _RWSizeT ( (_RWSTD_NEW_CAPACITY_RATIO << 10) + / _RWSTD_RATIO_DIVIDER); + +const _RWSizeT __cap = (__size >> 10) * __ratio + + (((__size & 0x3ff) * __ratio) >> 10); + return (__size += _RWSTD_MINIMUM_NEW_CAPACITY) > __cap ? __size : __cap; } Modified: incubator/stdcxx/branches/4.2.x/include/sstream URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/sstream?rev=605548&r1=605547&r2=605548&view=diff == --- incubator/stdcxx/branches/4.2.x/include/sstream (original) +++ incubator/stdcxx/branches/4.2.x/include/sstream Wed Dec 19 06:19:33 2007 @@ -207,11 +207,15 @@ basic_stringbuf<_CharT, _Traits, _Allocator>:: _C_grow (_RWSTD_STREAMSIZE __to) const { +const _RWSTD_STREAMSIZE __ratio = +_RWSTD_STREAMSIZE ( (_RWSTD_NEW_CAPACITY_RATIO << 10) + / _RWSTD_RATIO_DIVIDER); + const _RWSTD_STREAMSIZE __cap = -_RWSTD_STATIC_CAST (_RWSTD_STREAMSIZE, -this->_C_bufsize ? -this->_C_bufsize * _RWSTD_NEW_CAPACITY_RATIO -: _RWSTD_MINIMUM_STRINGBUF_CAPACITY); +this->_C_bufsize ? + (this->_C_bufsize >> 10) * __ratio ++ (((this->_C_bufsize & 0x3ff) * __ratio) >> 10) +: _RWSTD_MINIMUM_STRINGBUF_CAPACITY; return __cap < __to ? __to : __cap; } Modified: incubator/stdcxx/branches/4.2.x/include/string URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/string?rev=605548&r1=605547&r2=605548&view=diff == --- incubator/stdcxx/branches/4.2.x/include/string (original) +++ incubator/stdcxx/branches/4.2.x/inclu
svn commit: r605539 - /incubator/stdcxx/trunk/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp
Author: faridz Date: Wed Dec 19 05:44:54 2007 New Revision: 605539 URL: http://svn.apache.org/viewvc?rev=605539&view=rev Log: 2007-12-19 Farid Zaripov <[EMAIL PROTECTED]> Merged r605537 from branches/4.2.x with a fix for STDCXX-585. * etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp: Don't define ~bad_alloc() when testing the presence of the other members to avoid multiply defined sybmol linker errors. Modified: incubator/stdcxx/trunk/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp Modified: incubator/stdcxx/trunk/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp?rev=605539&r1=605538&r2=605539&view=diff == --- incubator/stdcxx/trunk/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp (original) +++ incubator/stdcxx/trunk/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp Wed Dec 19 05:44:54 2007 @@ -100,34 +100,29 @@ virtual ~bad_alloc (); -# else // if !defined (TEST_DTOR) - -~bad_alloc () { } - -#if defined (TEST_COPY_CTOR) +# elif defined (TEST_COPY_CTOR) bad_alloc (const bad_alloc&); -#elif defined (TEST_WHAT) +# elif defined (TEST_WHAT) virtual const char* what () const; -#else // test assignment +# else // test assignment + +#if !defined (TEST_ASSIGNMENT) +# define TEST_ASSIGNMENT +#endif + +bad_alloc& operator= (const bad_alloc&); + +bad_alloc& assign (const bad_alloc &rhs) { +++nassignments; +return *this = rhs; +} -# if !defined (TEST_ASSIGNMENT) -#define TEST_ASSIGNMENT -# endif - - bad_alloc& operator= (const bad_alloc&); - - bad_alloc& assign (const bad_alloc &rhs) { - ++nassignments; - return *this = rhs; - } - -#endif // TEXT_... -# endif // !TEST_DTOR -#endif // !TEST_DEFAULT_COR +# endif // TEST_... +#endif // !TEST_DEFAULT_CTOR };
svn commit: r605537 - /incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp
Author: faridz Date: Wed Dec 19 05:43:10 2007 New Revision: 605537 URL: http://svn.apache.org/viewvc?rev=605537&view=rev Log: 2007-12-19 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-585 * etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp: Don't define ~bad_alloc() when testing the presence of the other members to avoid multiply defined sybmol linker errors. Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp?rev=605537&r1=605536&r2=605537&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp Wed Dec 19 05:43:10 2007 @@ -100,34 +100,29 @@ virtual ~bad_alloc (); -# else // if !defined (TEST_DTOR) - -~bad_alloc () { } - -#if defined (TEST_COPY_CTOR) +# elif defined (TEST_COPY_CTOR) bad_alloc (const bad_alloc&); -#elif defined (TEST_WHAT) +# elif defined (TEST_WHAT) virtual const char* what () const; -#else // test assignment +# else // test assignment + +#if !defined (TEST_ASSIGNMENT) +# define TEST_ASSIGNMENT +#endif + +bad_alloc& operator= (const bad_alloc&); + +bad_alloc& assign (const bad_alloc &rhs) { +++nassignments; +return *this = rhs; +} -# if !defined (TEST_ASSIGNMENT) -#define TEST_ASSIGNMENT -# endif - - bad_alloc& operator= (const bad_alloc&); - - bad_alloc& assign (const bad_alloc &rhs) { - ++nassignments; - return *this = rhs; - } - -#endif // TEXT_... -# endif // !TEST_DTOR -#endif // !TEST_DEFAULT_COR +# endif // TEST_... +#endif // !TEST_DEFAULT_CTOR };
svn commit: r603002 - /incubator/stdcxx/trunk/etc/config/windows/build.wsf
Author: faridz Date: Mon Dec 10 11:16:10 2007 New Revision: 603002 URL: http://svn.apache.org/viewvc?rev=603002&view=rev Log: 2007-12-10 Farid Zaripov <[EMAIL PROTECTED]> Merged r602995 from branches/4.2.x * etc/config/windows/build.wsf (DiffTime): New function to get the difference between two times. (TimeEcho): Modified to print time similat to the unix script. (build): Print relative time per each build step instead of printing the timestamp. Modified: incubator/stdcxx/trunk/etc/config/windows/build.wsf Modified: incubator/stdcxx/trunk/etc/config/windows/build.wsf URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/windows/build.wsf?rev=603002&r1=603001&r2=603002&view=diff == --- incubator/stdcxx/trunk/etc/config/windows/build.wsf (original) +++ incubator/stdcxx/trunk/etc/config/windows/build.wsf Mon Dec 10 11:16:10 2007 @@ -226,11 +226,19 @@ return 1; } -function TimeEcho(msg) +function DiffTime(start, end) { -WScript.Echo("### date:"); -WScript.Echo(Date()) -WScript.Echo("### " + msg); +var msec = end - start; +var min = Math.floor(msec / 6); +var sec = Math.floor(msec % 6 / 1000); +msec %= 1000; +return min + "m" + sec + "." + msec + "s"; +} + +function TimeEcho(msg, time) +{ +WScript.Echo("### real time (" + msg + "):"); +WScript.Echo(DiffTime(time, new Date()) + "\n"); } // the main function of the script @@ -248,7 +256,7 @@ var solutionName = slnDir + "\\" + currentCfg + ".sln"; -TimeEcho("Loading solution..."); +WScript.Echo("Loading solution..."); var solution = dte.Solution; var retCode = 0; @@ -399,39 +407,52 @@ oldLogging = projectEngine.BuildLogging; projectEngine.BuildLogging = true; -TimeEcho("Performing configure step...\n"); +WScript.Echo("Performing configure step...\n"); +var start = new Date(); var res = BuildProject(solutionBuild, ".configure"); +TimeEcho ("config", start); if (0 < res) { retCode = 3; break; } -TimeEcho("Compiling stdcxx library...\n"); +WScript.Echo("Compiling stdcxx library...\n"); +start = new Date(); res = BuildProject(solutionBuild, ".stdcxx"); +TimeEcho ("lib", start); if (0 < res) { retCode = 4; break; } -TimeEcho("Compiling examples...\n"); +WScript.Echo("Compiling examples...\n"); +start = new Date(); BuildProject(solutionBuild, ".stdcxx_examples"); +TimeEcho ("examples", start); -TimeEcho("Compiling rwtest library...\n"); +WScript.Echo("Compiling rwtest library...\n"); +start = new Date(); res = BuildProject(solutionBuild, ".rwtest"); +TimeEcho ("rwtest", start); if (0 == res) { runTests = true; -TimeEcho("Compiling tests...\n"); +WScript.Echo("Compiling tests...\n"); +start = new Date(); BuildProject(solutionBuild, ".stdcxx_tests"); +TimeEcho ("tests", start); } -TimeEcho("Compiling utils...\n"); +WScript.Echo("Compiling utils...\n"); // compile exec utility +start = new Date(); var resExec = BuildProject(solutionBuild, "util_exec"); // compile rest utils +start = new Date(); var resUtils = BuildProject(solutionBuild, ".stdcxx_utils"); +TimeEcho ("bin", start); if (0 < resExec) { retCode = 5; @@ -441,20 +462,24 @@ if (buildOnly) break; +start = new Date(); if (0 >= resUtils) { -TimeEcho("Running locales tests..."); +WScript.Echo("Running locales tests..."); BuildProject(solutionBuild, ".stdcxx_testlocales"); } if (runTests) { -TimeEcho("Running tests...\n"); +WScript.Echo("Running tests...\n"); +start = new Date(); BuildProject(solutionBuild, ".stdcxx_runtests"); } -TimeEcho("Running examples...\n"); +WScript.Echo("Running examples...\n"); +start = new Date(); BuildProject(solutionBuild, ".stdcxx_runexamples"); +TimeEcho ("runall", start); } while (false); @@ -485,12 +510,12 @@ if (null != prop) prop.Value = propVal; -TimeEcho("Closing the VisualStudio..."); +WScript.Echo("Closing the VisualStudio..."); solution = null; dte.Quit(); dte = null; -TimeEcho("Exiting..."); +WScript.Echo("Exiting..."); WScript.Quit(retCode); }
svn commit: r602995 - /incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf
Author: faridz Date: Mon Dec 10 11:08:31 2007 New Revision: 602995 URL: http://svn.apache.org/viewvc?rev=602995&view=rev Log: 2007-12-10 Farid Zaripov <[EMAIL PROTECTED]> * etc/config/windows/build.wsf (DiffTime): New function to get the difference between two times. (TimeEcho): Modified to print time similat to the unix script. (build): Print relative time per each build step instead of printing the timestamp. Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf?rev=602995&r1=602994&r2=602995&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf Mon Dec 10 11:08:31 2007 @@ -226,11 +226,19 @@ return 1; } -function TimeEcho(msg) +function DiffTime(start, end) { -WScript.Echo("### date:"); -WScript.Echo(Date()) -WScript.Echo("### " + msg); +var msec = end - start; +var min = Math.floor(msec / 6); +var sec = Math.floor(msec % 6 / 1000); +msec %= 1000; +return min + "m" + sec + "." + msec + "s"; +} + +function TimeEcho(msg, time) +{ +WScript.Echo("### real time (" + msg + "):"); +WScript.Echo(DiffTime(time, new Date()) + "\n"); } // the main function of the script @@ -248,7 +256,7 @@ var solutionName = slnDir + "\\" + currentCfg + ".sln"; -TimeEcho("Loading solution..."); +WScript.Echo("Loading solution..."); var solution = dte.Solution; var retCode = 0; @@ -399,39 +407,52 @@ oldLogging = projectEngine.BuildLogging; projectEngine.BuildLogging = true; -TimeEcho("Performing configure step...\n"); +WScript.Echo("Performing configure step...\n"); +var start = new Date(); var res = BuildProject(solutionBuild, ".configure"); +TimeEcho ("config", start); if (0 < res) { retCode = 3; break; } -TimeEcho("Compiling stdcxx library...\n"); +WScript.Echo("Compiling stdcxx library...\n"); +start = new Date(); res = BuildProject(solutionBuild, ".stdcxx"); +TimeEcho ("lib", start); if (0 < res) { retCode = 4; break; } -TimeEcho("Compiling examples...\n"); +WScript.Echo("Compiling examples...\n"); +start = new Date(); BuildProject(solutionBuild, ".stdcxx_examples"); +TimeEcho ("examples", start); -TimeEcho("Compiling rwtest library...\n"); +WScript.Echo("Compiling rwtest library...\n"); +start = new Date(); res = BuildProject(solutionBuild, ".rwtest"); +TimeEcho ("rwtest", start); if (0 == res) { runTests = true; -TimeEcho("Compiling tests...\n"); +WScript.Echo("Compiling tests...\n"); +start = new Date(); BuildProject(solutionBuild, ".stdcxx_tests"); +TimeEcho ("tests", start); } -TimeEcho("Compiling utils...\n"); +WScript.Echo("Compiling utils...\n"); // compile exec utility +start = new Date(); var resExec = BuildProject(solutionBuild, "util_exec"); // compile rest utils +start = new Date(); var resUtils = BuildProject(solutionBuild, ".stdcxx_utils"); +TimeEcho ("bin", start); if (0 < resExec) { retCode = 5; @@ -441,20 +462,24 @@ if (buildOnly) break; +start = new Date(); if (0 >= resUtils) { -TimeEcho("Running locales tests..."); +WScript.Echo("Running locales tests..."); BuildProject(solutionBuild, ".stdcxx_testlocales"); } if (runTests) { -TimeEcho("Running tests...\n"); +WScript.Echo("Running tests...\n"); +start = new Date(); BuildProject(solutionBuild, ".stdcxx_runtests"); } -TimeEcho("Running examples...\n"); +WScript.Echo("Running examples...\n"); +start = new Date(); BuildProject(solutionBuild, ".stdcxx_runexamples"); +TimeEcho ("runall", start); } while (false); @@ -485,12 +510,12 @@ if (null != prop) prop.Value = propVal; -TimeEcho("Closing the VisualStudio..."); +WScript.Echo("Closing the VisualStudio..."); solution = null; dte.Quit(); dte = null; -TimeEcho("Exiting..."); +WScript.Echo("Exiting..."); WScript.Quit(retCode); }
svn propchange: r597412 - svn:log
Author: faridz Revision: 597412 Modified property: svn:log Modified: svn:log at Wed Dec 5 06:58:40 2007 -- --- svn:log (original) +++ svn:log Wed Dec 5 06:58:40 2007 @@ -1,6 +1,6 @@ 2007-11-22 Farid Zaripov <[EMAIL PROTECTED]> - Merged r597411 from branches/4.2.x + Merged r597411 from branches/4.2.x with a fix for STDCXX-663 * rw/_config_msvcrt.h: #define _RWSTD_NO_WCSTOK and _RWSTD_NO_WCSTOK_IN_LIBC macros since the MSVC has the non-standard prototype of the wcstok(). * ansi/cwchar [_MSC_VER >= 1400]: Define inline wcstok() function using wcstok_s().
svn propchange: r597411 - svn:log
Author: faridz Revision: 597411 Modified property: svn:log Modified: svn:log at Wed Dec 5 06:57:44 2007 -- --- svn:log (original) +++ svn:log Wed Dec 5 06:57:44 2007 @@ -1,5 +1,6 @@ 2007-11-22 Farid Zaripov <[EMAIL PROTECTED]> + STDCXX-663 * rw/_config_msvcrt.h: #define _RWSTD_NO_WCSTOK and _RWSTD_NO_WCSTOK_IN_LIBC macros since the MSVC has the non-standard prototype of the wcstok(). * ansi/cwchar [_MSC_VER >= 1400]: Define inline wcstok() function using wcstok_s().
svn commit: r598700 - /incubator/stdcxx/trunk/etc/config/windows/build.wsf
Author: faridz Date: Tue Nov 27 09:13:39 2007 New Revision: 598700 URL: http://svn.apache.org/viewvc?rev=598700&view=rev Log: 2007-11-27 Farid Zaripov <[EMAIL PROTECTED]> Merged r598697 from branches/4.2.x * etc/config/windows/build.wsf (TimeEcho): Print timestamp with the format identical to unix format. Modified: incubator/stdcxx/trunk/etc/config/windows/build.wsf Modified: incubator/stdcxx/trunk/etc/config/windows/build.wsf URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/windows/build.wsf?rev=598700&r1=598699&r2=598700&view=diff == --- incubator/stdcxx/trunk/etc/config/windows/build.wsf (original) +++ incubator/stdcxx/trunk/etc/config/windows/build.wsf Tue Nov 27 09:13:39 2007 @@ -228,7 +228,9 @@ function TimeEcho(msg) { -WScript.Echo(Date() + ": " + msg); +WScript.Echo("### date:"); +WScript.Echo(Date()) +WScript.Echo("### " + msg); } // the main function of the script
svn commit: r598697 - /incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf
Author: faridz Date: Tue Nov 27 09:11:48 2007 New Revision: 598697 URL: http://svn.apache.org/viewvc?rev=598697&view=rev Log: 2007-11-27 Farid Zaripov <[EMAIL PROTECTED]> * etc/config/windows/build.wsf (TimeEcho): Print timestamp with the format identical to unix format. Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf?rev=598697&r1=598696&r2=598697&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf Tue Nov 27 09:11:48 2007 @@ -228,7 +228,9 @@ function TimeEcho(msg) { -WScript.Echo(Date() + ": " + msg); +WScript.Echo("### date:"); +WScript.Echo(Date()) +WScript.Echo("### " + msg); } // the main function of the script
svn commit: r598617 - /incubator/stdcxx/trunk/include/streambuf
Author: faridz Date: Tue Nov 27 04:45:26 2007 New Revision: 598617 URL: http://svn.apache.org/viewvc?rev=598617&view=rev Log: 2007-11-27 Farid Zaripov <[EMAIL PROTECTED]> Merged r598616 from branches/4.2.x * include/streambuf (imbue): Removed name of the unused parameter. Modified: incubator/stdcxx/trunk/include/streambuf Modified: incubator/stdcxx/trunk/include/streambuf URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/streambuf?rev=598617&r1=598616&r2=598617&view=diff == --- incubator/stdcxx/trunk/include/streambuf (original) +++ incubator/stdcxx/trunk/include/streambuf Tue Nov 27 04:45:26 2007 @@ -247,7 +247,7 @@ } // 27.5.2.4.1, p1 -virtual void imbue (const locale &__loc) { +virtual void imbue (const locale&) { // do nothing }
svn commit: r598616 - /incubator/stdcxx/branches/4.2.x/include/streambuf
Author: faridz Date: Tue Nov 27 04:43:24 2007 New Revision: 598616 URL: http://svn.apache.org/viewvc?rev=598616&view=rev Log: 2007-11-27 Farid Zaripov <[EMAIL PROTECTED]> * include/streambuf (imbue): Removed name of the unused parameter. Modified: incubator/stdcxx/branches/4.2.x/include/streambuf Modified: incubator/stdcxx/branches/4.2.x/include/streambuf URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/streambuf?rev=598616&r1=598615&r2=598616&view=diff == --- incubator/stdcxx/branches/4.2.x/include/streambuf (original) +++ incubator/stdcxx/branches/4.2.x/include/streambuf Tue Nov 27 04:43:24 2007 @@ -247,7 +247,7 @@ } // 27.5.2.4.1, p1 -virtual void imbue (const locale &__loc) { +virtual void imbue (const locale&) { // do nothing }
svn commit: r597671 - in /incubator/stdcxx/trunk: include/streambuf tests/regress/27.streambuf.imbue.stdcxx-307.cpp
Author: faridz Date: Fri Nov 23 06:13:37 2007 New Revision: 597671 URL: http://svn.apache.org/viewvc?rev=597671&view=rev Log: 2007-11-23 Farid Zaripov <[EMAIL PROTECTED]> Merged r597665 from branches/4.2.x with a fix for STDCXX-307 * streambuf (imbue): Code storing the locale moved from here... (pubimbue): ... to here. 2007-11-23 Martin Sebor <[EMAIL PROTECTED]> Merged r597670 from branches/4.2.x * 27.streambuf.imbue.stdcxx-307.cpp: New regression test for STDCXX-307. Added: incubator/stdcxx/trunk/tests/regress/27.streambuf.imbue.stdcxx-307.cpp - copied, changed from r597669, incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp Modified: incubator/stdcxx/trunk/include/streambuf Modified: incubator/stdcxx/trunk/include/streambuf URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/streambuf?rev=597671&r1=597670&r2=597671&view=diff == --- incubator/stdcxx/trunk/include/streambuf (original) +++ incubator/stdcxx/trunk/include/streambuf Fri Nov 23 06:13:37 2007 @@ -248,7 +248,7 @@ // 27.5.2.4.1, p1 virtual void imbue (const locale &__loc) { -_C_locale = __loc; +// do nothing } // 27.5.2.4.2, p1 @@ -496,6 +496,7 @@ const locale __tmp (getloc ()); imbue (__loc); +_C_locale = __loc; return __tmp; } Copied: incubator/stdcxx/trunk/tests/regress/27.streambuf.imbue.stdcxx-307.cpp (from r597669, incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp) URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/regress/27.streambuf.imbue.stdcxx-307.cpp?p2=incubator/stdcxx/trunk/tests/regress/27.streambuf.imbue.stdcxx-307.cpp&p1=incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp&r1=597669&r2=597671&rev=597671&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp (original) +++ incubator/stdcxx/trunk/tests/regress/27.streambuf.imbue.stdcxx-307.cpp Fri Nov 23 06:13:37 2007 @@ -55,4 +55,6 @@ buf.pubimbue (loc); assert (_STD_HAS_FACET (MyFacet, buf.getloc ())); + +return 0; }
svn commit: r597670 - /incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp
Author: faridz Date: Fri Nov 23 06:11:16 2007 New Revision: 597670 URL: http://svn.apache.org/viewvc?rev=597670&view=rev Log: 2007-11-23 Farid Zaripov <[EMAIL PROTECTED]> * 27.streambuf.imbue.stdcxx-307.cpp (main): Added missing "return 0". Modified: incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp?rev=597670&r1=597669&r2=597670&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp Fri Nov 23 06:11:16 2007 @@ -55,4 +55,6 @@ buf.pubimbue (loc); assert (_STD_HAS_FACET (MyFacet, buf.getloc ())); + +return 0; }
svn commit: r597668 - /incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp
Author: faridz Date: Fri Nov 23 06:06:59 2007 New Revision: 597668 URL: http://svn.apache.org/viewvc?rev=597668&view=rev Log: 2007-11-23 Martin Sebor <[EMAIL PROTECTED]> * 27.streambuf.imbue.stdcxx-307.cpp: New regression test for STDCXX-307. Added: incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp (with props) Added: incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp?rev=597668&view=auto == --- incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp (added) +++ incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp Fri Nov 23 06:06:59 2007 @@ -0,0 +1,58 @@ +/ + * + * 27.streambuf.imbue.stdcxx-307.cpp - test case from STDCXX-307 issue + * + * $Id$ + * + *** + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing + * permissions and limitations under the License. + * + **/ + +#include +#include +#include + +struct MyFacet: std::locale::facet +{ +static std::locale::id id; +}; + +std::locale::id MyFacet::id; + +int main () +{ +struct MyBuf: std::streambuf { +void imbue (const std::locale &loc) { +std::streambuf::imbue (loc); +} +} buf; + +const std::locale loc (buf.getloc (), new MyFacet); + +assert (_STD_HAS_FACET (MyFacet, loc)); +assert (!_STD_HAS_FACET (MyFacet, buf.getloc ())); + +buf.imbue (loc); + +assert (!_STD_HAS_FACET (MyFacet, buf.getloc ())); + +buf.pubimbue (loc); + +assert (_STD_HAS_FACET (MyFacet, buf.getloc ())); +} Propchange: incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp -- svn:eol-style = native Propchange: incubator/stdcxx/branches/4.2.x/tests/regress/27.streambuf.imbue.stdcxx-307.cpp -- svn:keywords = Id
svn commit: r597665 - /incubator/stdcxx/branches/4.2.x/include/streambuf
Author: faridz Date: Fri Nov 23 05:51:51 2007 New Revision: 597665 URL: http://svn.apache.org/viewvc?rev=597665&view=rev Log: 2007-11-23 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-307 * streambuf (imbue): Code storing the locale moved from here... (pubimbue): ... to here. Modified: incubator/stdcxx/branches/4.2.x/include/streambuf Modified: incubator/stdcxx/branches/4.2.x/include/streambuf URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/streambuf?rev=597665&r1=597664&r2=597665&view=diff == --- incubator/stdcxx/branches/4.2.x/include/streambuf (original) +++ incubator/stdcxx/branches/4.2.x/include/streambuf Fri Nov 23 05:51:51 2007 @@ -248,7 +248,7 @@ // 27.5.2.4.1, p1 virtual void imbue (const locale &__loc) { -_C_locale = __loc; +// do nothing } // 27.5.2.4.2, p1 @@ -496,6 +496,7 @@ const locale __tmp (getloc ()); imbue (__loc); +_C_locale = __loc; return __tmp; }
svn commit: r597443 - in /incubator/stdcxx/trunk: include/loc/ include/rw/ tests/localization/
Author: faridz Date: Thu Nov 22 07:52:47 2007 New Revision: 597443 URL: http://svn.apache.org/viewvc?rev=597443&view=rev Log: 2007-11-21 Farid Zaripov <[EMAIL PROTECTED]> Merged r597438 from branches/4.2.x with a fix for STDCXX-671 * include/loc/_convenience.h: _V3_USE_FACET macro renamed to _RWSTD_USE_FACET. * include/loc/_messages.cc: Ditto. * include/loc/_money_get.cc: Ditto. * include/loc/_money_put.cc: Ditto. * include/loc/_num_get.cc: Ditto. * include/loc/_num_put.cc: Ditto. * include/loc/_punct.cc: Ditto. * include/loc/_time_get.cc: Ditto. * include/loc/_time_put.cc: Ditto. * include/rw/_defs.h: Ditto. * tests/localization/22.locale.moneypunct.cpp: Ditto. Modified: incubator/stdcxx/trunk/include/loc/_convenience.h incubator/stdcxx/trunk/include/loc/_messages.cc incubator/stdcxx/trunk/include/loc/_money_get.cc incubator/stdcxx/trunk/include/loc/_money_put.cc incubator/stdcxx/trunk/include/loc/_num_get.cc incubator/stdcxx/trunk/include/loc/_num_put.cc incubator/stdcxx/trunk/include/loc/_punct.cc incubator/stdcxx/trunk/include/loc/_time_get.cc incubator/stdcxx/trunk/include/loc/_time_put.cc incubator/stdcxx/trunk/include/rw/_defs.h incubator/stdcxx/trunk/tests/localization/22.locale.moneypunct.cpp Modified: incubator/stdcxx/trunk/include/loc/_convenience.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/loc/_convenience.h?rev=597443&r1=597442&r2=597443&view=diff == --- incubator/stdcxx/trunk/include/loc/_convenience.h (original) +++ incubator/stdcxx/trunk/include/loc/_convenience.h Thu Nov 22 07:52:47 2007 @@ -49,90 +49,91 @@ template inline bool (isspace)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::space, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::space, __c); } template inline bool (isprint)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::print, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::print, __c); } template inline bool (iscntrl)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is(ctype_base::cntrl, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is(ctype_base::cntrl, __c); } template inline bool (isupper)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::upper, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::upper, __c); } template inline bool (islower)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::lower, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::lower, __c); } template inline bool (isalpha)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::alpha, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::alpha, __c); } template inline bool (isdigit)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::digit, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::digit, __c); } template inline bool (ispunct)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is(ctype_base::punct, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is(ctype_base::punct, __c); } template inline bool (isxdigit)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::xdigit, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::xdigit, + __c); } template inline bool (isalnum)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::alnum, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::alnum, __c); } template inline bool (isgraph)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::graph, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::graph, __c); } template inline _CharT (toupper)(_CharT __c, const locale &__loc) { -return (_V3_USE_FACET (ctype<_CharT>, __loc).toupper) (__c); +return (_RWSTD_USE_FACET (ctype<_CharT>, __loc).toupper) (__c); } template inline _CharT (tolower)(_CharT __c, const locale &__loc) { -return (_V3_USE_FACET (ctype<_CharT>
svn commit: r597438 - in /incubator/stdcxx/branches/4.2.x: include/loc/ include/rw/ tests/localization/
Author: faridz Date: Thu Nov 22 07:44:53 2007 New Revision: 597438 URL: http://svn.apache.org/viewvc?rev=597438&view=rev Log: 2007-11-21 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-671 * include/loc/_convenience.h: _V3_USE_FACET macro renamed to _RWSTD_USE_FACET. * include/loc/_messages.cc: Ditto. * include/loc/_money_get.cc: Ditto. * include/loc/_money_put.cc: Ditto. * include/loc/_num_get.cc: Ditto. * include/loc/_num_put.cc: Ditto. * include/loc/_punct.cc: Ditto. * include/loc/_time_get.cc: Ditto. * include/loc/_time_put.cc: Ditto. * include/rw/_defs.h: Ditto. * tests/localization/22.locale.moneypunct.cpp: Ditto. Modified: incubator/stdcxx/branches/4.2.x/include/loc/_convenience.h incubator/stdcxx/branches/4.2.x/include/loc/_messages.cc incubator/stdcxx/branches/4.2.x/include/loc/_money_get.cc incubator/stdcxx/branches/4.2.x/include/loc/_money_put.cc incubator/stdcxx/branches/4.2.x/include/loc/_num_get.cc incubator/stdcxx/branches/4.2.x/include/loc/_num_put.cc incubator/stdcxx/branches/4.2.x/include/loc/_punct.cc incubator/stdcxx/branches/4.2.x/include/loc/_time_get.cc incubator/stdcxx/branches/4.2.x/include/loc/_time_put.cc incubator/stdcxx/branches/4.2.x/include/rw/_defs.h incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp Modified: incubator/stdcxx/branches/4.2.x/include/loc/_convenience.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/loc/_convenience.h?rev=597438&r1=597437&r2=597438&view=diff == --- incubator/stdcxx/branches/4.2.x/include/loc/_convenience.h (original) +++ incubator/stdcxx/branches/4.2.x/include/loc/_convenience.h Thu Nov 22 07:44:53 2007 @@ -49,90 +49,91 @@ template inline bool (isspace)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::space, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::space, __c); } template inline bool (isprint)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::print, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::print, __c); } template inline bool (iscntrl)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is(ctype_base::cntrl, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is(ctype_base::cntrl, __c); } template inline bool (isupper)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::upper, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::upper, __c); } template inline bool (islower)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::lower, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::lower, __c); } template inline bool (isalpha)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::alpha, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::alpha, __c); } template inline bool (isdigit)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::digit, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::digit, __c); } template inline bool (ispunct)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is(ctype_base::punct, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is(ctype_base::punct, __c); } template inline bool (isxdigit)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::xdigit, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::xdigit, + __c); } template inline bool (isalnum)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::alnum, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::alnum, __c); } template inline bool (isgraph)(_CharT __c, const locale &__loc) { -return _V3_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::graph, __c); +return _RWSTD_USE_FACET (ctype<_CharT>, __loc).is (ctype_base::graph, __c); } template inline _CharT (toupper)(_CharT __c, const locale &__loc) { -return (_V3_USE_FACET (ctype<_CharT>, __loc).toupper) (__c); +return (_RWSTD_USE_FACET (ctype<_CharT>, __loc).toupper) (__c); } template inline _CharT (tolower)(_Cha
svn commit: r597428 - in /incubator/stdcxx/trunk: include/ansi/cwchar tests/strings/21.cwchar.cpp
Author: faridz Date: Thu Nov 22 07:22:44 2007 New Revision: 597428 URL: http://svn.apache.org/viewvc?rev=597428&view=rev Log: 2007-11-21 Farid Zaripov <[EMAIL PROTECTED]> Merged r597425 from branches/4.2.x with a fix for STDCXX-637 * include/ansi/cwchar [_RWSTD_STRICT_ANSI]: #undefine getwc and putwc masking macros. * tests/strings/21.cwchar.cpp (test_macros): Issue rw_warn() instead of rw_assert() in non strict ANSI mode. (test_functions): Issue rw_warn() instead of rw_assert(). Modified: incubator/stdcxx/trunk/include/ansi/cwchar incubator/stdcxx/trunk/tests/strings/21.cwchar.cpp Modified: incubator/stdcxx/trunk/include/ansi/cwchar URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/ansi/cwchar?rev=597428&r1=597427&r2=597428&view=diff == --- incubator/stdcxx/trunk/include/ansi/cwchar (original) +++ incubator/stdcxx/trunk/include/ansi/cwchar Thu Nov 22 07:22:44 2007 @@ -46,6 +46,13 @@ #include _RWSTD_ANSI_C_WCHAR_H +#ifdef _RWSTD_STRICT_ANSI +// 17.4.1.2, p6 - masking macros are not allowed +# undef getwc +# undef putwc +#endif // _RWSTD_STRICT_ANSI + + #if _RWSTD_NAMESPACE_STD_OPEN == 17 #undef _RWSTD_NAMESPACE_STD_OPEN Modified: incubator/stdcxx/trunk/tests/strings/21.cwchar.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/strings/21.cwchar.cpp?rev=597428&r1=597427&r2=597428&view=diff == --- incubator/stdcxx/trunk/tests/strings/21.cwchar.cpp (original) +++ incubator/stdcxx/trunk/tests/strings/21.cwchar.cpp Thu Nov 22 07:22:44 2007 @@ -509,9 +509,15 @@ } for (unsigned i = 0; masking_macros [i]; ++i) { +#ifdef _RWSTD_STRICT_ANSI rw_assert ('\0' == masking_macros [i][0], 0, __LINE__, "masking macro %s unexpectedly defined", masking_macros [i]); +#else +rw_warn ('\0' == masking_macros [i][0], 0, __LINE__, + "masking macro %s unexpectedly defined", + masking_macros [i]); +#endif } } @@ -855,13 +861,13 @@ std_name, #fun, overload < 0, 0 == overload); \ const char* const return_type_name =\ get_type_name ((T)0, std::fun args);\ -rw_assert (0 == ncalls, 0, __LINE__,\ - "%s::%s("\ - "%{?}%{:}/* %{?}non-%{;}const overload */%{;}) " \ - "not declared (_RWSTD_NO_%s = %d, " \ - "_RWSTD_NO_%s_IN_LIBC = %d)",\ - std_name, #fun, overload < 0, 0 == overload, \ - #macro, EVAL (macro), #macro, EVAL_IN_LIBC (macro)); \ +rw_warn (0 == ncalls, 0, __LINE__, \ + "%s::%s(" \ + "%{?}%{:}/* %{?}non-%{;}const overload */%{;}) " \ + "not declared (_RWSTD_NO_%s = %d, "\ + "_RWSTD_NO_%s_IN_LIBC = %d)", \ + std_name, #fun, overload < 0, 0 == overload, \ + #macro, EVAL (macro), #macro, EVAL_IN_LIBC (macro)); \ if (0 == ncalls)\ rw_assert (0 == return_type_name, 0, __LINE__, "%s::%s("\ "%{?}%{:}/* %{?}non-%{;}const overload */%{;}) " \
svn commit: r597425 - in /incubator/stdcxx/branches/4.2.x: include/ansi/cwchar tests/strings/21.cwchar.cpp
Author: faridz Date: Thu Nov 22 07:20:29 2007 New Revision: 597425 URL: http://svn.apache.org/viewvc?rev=597425&view=rev Log: 2007-11-21 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-637 * include/ansi/cwchar [_RWSTD_STRICT_ANSI]: #undefine getwc and putwc masking macros. * tests/strings/21.cwchar.cpp (test_macros): Issue rw_warn() instead of rw_assert() in non strict ANSI mode. (test_functions): Issue rw_warn() instead of rw_assert(). Modified: incubator/stdcxx/branches/4.2.x/include/ansi/cwchar incubator/stdcxx/branches/4.2.x/tests/strings/21.cwchar.cpp Modified: incubator/stdcxx/branches/4.2.x/include/ansi/cwchar URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/ansi/cwchar?rev=597425&r1=597424&r2=597425&view=diff == --- incubator/stdcxx/branches/4.2.x/include/ansi/cwchar (original) +++ incubator/stdcxx/branches/4.2.x/include/ansi/cwchar Thu Nov 22 07:20:29 2007 @@ -46,6 +46,13 @@ #include _RWSTD_ANSI_C_WCHAR_H +#ifdef _RWSTD_STRICT_ANSI +// 17.4.1.2, p6 - masking macros are not allowed +# undef getwc +# undef putwc +#endif // _RWSTD_STRICT_ANSI + + #if _RWSTD_NAMESPACE_STD_OPEN == 17 #undef _RWSTD_NAMESPACE_STD_OPEN Modified: incubator/stdcxx/branches/4.2.x/tests/strings/21.cwchar.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/strings/21.cwchar.cpp?rev=597425&r1=597424&r2=597425&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/strings/21.cwchar.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/strings/21.cwchar.cpp Thu Nov 22 07:20:29 2007 @@ -509,9 +509,15 @@ } for (unsigned i = 0; masking_macros [i]; ++i) { +#ifdef _RWSTD_STRICT_ANSI rw_assert ('\0' == masking_macros [i][0], 0, __LINE__, "masking macro %s unexpectedly defined", masking_macros [i]); +#else +rw_warn ('\0' == masking_macros [i][0], 0, __LINE__, + "masking macro %s unexpectedly defined", + masking_macros [i]); +#endif } } @@ -855,13 +861,13 @@ std_name, #fun, overload < 0, 0 == overload); \ const char* const return_type_name =\ get_type_name ((T)0, std::fun args);\ -rw_assert (0 == ncalls, 0, __LINE__,\ - "%s::%s("\ - "%{?}%{:}/* %{?}non-%{;}const overload */%{;}) " \ - "not declared (_RWSTD_NO_%s = %d, " \ - "_RWSTD_NO_%s_IN_LIBC = %d)",\ - std_name, #fun, overload < 0, 0 == overload, \ - #macro, EVAL (macro), #macro, EVAL_IN_LIBC (macro)); \ +rw_warn (0 == ncalls, 0, __LINE__, \ + "%s::%s(" \ + "%{?}%{:}/* %{?}non-%{;}const overload */%{;}) " \ + "not declared (_RWSTD_NO_%s = %d, "\ + "_RWSTD_NO_%s_IN_LIBC = %d)", \ + std_name, #fun, overload < 0, 0 == overload, \ + #macro, EVAL (macro), #macro, EVAL_IN_LIBC (macro)); \ if (0 == ncalls)\ rw_assert (0 == return_type_name, 0, __LINE__, "%s::%s("\ "%{?}%{:}/* %{?}non-%{;}const overload */%{;}) " \
svn commit: r597417 - /incubator/stdcxx/trunk/tests/numerics/26.valarray.cassign.cpp
Author: faridz Date: Thu Nov 22 06:54:53 2007 New Revision: 597417 URL: http://svn.apache.org/viewvc?rev=597417&view=rev Log: Merged r586808 and r597396 from branches/4.2.x 2007-10-20 Martin Sebor <[EMAIL PROTECTED]> * 26.valarray.cassign.cpp (run_test): Disabled tests exercising valarray specializations on a user-defined type for 4.2.0 and prior since they are known to fail to compile due to STDCXX-512. 2007-11-22 Farid Zaripov <[EMAIL PROTECTED]> * 26.valarray.cassign.cpp (run_test): Corrected condition in preprocessor directive. Modified: incubator/stdcxx/trunk/tests/numerics/26.valarray.cassign.cpp Modified: incubator/stdcxx/trunk/tests/numerics/26.valarray.cassign.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/numerics/26.valarray.cassign.cpp?rev=597417&r1=597416&r2=597417&view=diff == --- incubator/stdcxx/trunk/tests/numerics/26.valarray.cassign.cpp (original) +++ incubator/stdcxx/trunk/tests/numerics/26.valarray.cassign.cpp Thu Nov 22 06:54:53 2007 @@ -801,10 +801,23 @@ { #undef TEST #define TEST(T) test_op_assign ((const T*)0, #T) + TEST (int); TEST (double); +#if 0x0402 >= _RWSTD_VER + +// test fails to compile with stdcxx 4.2.0 and prior due to +// STDCXX-512: http://issues.apache.org/jira/browse/STDCXX-512 +rw_warn (0, 0, __LINE__, + "test of UserClass disabled in stdcxx 4.2.0 and prior " + "due to STDCXX-512"); + +#else // stdcxx > 4.2.0 + TEST (UserClass); + +#endif // stdcxx version return 0; }
svn commit: r597412 - in /incubator/stdcxx/trunk/include: ansi/cwchar rw/_config-msvcrt.h
Author: faridz Date: Thu Nov 22 06:21:21 2007 New Revision: 597412 URL: http://svn.apache.org/viewvc?rev=597412&view=rev Log: 2007-11-22 Farid Zaripov <[EMAIL PROTECTED]> Merged r597411 from branches/4.2.x * rw/_config_msvcrt.h: #define _RWSTD_NO_WCSTOK and _RWSTD_NO_WCSTOK_IN_LIBC macros since the MSVC has the non-standard prototype of the wcstok(). * ansi/cwchar [_MSC_VER >= 1400]: Define inline wcstok() function using wcstok_s(). #undefine _RWSTD_NO_WCSTOK and _RWSTD_NO_WCSTOK_IN_LIBC macros. Modified: incubator/stdcxx/trunk/include/ansi/cwchar incubator/stdcxx/trunk/include/rw/_config-msvcrt.h Modified: incubator/stdcxx/trunk/include/ansi/cwchar URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/ansi/cwchar?rev=597412&r1=597411&r2=597412&view=diff == --- incubator/stdcxx/trunk/include/ansi/cwchar (original) +++ incubator/stdcxx/trunk/include/ansi/cwchar Thu Nov 22 06:21:21 2007 @@ -1074,6 +1074,22 @@ using ::wcstok; # undef _RWSTD_NO_WCSTOK +#elif defined (_MSC_VER) && 1400 <= _MSC_VER + +} // namespace std + +/* extern "C++" */ inline wchar_t* +wcstok (wchar_t* __s1, const wchar_t* __s2, wchar_t** __ptr) +{ +return wcstok_s (__s1, __s2, __ptr); +} + +namespace std { + +using ::wcstok; + +# undef _RWSTD_NO_WCSTOK +# undef _RWSTD_NO_WCSTOK_IN_LIBC #endif // _RWSTD_NO_WCSTOK[_IN_LIBC] #ifndef _RWSTD_NO_WCSTOL Modified: incubator/stdcxx/trunk/include/rw/_config-msvcrt.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/rw/_config-msvcrt.h?rev=597412&r1=597411&r2=597412&view=diff == --- incubator/stdcxx/trunk/include/rw/_config-msvcrt.h (original) +++ incubator/stdcxx/trunk/include/rw/_config-msvcrt.h Thu Nov 22 06:21:21 2007 @@ -54,6 +54,15 @@ # define _RWSTD_NO_DEPRECATED_C_HEADERS #endif // _RWSTD_NO_DEPRECATED_C_HEADERS +#ifndef _RWSTD_NO_WCSTOK +// MSVC CRT has incorrect prototype of the wcstok() +# define _RWSTD_NO_WCSTOK +#endif // _RWSTD_NO_WCSTOK + +#ifndef _RWSTD_NO_WCSTOK_IN_LIBC +# define _RWSTD_NO_WCSTOK_IN_LIBC +#endif // _RWSTD_NO_WCSTOK_IN_LIBC + // operator new and delete is not reliably replaceable across // shared library boundaries, which includes the shared library // version of the language support library
svn commit: r597411 - in /incubator/stdcxx/branches/4.2.x/include: ansi/cwchar rw/_config-msvcrt.h
Author: faridz Date: Thu Nov 22 06:19:00 2007 New Revision: 597411 URL: http://svn.apache.org/viewvc?rev=597411&view=rev Log: 2007-11-22 Farid Zaripov <[EMAIL PROTECTED]> * rw/_config_msvcrt.h: #define _RWSTD_NO_WCSTOK and _RWSTD_NO_WCSTOK_IN_LIBC macros since the MSVC has the non-standard prototype of the wcstok(). * ansi/cwchar [_MSC_VER >= 1400]: Define inline wcstok() function using wcstok_s(). #undefine _RWSTD_NO_WCSTOK and _RWSTD_NO_WCSTOK_IN_LIBC macros. Modified: incubator/stdcxx/branches/4.2.x/include/ansi/cwchar incubator/stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h Modified: incubator/stdcxx/branches/4.2.x/include/ansi/cwchar URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/ansi/cwchar?rev=597411&r1=597410&r2=597411&view=diff == --- incubator/stdcxx/branches/4.2.x/include/ansi/cwchar (original) +++ incubator/stdcxx/branches/4.2.x/include/ansi/cwchar Thu Nov 22 06:19:00 2007 @@ -1074,6 +1074,22 @@ using ::wcstok; # undef _RWSTD_NO_WCSTOK +#elif defined (_MSC_VER) && 1400 <= _MSC_VER + +} // namespace std + +/* extern "C++" */ inline wchar_t* +wcstok (wchar_t* __s1, const wchar_t* __s2, wchar_t** __ptr) +{ +return wcstok_s (__s1, __s2, __ptr); +} + +namespace std { + +using ::wcstok; + +# undef _RWSTD_NO_WCSTOK +# undef _RWSTD_NO_WCSTOK_IN_LIBC #endif // _RWSTD_NO_WCSTOK[_IN_LIBC] #ifndef _RWSTD_NO_WCSTOL Modified: incubator/stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h?rev=597411&r1=597410&r2=597411&view=diff == --- incubator/stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h (original) +++ incubator/stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h Thu Nov 22 06:19:00 2007 @@ -54,6 +54,15 @@ # define _RWSTD_NO_DEPRECATED_C_HEADERS #endif // _RWSTD_NO_DEPRECATED_C_HEADERS +#ifndef _RWSTD_NO_WCSTOK +// MSVC CRT has incorrect prototype of the wcstok() +# define _RWSTD_NO_WCSTOK +#endif // _RWSTD_NO_WCSTOK + +#ifndef _RWSTD_NO_WCSTOK_IN_LIBC +# define _RWSTD_NO_WCSTOK_IN_LIBC +#endif // _RWSTD_NO_WCSTOK_IN_LIBC + // operator new and delete is not reliably replaceable across // shared library boundaries, which includes the shared library // version of the language support library
svn commit: r597396 - /incubator/stdcxx/branches/4.2.x/tests/numerics/26.valarray.cassign.cpp
Author: faridz Date: Thu Nov 22 04:40:33 2007 New Revision: 597396 URL: http://svn.apache.org/viewvc?rev=597396&view=rev Log: 2007-11-22 Farid Zaripov <[EMAIL PROTECTED]> * 26.valarray.cassign.cpp (run_test): Corrected condition in preprocessor directive. Modified: incubator/stdcxx/branches/4.2.x/tests/numerics/26.valarray.cassign.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/numerics/26.valarray.cassign.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/numerics/26.valarray.cassign.cpp?rev=597396&r1=597395&r2=597396&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/numerics/26.valarray.cassign.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/numerics/26.valarray.cassign.cpp Thu Nov 22 04:40:33 2007 @@ -805,7 +805,7 @@ TEST (int); TEST (double); -#if 0x0402 <= _RWSTD_VER +#if 0x0402 >= _RWSTD_VER // test fails to compile with stdcxx 4.2.0 and prior due to // STDCXX-512: http://issues.apache.org/jira/browse/STDCXX-512
svn commit: r597184 - in /incubator/stdcxx/trunk: include/loc/ include/rw/ src/
Author: faridz Date: Wed Nov 21 11:14:55 2007 New Revision: 597184 URL: http://svn.apache.org/viewvc?rev=597184&view=rev Log: 2007-11-21 Farid Zaripov <[EMAIL PROTECTED]> Merged r597181 from branches/4.2.x with a fix for STDCXX-594. * include/rw/_defs.h (_V3_LOCALE): Replaced the obsolete macro with _STD. * include/loc/_locale.h: Ditto. * include/loc/_codecvt.cc: Ditto. * include/loc/_codecvt.h: Ditto. * include/loc/_collate.cc: Ditto. * include/loc/_collate.h: Ditto. * include/loc/_convenience.h: Ditto. * include/loc/_ctype.cc: Ditto. * include/loc/_ctype.h: Ditto. * include/loc/_messages.cc: Ditto. * include/loc/_messages.h: Ditto. * include/loc/_money_get.cc: Ditto. * include/loc/_money_put.cc: Ditto. * include/loc/_moneypunct.cc: Ditto. * include/loc/_moneypunct.h: Ditto. * include/loc/_num_get.cc: Ditto. * include/loc/_num_put.cc: Ditto. * include/loc/_numpunct.cc: Ditto. * include/loc/_numpunct.h: Ditto. * include/loc/_time_get.cc: Ditto. * include/loc/_time_put.cc: Ditto. * src/use_facet.h: Ditto. Modified: incubator/stdcxx/trunk/include/loc/_codecvt.cc incubator/stdcxx/trunk/include/loc/_codecvt.h incubator/stdcxx/trunk/include/loc/_collate.cc incubator/stdcxx/trunk/include/loc/_collate.h incubator/stdcxx/trunk/include/loc/_convenience.h incubator/stdcxx/trunk/include/loc/_ctype.cc incubator/stdcxx/trunk/include/loc/_ctype.h incubator/stdcxx/trunk/include/loc/_locale.h incubator/stdcxx/trunk/include/loc/_messages.cc incubator/stdcxx/trunk/include/loc/_messages.h incubator/stdcxx/trunk/include/loc/_money_get.cc incubator/stdcxx/trunk/include/loc/_money_put.cc incubator/stdcxx/trunk/include/loc/_moneypunct.cc incubator/stdcxx/trunk/include/loc/_moneypunct.h incubator/stdcxx/trunk/include/loc/_num_get.cc incubator/stdcxx/trunk/include/loc/_num_put.cc incubator/stdcxx/trunk/include/loc/_numpunct.cc incubator/stdcxx/trunk/include/loc/_numpunct.h incubator/stdcxx/trunk/include/loc/_time_get.cc incubator/stdcxx/trunk/include/loc/_time_put.cc incubator/stdcxx/trunk/include/rw/_defs.h incubator/stdcxx/trunk/src/use_facet.h Modified: incubator/stdcxx/trunk/include/loc/_codecvt.cc URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/loc/_codecvt.cc?rev=597184&r1=597183&r2=597184&view=diff == --- incubator/stdcxx/trunk/include/loc/_codecvt.cc (original) +++ incubator/stdcxx/trunk/include/loc/_codecvt.cc Wed Nov 21 11:14:55 2007 @@ -27,7 +27,7 @@ **/ -_RWSTD_NAMESPACE (_V3_LOCALE) { +_RWSTD_NAMESPACE (std) { #ifndef _RWSTD_NO_EXT_CODECVT_PRIMARY @@ -38,4 +38,4 @@ #endif // _RWSTD_NO_EXT_CODECVT_PRIMARY -} // namespace _V3_LOCALE +} // namespace std Modified: incubator/stdcxx/trunk/include/loc/_codecvt.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/loc/_codecvt.h?rev=597184&r1=597183&r2=597184&view=diff == --- incubator/stdcxx/trunk/include/loc/_codecvt.h (original) +++ incubator/stdcxx/trunk/include/loc/_codecvt.h Wed Nov 21 11:14:55 2007 @@ -44,7 +44,7 @@ } // namespace __rw -_RWSTD_NAMESPACE (_V3_LOCALE) { +_RWSTD_NAMESPACE (std) { // 22.2.1.5 - Template class codecvt @@ -446,7 +446,7 @@ #endif // _RWSTD_NO_WCHAR_T -} // namespace _V3_LOCALE +} // namespace std #if _RWSTD_DEFINE_TEMPLATE (_CODECVT) Modified: incubator/stdcxx/trunk/include/loc/_collate.cc URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/loc/_collate.cc?rev=597184&r1=597183&r2=597184&view=diff == --- incubator/stdcxx/trunk/include/loc/_collate.cc (original) +++ incubator/stdcxx/trunk/include/loc/_collate.cc Wed Nov 21 11:14:55 2007 @@ -27,7 +27,7 @@ **/ -_RWSTD_NAMESPACE (_V3_LOCALE) { +_RWSTD_NAMESPACE (std) { #ifndef _RWSTD_NO_EXT_COLLATE_PRIMARY @@ -37,4 +37,4 @@ #endif // _RWSTD_NO_EXT_COLLATE_PRIMARY -} // namespace _V3_LOCALE +} // namespace std Modified: incubator/stdcxx/trunk/include/loc/_collate.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/loc/_collate.h?rev=597184&r1=597183&r2=597184&view=diff == --- incubator/stdcxx/trunk/include/loc/_collate.h (original) +++ incubator/stdcxx/trunk/include/loc/_collate.h Wed Nov 21 11:14:55 2007 @@ -43,7 +43,7 @@ #include -_RWSTD_NAMESPACE (_V3_LOCALE) { +_RWSTD_NAM
svn commit: r597181 - in /incubator/stdcxx/branches/4.2.x: include/loc/ include/rw/ src/
Author: faridz Date: Wed Nov 21 10:59:19 2007 New Revision: 597181 URL: http://svn.apache.org/viewvc?rev=597181&view=rev Log: 2007-11-21 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-594 * include/rw/_defs.h (_V3_LOCALE): Replaced the obsolete macro with _STD. * include/loc/_locale.h: Ditto. * include/loc/_codecvt.cc: Ditto. * include/loc/_codecvt.h: Ditto. * include/loc/_collate.cc: Ditto. * include/loc/_collate.h: Ditto. * include/loc/_convenience.h: Ditto. * include/loc/_ctype.cc: Ditto. * include/loc/_ctype.h: Ditto. * include/loc/_messages.cc: Ditto. * include/loc/_messages.h: Ditto. * include/loc/_money_get.cc: Ditto. * include/loc/_money_put.cc: Ditto. * include/loc/_moneypunct.cc: Ditto. * include/loc/_moneypunct.h: Ditto. * include/loc/_num_get.cc: Ditto. * include/loc/_num_put.cc: Ditto. * include/loc/_numpunct.cc: Ditto. * include/loc/_numpunct.h: Ditto. * include/loc/_time_get.cc: Ditto. * include/loc/_time_put.cc: Ditto. * src/use_facet.h: Ditto. Modified: incubator/stdcxx/branches/4.2.x/include/loc/_codecvt.cc incubator/stdcxx/branches/4.2.x/include/loc/_codecvt.h incubator/stdcxx/branches/4.2.x/include/loc/_collate.cc incubator/stdcxx/branches/4.2.x/include/loc/_collate.h incubator/stdcxx/branches/4.2.x/include/loc/_convenience.h incubator/stdcxx/branches/4.2.x/include/loc/_ctype.cc incubator/stdcxx/branches/4.2.x/include/loc/_ctype.h incubator/stdcxx/branches/4.2.x/include/loc/_locale.h incubator/stdcxx/branches/4.2.x/include/loc/_messages.cc incubator/stdcxx/branches/4.2.x/include/loc/_messages.h incubator/stdcxx/branches/4.2.x/include/loc/_money_get.cc incubator/stdcxx/branches/4.2.x/include/loc/_money_put.cc incubator/stdcxx/branches/4.2.x/include/loc/_moneypunct.cc incubator/stdcxx/branches/4.2.x/include/loc/_moneypunct.h incubator/stdcxx/branches/4.2.x/include/loc/_num_get.cc incubator/stdcxx/branches/4.2.x/include/loc/_num_put.cc incubator/stdcxx/branches/4.2.x/include/loc/_numpunct.cc incubator/stdcxx/branches/4.2.x/include/loc/_numpunct.h incubator/stdcxx/branches/4.2.x/include/loc/_time_get.cc incubator/stdcxx/branches/4.2.x/include/loc/_time_put.cc incubator/stdcxx/branches/4.2.x/include/rw/_defs.h incubator/stdcxx/branches/4.2.x/src/use_facet.h Modified: incubator/stdcxx/branches/4.2.x/include/loc/_codecvt.cc URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/loc/_codecvt.cc?rev=597181&r1=597180&r2=597181&view=diff == --- incubator/stdcxx/branches/4.2.x/include/loc/_codecvt.cc (original) +++ incubator/stdcxx/branches/4.2.x/include/loc/_codecvt.cc Wed Nov 21 10:59:19 2007 @@ -27,7 +27,7 @@ **/ -_RWSTD_NAMESPACE (_V3_LOCALE) { +_RWSTD_NAMESPACE (std) { #ifndef _RWSTD_NO_EXT_CODECVT_PRIMARY @@ -38,4 +38,4 @@ #endif // _RWSTD_NO_EXT_CODECVT_PRIMARY -} // namespace _V3_LOCALE +} // namespace std Modified: incubator/stdcxx/branches/4.2.x/include/loc/_codecvt.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/loc/_codecvt.h?rev=597181&r1=597180&r2=597181&view=diff == --- incubator/stdcxx/branches/4.2.x/include/loc/_codecvt.h (original) +++ incubator/stdcxx/branches/4.2.x/include/loc/_codecvt.h Wed Nov 21 10:59:19 2007 @@ -44,7 +44,7 @@ } // namespace __rw -_RWSTD_NAMESPACE (_V3_LOCALE) { +_RWSTD_NAMESPACE (std) { // 22.2.1.5 - Template class codecvt @@ -446,7 +446,7 @@ #endif // _RWSTD_NO_WCHAR_T -} // namespace _V3_LOCALE +} // namespace std #if _RWSTD_DEFINE_TEMPLATE (_CODECVT) Modified: incubator/stdcxx/branches/4.2.x/include/loc/_collate.cc URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/loc/_collate.cc?rev=597181&r1=597180&r2=597181&view=diff == --- incubator/stdcxx/branches/4.2.x/include/loc/_collate.cc (original) +++ incubator/stdcxx/branches/4.2.x/include/loc/_collate.cc Wed Nov 21 10:59:19 2007 @@ -27,7 +27,7 @@ **/ -_RWSTD_NAMESPACE (_V3_LOCALE) { +_RWSTD_NAMESPACE (std) { #ifndef _RWSTD_NO_EXT_COLLATE_PRIMARY @@ -37,4 +37,4 @@ #endif // _RWSTD_NO_EXT_COLLATE_PRIMARY -} // namespace _V3_LOCALE +} // namespace std Modified: incubator/stdcxx/branches/4.2.x/include/loc/_collate.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/loc/_coll
svn commit: r597120 - /incubator/stdcxx/branches/4.2.x/etc/config/src/terminate.h
Author: faridz Date: Wed Nov 21 07:43:33 2007 New Revision: 597120 URL: http://svn.apache.org/viewvc?rev=597120&view=rev Log: 2007-11-21 Farid Zaripov <[EMAIL PROTECTED]> * terminate.h: Removed eventually inserted duplicate lines. Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/terminate.h Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/terminate.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/src/terminate.h?rev=597120&r1=597119&r2=597120&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/src/terminate.h (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/src/terminate.h Wed Nov 21 07:43:33 2007 @@ -40,45 +40,3 @@ } } - -/*** - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the License); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. See the License for the specific language governing - * permissions and limitations under the License. - * - * Copyright 1999-2007 Rogue Wave Software, Inc. - * - **/ - -namespace std { - -void terminate () -{ -static int *ip; - -terminate_loop: - -if ((ip [0] = ip [1])) { // force a SIGSEGV -++ip; -terminate (); // recurse infinitely -} - -// prevent gcc warnings for a function -// that's not supposed to return -goto terminate_loop; -} - -}
svn commit: r597118 - in /incubator/stdcxx/branches/4.2.x/etc/config/src: LIMITS.cpp extern_template_imp.cpp
Author: faridz Date: Wed Nov 21 07:39:55 2007 New Revision: 597118 URL: http://svn.apache.org/viewvc?rev=597118&view=rev Log: 2007-11-21 Farid Zaripov <[EMAIL PROTECTED]> * extern_template_imp.cpp: #include replaced to #include "config.h" for consistency. * LIMITS.cpp: #include "config.h" placed after the ASL header. Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/LIMITS.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/extern_template_imp.cpp Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/LIMITS.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/src/LIMITS.cpp?rev=597118&r1=597117&r2=597118&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/src/LIMITS.cpp (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/src/LIMITS.cpp Wed Nov 21 07:39:55 2007 @@ -1,7 +1,5 @@ // computing numerical limits -#include "config.h" - /*** * * Licensed to the Apache Software Foundation (ASF) under one or more @@ -23,6 +21,8 @@ * Copyright 1999-2007 Rogue Wave Software, Inc. * **/ + +#include "config.h" #include // for printf() Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/extern_template_imp.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/src/extern_template_imp.cpp?rev=597118&r1=597117&r2=597118&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/src/extern_template_imp.cpp (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/src/extern_template_imp.cpp Wed Nov 21 07:39:55 2007 @@ -21,7 +21,7 @@ * **/ -#include +#include "config.h" // establish dependencies on the config tests and define config // macros used in the header below (the are not autodetected
svn commit: r597117 - /incubator/stdcxx/branches/4.2.x/etc/config/src/
Author: faridz Date: Wed Nov 21 07:37:44 2007 New Revision: 597117 URL: http://svn.apache.org/viewvc?rev=597117&view=rev Log: 2007-11-21 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-558 * BAD_ALLOC_COPY_CTOR.cpp: Removed unnecessary #include "config.h". * BAD_ALLOC_DEFAULT_CTOR.cpp: Ditto. * BAD_ALLOC_DTOR.cpp: Ditto. * BAD_ALLOC_WHAT.cpp: Ditto. * BAD_CAST_ASSIGNMENT.cpp: Ditto. * BAD_CAST_COPY_CTOR.cpp: Ditto. * BAD_CAST_DEFAULT_CTOR.cpp: Ditto. * BAD_CAST_DTOR.cpp: Ditto. * BAD_CAST_WHAT.cpp: Ditto. * BAD_EXCEPTION_ASSIGNMENT.cpp: Ditto. * BAD_EXCEPTION_COPY_CTOR.cpp: Ditto. * BAD_EXCEPTION_DEFAULT_CTOR.cpp: Ditto. * BAD_EXCEPTION_DTOR.cpp: Ditto. * BAD_EXCEPTION_WHAT.cpp: Ditto. * BAD_TYPEID_ASSIGNMENT.cpp: Ditto. * BAD_TYPEID_COPY_CTOR.cpp: Ditto. * BAD_TYPEID_DEFAULT_CTOR.cpp: Ditto. * BAD_TYPEID_DTOR.cpp: Ditto. * BAD_TYPEID_WHAT.cpp: Ditto. * BOOL.cpp: Ditto. * CLASS_PARTIAL_SPEC.cpp: Ditto. * COLLAPSE_STATIC_LOCALS.cpp: Ditto. * COLLAPSE_TEMPLATE_LOCALS.cpp: Ditto. * COLLAPSE_TEMPLATE_STATICS.cpp: Ditto. * CTYPE_BITS.cpp: Ditto. * DEFAULT_TEMPLATE_ARGS.cpp: Ditto. * DEPRECATED_LIBC_IN_STD.cpp: Ditto. * EXCEPTION_ASSIGNMENT.cpp: Ditto. * EXCEPTION_COPY_CTOR.cpp: Ditto. * EXCEPTION_DEFAULT_CTOR.cpp: Ditto. * EXCEPTION_DTOR.cpp: Ditto. * EXCEPTION_WHAT.cpp: Ditto. * EXPLICIT.cpp: Ditto. * EXPLICIT_ARG.cpp: Ditto. * EXPLICIT_FUNC_INSTANTIATION.cpp: Ditto. * EXTERN_FUNCTION_TEMPLATE.cpp: Ditto. * EXTERN_INLINE.cpp: Ditto. * EXTERN_TEMPLATE.cpp: Ditto. * FUNCTION_TRY_BLOCK.cpp: Ditto. * GLOBAL_TYPE_INFO.cpp: Ditto. * ICONV.cpp: Ditto. * lib_exceptions.lib.cpp: Ditto. * LLONG_PRINTF_PREFIX.cpp: Ditto. * LONG_DOUBLE.cpp: Ditto. * MUNMAP.cpp: Ditto. * NATIVE_WCHAR_T.cpp: Ditto. * NEW_CLASS_TEMPLATE_SYNTAX.cpp: Ditto. * NEWLINE.cpp: Ditto. * NL_TYPES_H.cpp: Ditto. * NO_DBL_TRAPS.cpp: Ditto. * NO_INT_TRAPS.cpp: Ditto. * STD_TERMINATE.cpp: Ditto. Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_COPY_CTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_DEFAULT_CTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_DTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_WHAT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_CAST_ASSIGNMENT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_CAST_COPY_CTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_CAST_DEFAULT_CTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_CAST_DTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_CAST_WHAT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_EXCEPTION_ASSIGNMENT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_EXCEPTION_COPY_CTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_EXCEPTION_DEFAULT_CTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_EXCEPTION_DTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_EXCEPTION_WHAT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_TYPEID_ASSIGNMENT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_TYPEID_COPY_CTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_TYPEID_DEFAULT_CTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_TYPEID_DTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_TYPEID_WHAT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/BOOL.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/CLASS_PARTIAL_SPEC.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/COLLAPSE_STATIC_LOCALS.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/COLLAPSE_TEMPLATE_LOCALS.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/COLLAPSE_TEMPLATE_STATICS.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/CTYPE_BITS.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/DEFAULT_TEMPLATE_ARGS.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/DEPRECATED_LIBC_IN_STD.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/EXCEPTION_ASSIGNMENT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/EXCEPTION_COPY_CTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/EXCEPTION_DEFAULT_CTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/EXCEPTION_DTOR.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/EXCEPTION_WHAT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/EXPLICIT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/EXPLICIT_ARG.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/EXPLICIT_FUNC_INSTANTIATION.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/EXTERN_F
svn commit: r597111 - /incubator/stdcxx/branches/4.2.x/etc/config/src/
Author: faridz Date: Wed Nov 21 07:23:43 2007 New Revision: 597111 URL: http://svn.apache.org/viewvc?rev=597111&view=rev Log: 2007-11-21 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-557 * terminate.h: New header file with a definition of the std::terminate(). * BAD_ALLOC_ASSIGNMENT.cpp (terminate): Function removed, #included "terminate.h" instead. * DYNAMIC_CAST.cpp: Ditto. * EXCEPTIONS.cpp: Ditto. * FLOAT.cpp: Ditto. * GLOBAL_BAD_ALLOC.cpp: Ditto. * GLOBAL_BAD_CAST.cpp: Ditto. * GLOBAL_BAD_EXCEPTION.cpp: Ditto. * GLOBAL_BAD_TYPEID.cpp: Ditto. * GLOBAL_EXCEPTION.cpp: Ditto. * GLOBAL_UNCAUGHT_EXCEPTION.cpp: Ditto. * LIB_EXCEPTIONS.cpp: Ditto. * LIMITS.cpp: Ditto. * NEW_THROWS.cpp: Ditto. * OPERATOR_DELETE_ARRAY_PLACEMENT.cpp: Ditto. * OPERATOR_DELETE_PLACEMENT.cpp: Ditto. * OPERATOR_NEW_ARRAY_PLACEMENT.cpp: Ditto. * OPERATOR_NEW_PLACEMENT.cpp: Ditto. * STD_BAD_ALLOC.cpp: Ditto. * STD_BAD_CAST.cpp: Ditto. * STD_BAD_EXCEPTION.cpp: Ditto. * STD_BAD_TYPEID.cpp: Ditto. * STD_EXCEPTION.cpp: Ditto. * STD_UNCAUGHT_EXCEPTION.cpp: Ditto. * TYPE_INFO_DTOR.cpp: Ditto. Added: incubator/stdcxx/branches/4.2.x/etc/config/src/terminate.h (with props) Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/DYNAMIC_CAST.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/EXCEPTIONS.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/FLOAT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/GLOBAL_BAD_ALLOC.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/GLOBAL_BAD_CAST.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/GLOBAL_BAD_EXCEPTION.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/GLOBAL_BAD_TYPEID.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/GLOBAL_EXCEPTION.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/GLOBAL_UNCAUGHT_EXCEPTION.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/LIB_EXCEPTIONS.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/LIMITS.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/NEW_THROWS.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/OPERATOR_DELETE_ARRAY_PLACEMENT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/OPERATOR_DELETE_PLACEMENT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/OPERATOR_NEW_ARRAY_PLACEMENT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/OPERATOR_NEW_PLACEMENT.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/STD_BAD_ALLOC.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/STD_BAD_CAST.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/STD_BAD_EXCEPTION.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/STD_BAD_TYPEID.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/STD_EXCEPTION.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/STD_UNCAUGHT_EXCEPTION.cpp incubator/stdcxx/branches/4.2.x/etc/config/src/TYPE_INFO_DTOR.cpp Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp?rev=597111&r1=597110&r2=597111&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp Wed Nov 21 07:23:43 2007 @@ -57,27 +57,7 @@ #if 2 == __GNUG__ # ifndef _RWSTD_NO_HONOR_STD #ifdef _RWSTD_NO_STD_TERMINATE - -namespace std { - -void terminate () -{ -static int *ip; - -terminate_loop: - -if ((ip [0] = ip [1])) { // force a SIGSEGV -++ip; -terminate (); // recurse infinitely -} - -// prevent gcc warnings for a function -// that's not supposed to return -goto terminate_loop; -} - -} - +# include "terminate.h" #endif // _RWSTD_NO_STD_TERMINATE # endif // _RWSTD_NO_HONOR_STD #endif // gcc 2.x Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/DYNAMIC_CAST.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/src/DYNAMIC_CAST.cpp?rev=597111&r1=597110&r2=597111&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/src/DYNAMIC_CAST.cpp (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/src/DYNAMIC_CAST.cpp Wed Nov 21 07:23:43 2007 @@ -31,18 +31,7 @@ #ifndef _RWSTD_NO_HONOR_STD # ifdef _RWSTD_NO_STD_TERMINATE - -namespace std { - -void terminate () -{ -for (char *p = 0; ; ++p) { -*p = 0; // force a SIGSEGV -} -} - -} - +#include "terminate.h" # endif // _RWSTD_NO_
svn commit: r596751 - /incubator/stdcxx/trunk/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp
Author: faridz Date: Tue Nov 20 09:42:01 2007 New Revision: 596751 URL: http://svn.apache.org/viewvc?rev=596751&view=rev Log: 2007-11-20 Farid Zaripov <[EMAIL PROTECTED]> Merged r596750 from branches/4.2.x. * BAD_ALLOC_ASSIGNMENT.cpp: Corrected __GNUG__ macro (was GNUG__). Modified: incubator/stdcxx/trunk/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp Modified: incubator/stdcxx/trunk/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp?rev=596751&r1=596750&r2=596751&view=diff == --- incubator/stdcxx/trunk/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp (original) +++ incubator/stdcxx/trunk/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp Tue Nov 20 09:42:01 2007 @@ -54,7 +54,7 @@ #include "config.h" -#if 2 == GNUG__ +#if 2 == __GNUG__ # ifndef _RWSTD_NO_HONOR_STD #ifdef _RWSTD_NO_STD_TERMINATE
svn commit: r596750 - /incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp
Author: faridz Date: Tue Nov 20 09:40:05 2007 New Revision: 596750 URL: http://svn.apache.org/viewvc?rev=596750&view=rev Log: 2007-11-20 Farid Zaripov <[EMAIL PROTECTED]> * BAD_ALLOC_ASSIGNMENT.cpp: Corrected __GNUG__ macro (was GNUG__). Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp Modified: incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp?rev=596750&r1=596749&r2=596750&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/src/BAD_ALLOC_ASSIGNMENT.cpp Tue Nov 20 09:40:05 2007 @@ -54,7 +54,7 @@ #include "config.h" -#if 2 == GNUG__ +#if 2 == __GNUG__ # ifndef _RWSTD_NO_HONOR_STD #ifdef _RWSTD_NO_STD_TERMINATE
svn propchange: r596356 - svn:log
Author: faridz Revision: 596356 Modified property: svn:log Modified: svn:log at Tue Nov 20 03:20:15 2007 -- --- svn:log (original) +++ svn:log Tue Nov 20 03:20:15 2007 @@ -1,4 +1,4 @@ 2007-11-19 Farid Zaripov <[EMAIL PROTECTED]> - Merged r596354 from trunk. + Merged r596354 from trunk with a fix for STDCXX-669. * 20.auto.ptr.cpp (test_auto_ptr): Worked around bug in MSVC 7.x.
svn propchange: r596354 - svn:log
Author: faridz Revision: 596354 Modified property: svn:log Modified: svn:log at Tue Nov 20 03:19:47 2007 -- --- svn:log (original) +++ svn:log Tue Nov 20 03:19:47 2007 @@ -1,3 +1,4 @@ 2007-11-19 Farid Zaripov <[EMAIL PROTECTED]> + STDCXX-669 * 20.auto.ptr.cpp (test_auto_ptr): Worked around bug in MSVC 7.x.
svn propchange: r590116 - svn:log
Author: faridz Revision: 590116 Modified property: svn:log Modified: svn:log at Mon Nov 19 09:53:24 2007 -- --- svn:log (original) +++ svn:log Mon Nov 19 09:53:24 2007 @@ -1,6 +1,6 @@ 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> - Merged r590052 from branches/4.2.x with a fix for STDCXX-612 + Merged r590052 from branches/4.2.x with a fix for STDCXX-621 * examples/manual/binary_search.cpp: Updated ASL header. * examples/manual/merge.cpp: Ditto. * examples/manual/reverse_iterator.cpp: Ditto.
svn propchange: r590052 - svn:log
Author: faridz Revision: 590052 Modified property: svn:log Modified: svn:log at Mon Nov 19 09:52:45 2007 -- --- svn:log (original) +++ svn:log Mon Nov 19 09:52:45 2007 @@ -1,6 +1,6 @@ 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> - STDCXX-612 + STDCXX-621 * examples/manual/binary_search.cpp: Updated ASL header. * examples/manual/merge.cpp: Ditto. * examples/manual/reverse_iterator.cpp: Ditto.
svn commit: r596356 - /incubator/stdcxx/branches/4.2.x/tests/utilities/20.auto.ptr.cpp
Author: faridz Date: Mon Nov 19 08:23:21 2007 New Revision: 596356 URL: http://svn.apache.org/viewvc?rev=596356&view=rev Log: 2007-11-19 Farid Zaripov <[EMAIL PROTECTED]> Merged r596354 from trunk. * 20.auto.ptr.cpp (test_auto_ptr): Worked around bug in MSVC 7.x. Modified: incubator/stdcxx/branches/4.2.x/tests/utilities/20.auto.ptr.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/utilities/20.auto.ptr.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/utilities/20.auto.ptr.cpp?rev=596356&r1=596355&r2=596356&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/utilities/20.auto.ptr.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/utilities/20.auto.ptr.cpp Mon Nov 19 08:23:21 2007 @@ -208,11 +208,14 @@ // and a conversion operator (see PR #24476) # if !defined (__SUNPRO_CC) || __SUNPRO_CC > 0x540 +#if !defined (_MSC_VER) || _MSC_VER > 1310 || defined (__INTEL_COMPILER) FUN (std::auto_ptr_ref, Derived, operator std::auto_ptr_ref, () _PTR_THROWS (())); FUN (std::auto_ptr, Derived, operator std::auto_ptr, () _PTR_THROWS (())); + +#endif // MSVC > 7.1 # endif // SunPro > 5.4
svn commit: r596354 - /incubator/stdcxx/trunk/tests/utilities/20.auto.ptr.cpp
Author: faridz Date: Mon Nov 19 08:20:27 2007 New Revision: 596354 URL: http://svn.apache.org/viewvc?rev=596354&view=rev Log: 2007-11-19 Farid Zaripov <[EMAIL PROTECTED]> * 20.auto.ptr.cpp (test_auto_ptr): Worked around bug in MSVC 7.x. Modified: incubator/stdcxx/trunk/tests/utilities/20.auto.ptr.cpp Modified: incubator/stdcxx/trunk/tests/utilities/20.auto.ptr.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/utilities/20.auto.ptr.cpp?rev=596354&r1=596353&r2=596354&view=diff == --- incubator/stdcxx/trunk/tests/utilities/20.auto.ptr.cpp (original) +++ incubator/stdcxx/trunk/tests/utilities/20.auto.ptr.cpp Mon Nov 19 08:20:27 2007 @@ -208,11 +208,14 @@ // and a conversion operator (see PR #24476) # if !defined (__SUNPRO_CC) || __SUNPRO_CC > 0x540 +#if !defined (_MSC_VER) || _MSC_VER > 1310 || defined (__INTEL_COMPILER) FUN (std::auto_ptr_ref, Derived, operator std::auto_ptr_ref, () _PTR_THROWS (())); FUN (std::auto_ptr, Derived, operator std::auto_ptr, () _PTR_THROWS (())); + +#endif // MSVC > 7.1 # endif // SunPro > 5.4
svn commit: r596333 - in /incubator/stdcxx/trunk/tests/localization: 22.locale.ctype.cpp 22.locale.ctype.is.cpp
Author: faridz Date: Mon Nov 19 07:38:20 2007 New Revision: 596333 URL: http://svn.apache.org/viewvc?rev=596333&view=rev Log: 2007-11-19 Farid Zaripov <[EMAIL PROTECTED]> Merged r596330 from branches/4.2.x * 22.locale.ctype.is (run_test<>): The compile time checks moved to test_libstd(); The function run_test<>() removed; The test_libstd() and test_libc() functions are invoked from non-template run_test() to invoke them in the following order: test_libc(), test_libc(), test_libstd(), test_libstd(). * 22.locale.ctype.cpp (test_libstd_toupper_tolower): Added braces around multiline TEST macro. (test_libstd_mask): Corrected '\xa0' value to '\xa2'. * 22.locale.ctype.cpp (run_test<>): The compile time checks moved to test_libstd(); The function run_test<>() removed; The test_libstd() and test_libc() functions are invoked from non-template run_test() to invoke them in the following order: test_libc(), test_libc(), test_libstd(), test_libstd(). (write_string): Function removed. (create_locale): Function removed. The locale source character array moved from here ... (test_libstd): ... to here. Use rw_create_locale() instead of create_locale(). Modified: incubator/stdcxx/trunk/tests/localization/22.locale.ctype.cpp incubator/stdcxx/trunk/tests/localization/22.locale.ctype.is.cpp Modified: incubator/stdcxx/trunk/tests/localization/22.locale.ctype.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/localization/22.locale.ctype.cpp?rev=596333&r1=596332&r2=596333&view=diff == --- incubator/stdcxx/trunk/tests/localization/22.locale.ctype.cpp (original) +++ incubator/stdcxx/trunk/tests/localization/22.locale.ctype.cpp Mon Nov 19 07:38:20 2007 @@ -605,170 +605,6 @@ _RWSTD_ASSERT (c_strlen (str) == size); } - - -// The character map, as well as the source file generated below use -// Unicode literal strings for character symbolic names; the algorithm in -// localedef utility will generate correct databases even if the platform -// does not have a C library locale encoded with the character set we are -// creating. -void write_string (std::FILE *fp, const char *str) -{ -// ASCII (ISO-646) character map definition -static const char* const base_chset [] = { -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "" -}; - -static const char* const supp_chset [] = { -// And a set of characters above 128, which have wide equivalents -// with values above 256 -/* */ " \\xa0", -/* */ " \\xa1", -/* */ " \\xa2" -}; - -if (str) { -// write out `str' using the charmap above -for (; *str; ++str) -std::fprintf (fp, "%s", base_chset [UChar (*str)]);
svn commit: r596330 - /incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.cpp
Author: faridz Date: Mon Nov 19 07:34:52 2007 New Revision: 596330 URL: http://svn.apache.org/viewvc?rev=596330&view=rev Log: 2007-11-19 Farid Zaripov <[EMAIL PROTECTED]> * 22.locale.ctype.cpp (run_test<>): The compile time checks moved to test_libstd(); The function run_test<>() removed; The test_libstd() and test_libc() functions are invoked from non-template run_test() to invoke them in the following order: test_libc(), test_libc(), test_libstd(), test_libstd(). (write_string): Function removed. (create_locale): Function removed. The locale source character array moved from here ... (test_libstd): ... to here. Use rw_create_locale() instead of create_locale(). Modified: incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.cpp?rev=596330&r1=596329&r2=596330&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.cpp Mon Nov 19 07:34:52 2007 @@ -605,170 +605,6 @@ _RWSTD_ASSERT (c_strlen (str) == size); } - - -// The character map, as well as the source file generated below use -// Unicode literal strings for character symbolic names; the algorithm in -// localedef utility will generate correct databases even if the platform -// does not have a C library locale encoded with the character set we are -// creating. -void write_string (std::FILE *fp, const char *str) -{ -// ASCII (ISO-646) character map definition -static const char* const base_chset [] = { -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "", "", "", "", "", -"", "" -}; - -static const char* const supp_chset [] = { -// And a set of characters above 128, which have wide equivalents -// with values above 256 -/* */ " \\xa0", -/* */ " \\xa1", -/* */ " \\xa2" -}; - -if (str) { -// write out `str' using the charmap above -for (; *str; ++str) -std::fprintf (fp, "%s", base_chset [UChar (*str)]); - -} -else { - -#ifndef _RWSTD_NO_NL_LANGINFO - -const char* const codeset = nl_langinfo (CODESET); - -std::fprintf (fp, " \"%s\"\n", codeset); -std::fprintf (fp, " 1\n"); -std::fprintf (fp, " 1\n"); - -std::fprintf (fp, "CHARMAP\n"); - -// write out the basic character set -for (unsigned i = 0; i < sizeof base_chset / sizeof *base_chset; ++i) -std::fprintf (fp, "%s \\x%02x\n", base_chset [i], i); - -// write out the additional characters -for (unsigned j = 0; j < siz
svn commit: r596326 - /incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.cpp
Author: faridz Date: Mon Nov 19 07:27:05 2007 New Revision: 596326 URL: http://svn.apache.org/viewvc?rev=596326&view=rev Log: 2007-11-19 Farid Zaripov <[EMAIL PROTECTED]> * 22.locale.ctype.cpp (test_libstd_toupper_tolower): Added braces around multiline TEST macro. (test_libstd_mask): Corrected '\xa0' value to '\xa2'. Modified: incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.cpp?rev=596326&r1=596325&r2=596326&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.cpp Mon Nov 19 07:27:05 2007 @@ -1503,8 +1503,9 @@ TEST ('b', 'B'); TEST ('c', 'C'); -if (sizeof(charT) > 1) +if (sizeof(charT) > 1) { TEST ('\xa0', '\xa1'); +} #undef TEST } @@ -1606,7 +1607,7 @@ TEST (ct.widen ('\xa2'), DIGIT); TEST (ct.widen ('\xa2'), GRAPH); TEST (ct.widen ('\xa2'), PRINT); -TEST (ct.widen ('\xa0'), DIGIT | GRAPH | PRINT); +TEST (ct.widen ('\xa2'), DIGIT | GRAPH | PRINT); } }
svn propchange: r596324 - svn:log
Author: faridz Revision: 596324 Modified property: svn:log Modified: svn:log at Mon Nov 19 07:22:42 2007 -- --- svn:log (original) +++ svn:log Mon Nov 19 07:22:42 2007 @@ -1,6 +1,6 @@ 2007-11-19 Farid Zaripov <[EMAIL PROTECTED]> - * 22.locale.ctype.is (run_test<>): The compile time + * 22.locale.ctype.is.cpp (run_test<>): The compile time checks moved to test_libstd(); The function run_test<>() removed; The test_libstd() and test_libc() functions are invoked from non-template run_test() to invoke them in
svn commit: r596324 - /incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.is.cpp
Author: faridz Date: Mon Nov 19 07:18:51 2007 New Revision: 596324 URL: http://svn.apache.org/viewvc?rev=596324&view=rev Log: 2007-11-19 Farid Zaripov <[EMAIL PROTECTED]> * 22.locale.ctype.is (run_test<>): The compile time checks moved to test_libstd(); The function run_test<>() removed; The test_libstd() and test_libc() functions are invoked from non-template run_test() to invoke them in the following order: test_libc(), test_libc(), test_libstd(), test_libstd(). Modified: incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.is.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.is.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.is.cpp?rev=596324&r1=596323&r2=596324&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.is.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.ctype.is.cpp Mon Nov 19 07:18:51 2007 @@ -840,6 +840,12 @@ template void test_libstd (charT, const char *cname) { +if (0) { +// do a compile time only test on use_facet and has_facet +_STD_HAS_FACET (std::ctype_byname, std::locale ()); +_STD_USE_FACET (std::ctype_byname, std::locale ()); +} + const char cmap_1[] = { " \"ANSI_X3.4-1968\"\n" " 1\n" @@ -1025,26 +1031,20 @@ /**/ -template -void run_test (charT, const char *cname) +static int +run_test (int, char**) { -if (0) { -// do a compile time only test on use_facet and has_facet -_STD_HAS_FACET (std::ctype_byname, std::locale ()); -_STD_USE_FACET (std::ctype_byname, std::locale ()); -} +test_libc (char (), "char"); -test_libstd (charT (), cname); -test_libc (charT (), cname); -} +#ifndef _RWSTD_NO_WCHAR_T +test_libc (wchar_t (), "wchar_t"); +#endif // _RWSTD_NO_WCHAR_T -/**/ +test_libstd (char (), "char"); -static int -run_test (int, char**) -{ -run_test (char (), "char"); -run_test (wchar_t (), "wchar_t"); +#ifndef _RWSTD_NO_WCHAR_T +test_libstd (wchar_t (), "wchar_t"); +#endif // _RWSTD_NO_WCHAR_T return 0; }
svn commit: r596318 - in /incubator/stdcxx/branches/4.2.x/include: deque list.cc rw/_tree.cc vector.cc
Author: faridz Date: Mon Nov 19 06:57:10 2007 New Revision: 596318 URL: http://svn.apache.org/viewvc?rev=596318&view=rev Log: 2007-11-19 Farid Zaripov <[EMAIL PROTECTED]> Merged r596316 from trunk. * deque (_C_bufsize): Use _RWSTD_NEW_CAPACITY macro instead of __rw_new_capacity(). * list.cc (_C_add_buffer): Ditto. * rw/_tree.cc (_C_add_new_buffer): Ditto. * vector.cc (_C_realloc): Ditto. Modified: incubator/stdcxx/branches/4.2.x/include/deque incubator/stdcxx/branches/4.2.x/include/list.cc incubator/stdcxx/branches/4.2.x/include/rw/_tree.cc incubator/stdcxx/branches/4.2.x/include/vector.cc Modified: incubator/stdcxx/branches/4.2.x/include/deque URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/deque?rev=596318&r1=596317&r2=596318&view=diff == --- incubator/stdcxx/branches/4.2.x/include/deque (original) +++ incubator/stdcxx/branches/4.2.x/include/deque Mon Nov 19 06:57:10 2007 @@ -117,7 +117,8 @@ // deque only uses __rw_new_capacity to retrieve the minimum // allocation amount; this may be specialized to provide a // customized minimum amount -return _RW::__rw_new_capacity(0, (const deque<_TypeT, _Allocator>*)0); +typedef deque<_TypeT, _Allocator> _RWDeque; +return _RWSTD_NEW_CAPACITY (_RWDeque, (const _RWDeque*)0, 0); } #ifdef _RWSTDDEBUG @@ -400,7 +401,7 @@ #endif // _RWSTD_NO_DEBUG_ITER size_type _C_vecsize (size_type __nodes) const { -return _RW::__rw_new_capacity (__nodes, this); +return _RWSTD_NEW_CAPACITY (deque, this, __nodes); } static size_type _C_bufsize () { Modified: incubator/stdcxx/branches/4.2.x/include/list.cc URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/list.cc?rev=596318&r1=596317&r2=596318&view=diff == --- incubator/stdcxx/branches/4.2.x/include/list.cc (original) +++ incubator/stdcxx/branches/4.2.x/include/list.cc Mon Nov 19 06:57:10 2007 @@ -79,10 +79,10 @@ if(!__is_list_empty) { if ((void*)_C_buflist) { __next_buffer_size = -_RW::__rw_new_capacity(_C_buflist->_C_bufsize,this); +_RWSTD_NEW_CAPACITY (list, this, _C_buflist->_C_bufsize); } else { -__next_buffer_size = _RW::__rw_new_capacity(0,this); +__next_buffer_size = _RWSTD_NEW_CAPACITY (list, this, 0); } } _C_buf_pointer __tmp = Modified: incubator/stdcxx/branches/4.2.x/include/rw/_tree.cc URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/rw/_tree.cc?rev=596318&r1=596317&r2=596318&view=diff == --- incubator/stdcxx/branches/4.2.x/include/rw/_tree.cc (original) +++ incubator/stdcxx/branches/4.2.x/include/rw/_tree.cc Mon Nov 19 06:57:10 2007 @@ -132,7 +132,7 @@ const size_type __bufsize = _C_buf_ptr_t () == _C_buf_list ? 0 : _C_buf_list->size; -size_type __newsize = __rw_new_capacity (__bufsize, this); +size_type __newsize = _RWSTD_NEW_CAPACITY (__rb_tree, this, __bufsize); if (__newsize <= __bufsize) __newsize = __bufsize + 1; Modified: incubator/stdcxx/branches/4.2.x/include/vector.cc URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/vector.cc?rev=596318&r1=596317&r2=596318&view=diff == --- incubator/stdcxx/branches/4.2.x/include/vector.cc (original) +++ incubator/stdcxx/branches/4.2.x/include/vector.cc Mon Nov 19 06:57:10 2007 @@ -72,8 +72,7 @@ // compute the new capacity from the greater of the current size // and the requested size, but no greater than max_size() -size_type __cap = -size_type (_RW::__rw_new_capacity ((max)(size (), __n), this)); +size_type __cap = _RWSTD_NEW_CAPACITY (vector, this, (max)(size (), __n)); // do not exceed max_size() if (__max_size < __cap)
svn commit: r596316 - in /incubator/stdcxx/trunk/include: deque list.cc rw/_tree.cc vector.cc
Author: faridz Date: Mon Nov 19 06:52:33 2007 New Revision: 596316 URL: http://svn.apache.org/viewvc?rev=596316&view=rev Log: 2007-11-19 Farid Zaripov <[EMAIL PROTECTED]> * deque (_C_bufsize): Use _RWSTD_NEW_CAPACITY macro instead of __rw_new_capacity(). * list.cc (_C_add_buffer): Ditto. * rw/_tree.cc (_C_add_new_buffer): Ditto. * vector.cc (_C_realloc): Ditto. Modified: incubator/stdcxx/trunk/include/deque incubator/stdcxx/trunk/include/list.cc incubator/stdcxx/trunk/include/rw/_tree.cc incubator/stdcxx/trunk/include/vector.cc Modified: incubator/stdcxx/trunk/include/deque URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/deque?rev=596316&r1=596315&r2=596316&view=diff == --- incubator/stdcxx/trunk/include/deque (original) +++ incubator/stdcxx/trunk/include/deque Mon Nov 19 06:52:33 2007 @@ -117,7 +117,8 @@ // deque only uses __rw_new_capacity to retrieve the minimum // allocation amount; this may be specialized to provide a // customized minimum amount -return _RW::__rw_new_capacity(0, (const deque<_TypeT, _Allocator>*)0); +typedef deque<_TypeT, _Allocator> _RWDeque; +return _RWSTD_NEW_CAPACITY (_RWDeque, (const _RWDeque*)0, 0); } #ifdef _RWSTDDEBUG @@ -400,7 +401,7 @@ #endif // _RWSTD_NO_DEBUG_ITER size_type _C_vecsize (size_type __nodes) const { -return _RW::__rw_new_capacity (__nodes, this); +return _RWSTD_NEW_CAPACITY (deque, this, __nodes); } static size_type _C_bufsize () { Modified: incubator/stdcxx/trunk/include/list.cc URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/list.cc?rev=596316&r1=596315&r2=596316&view=diff == --- incubator/stdcxx/trunk/include/list.cc (original) +++ incubator/stdcxx/trunk/include/list.cc Mon Nov 19 06:52:33 2007 @@ -79,10 +79,10 @@ if(!__is_list_empty) { if ((void*)_C_buflist) { __next_buffer_size = -_RW::__rw_new_capacity(_C_buflist->_C_bufsize,this); +_RWSTD_NEW_CAPACITY (list, this, _C_buflist->_C_bufsize); } else { -__next_buffer_size = _RW::__rw_new_capacity(0,this); +__next_buffer_size = _RWSTD_NEW_CAPACITY (list, this, 0); } } _C_buf_pointer __tmp = Modified: incubator/stdcxx/trunk/include/rw/_tree.cc URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/rw/_tree.cc?rev=596316&r1=596315&r2=596316&view=diff == --- incubator/stdcxx/trunk/include/rw/_tree.cc (original) +++ incubator/stdcxx/trunk/include/rw/_tree.cc Mon Nov 19 06:52:33 2007 @@ -132,7 +132,7 @@ const size_type __bufsize = _C_buf_ptr_t () == _C_buf_list ? 0 : _C_buf_list->size; -size_type __newsize = __rw_new_capacity (__bufsize, this); +size_type __newsize = _RWSTD_NEW_CAPACITY (__rb_tree, this, __bufsize); if (__newsize <= __bufsize) __newsize = __bufsize + 1; Modified: incubator/stdcxx/trunk/include/vector.cc URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/vector.cc?rev=596316&r1=596315&r2=596316&view=diff == --- incubator/stdcxx/trunk/include/vector.cc (original) +++ incubator/stdcxx/trunk/include/vector.cc Mon Nov 19 06:52:33 2007 @@ -72,8 +72,7 @@ // compute the new capacity from the greater of the current size // and the requested size, but no greater than max_size() -size_type __cap = -size_type (_RW::__rw_new_capacity ((max)(size (), __n), this)); +size_type __cap = _RWSTD_NEW_CAPACITY (vector, this, (max)(size (), __n)); // do not exceed max_size() if (__max_size < __cap)
svn commit: r595290 - in /incubator/stdcxx/trunk: doc/stdlibug/11-3.html examples/tutorial/icecream.cpp
Author: faridz Date: Thu Nov 15 04:36:20 2007 New Revision: 595290 URL: http://svn.apache.org/viewvc?rev=595290&view=rev Log: 2007-11-15 Farid Zaripov <[EMAIL PROTECTED]> Merged r595289 from branches/4.2.x * examples/tutorial/icecream.cpp: define eventComparator::operator() as a const member. * doc/stdlibug/11-3.html: Ditto. Modified: incubator/stdcxx/trunk/doc/stdlibug/11-3.html incubator/stdcxx/trunk/examples/tutorial/icecream.cpp Modified: incubator/stdcxx/trunk/doc/stdlibug/11-3.html URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/doc/stdlibug/11-3.html?rev=595290&r1=595289&r2=595290&view=diff == --- incubator/stdcxx/trunk/doc/stdlibug/11-3.html (original) +++ incubator/stdcxx/trunk/doc/stdlibug/11-3.html Thu Nov 15 04:36:20 2007 @@ -52,7 +52,7 @@ struct eventComparator { - bool operator() (const event * left, const event * right) { + bool operator() (const event * left, const event * right) const { return left->time > right->time; } }; Modified: incubator/stdcxx/trunk/examples/tutorial/icecream.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/examples/tutorial/icecream.cpp?rev=595290&r1=595289&r2=595290&view=diff == --- incubator/stdcxx/trunk/examples/tutorial/icecream.cpp (original) +++ incubator/stdcxx/trunk/examples/tutorial/icecream.cpp Thu Nov 15 04:36:20 2007 @@ -48,7 +48,7 @@ }; struct eventComparator { -bool operator() (const event * left, const event * right) { +bool operator() (const event * left, const event * right) const { return left->time > right->time; } };
svn commit: r595289 - in /incubator/stdcxx/branches/4.2.x: doc/stdlibug/11-3.html examples/tutorial/icecream.cpp
Author: faridz Date: Thu Nov 15 04:34:31 2007 New Revision: 595289 URL: http://svn.apache.org/viewvc?rev=595289&view=rev Log: 2007-11-15 Farid Zaripov <[EMAIL PROTECTED]> * examples/tutorial/icecream.cpp: define eventComparator::operator() as a const member. * doc/stdlibug/11-3.html: Ditto. Modified: incubator/stdcxx/branches/4.2.x/doc/stdlibug/11-3.html incubator/stdcxx/branches/4.2.x/examples/tutorial/icecream.cpp Modified: incubator/stdcxx/branches/4.2.x/doc/stdlibug/11-3.html URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/doc/stdlibug/11-3.html?rev=595289&r1=595288&r2=595289&view=diff == --- incubator/stdcxx/branches/4.2.x/doc/stdlibug/11-3.html (original) +++ incubator/stdcxx/branches/4.2.x/doc/stdlibug/11-3.html Thu Nov 15 04:34:31 2007 @@ -52,7 +52,7 @@ struct eventComparator { - bool operator() (const event * left, const event * right) { + bool operator() (const event * left, const event * right) const { return left->time > right->time; } }; Modified: incubator/stdcxx/branches/4.2.x/examples/tutorial/icecream.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/examples/tutorial/icecream.cpp?rev=595289&r1=595288&r2=595289&view=diff == --- incubator/stdcxx/branches/4.2.x/examples/tutorial/icecream.cpp (original) +++ incubator/stdcxx/branches/4.2.x/examples/tutorial/icecream.cpp Thu Nov 15 04:34:31 2007 @@ -48,7 +48,7 @@ }; struct eventComparator { -bool operator() (const event * left, const event * right) { +bool operator() (const event * left, const event * right) const { return left->time > right->time; } };
svn commit: r594970 - in /incubator/stdcxx/trunk: doc/stdlibug/11-3.html examples/tutorial/icecream.cpp examples/tutorial/out/icecream.out
Author: faridz Date: Wed Nov 14 09:43:17 2007 New Revision: 594970 URL: http://svn.apache.org/viewvc?rev=594970&view=rev Log: 2007-11-14 Farid Zaripov <[EMAIL PROTECTED]> Merged r594966 from branches/4.2.x with a fix for STDCXX-661 * examples/tutorial/icecream.cpp (class event): Removed unused operator>(). (eventComparator): Defined as separate struct instead of typedef std::greater<>. * examples/tutorial/out/icecream.out: Updated .out file to reflect the changes above. Merged r594967 from branches/4.2.x * doc/stdlibug/11-3.html: Updated example source according to changes in r594966. Modified: incubator/stdcxx/trunk/doc/stdlibug/11-3.html incubator/stdcxx/trunk/examples/tutorial/icecream.cpp incubator/stdcxx/trunk/examples/tutorial/out/icecream.out Modified: incubator/stdcxx/trunk/doc/stdlibug/11-3.html URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/doc/stdlibug/11-3.html?rev=594970&r1=594969&r2=594970&view=diff == --- incubator/stdcxx/trunk/doc/stdlibug/11-3.html (original) +++ incubator/stdcxx/trunk/doc/stdlibug/11-3.html Wed Nov 14 09:43:17 2007 @@ -51,8 +51,8 @@ Since comparison of pointers cannot be specialized on the basis of the pointer types, we must instead define a new comparison function for pointers to events. In the C++ Standard Library we do this by defining a new structure whose sole purpose is to define the function invocation operator()() in the appropriate fashion. Since in this particular example we want to use the priority_queue to return the smallest element each time, rather than the largest, the order of the comparison is reversed, as follows: -struct eventComparison { - bool operator () (const event * left, const event * right) { +struct eventComparator { + bool operator() (const event * left, const event * right) { return left->time > right->time; } }; @@ -74,9 +74,8 @@ unsigned int time; protected: std::priority_queue<event*, - std::vector<event *, - std::allocator<event*> >, - eventComparison> eventQueue; + std::vector<event *, std::allocator<event*> >, + eventComparator> eventQueue; }; Notice the declaration of the priority_queue used to hold the pending events. In this case we are using a vector as the underlying container, but we could just as easily have used a deque. @@ -104,8 +103,8 @@ class storeSimulation : public simulation { public: - storeSimulation () : simulation (), - freeChairs (35), profit (0.0) { } + storeSimulation () : simulation (), freeChairs (35), profit (0.0) +{ } bool canSeat (unsigned int numberOfPeople); void order (unsigned int numberOfScoops); void leave (unsigned int numberOfPeople); @@ -121,16 +120,15 @@ bool storeSimulation::canSeat (unsigned int numberOfPeople) { std::cout << "Time: " << time; - std::cout << " group of " << numberOfPeople -<< " customers arrives"; + std::cout << " group of " << numberOfPeople << " customers arrives"; if (numberOfPeople < freeChairs) { -std::cout << " is seated" << std::endl; +std::cout << " is seated\n"; freeChairs -= numberOfPeople; return true; } else { -std::cout << " no room, they leave" << std::endl; +std::cout << " no room, they leave\n"; return false; } } @@ -138,17 +136,16 @@ void storeSimulation::order (unsigned int numberOfScoops) { std::cout << "Time: " << time << " serviced order for " -<< numberOfScoops << std::endl; +<< numberOfScoops << '\n'; profit += 0.35 * numberOfScoops; } void storeSimulation::leave (unsigned int numberOfPeople) { std::cout << "Time: " << time << " group of size " -<< numberOfPeople << " leaves" << std::endl; +<< numberOfPeople << " leaves\n"; freeChairs += numberOfPeople; } - As we noted already, each activity is matched by a subclass of event. Each subclass of event includes an integer data member, which represents the size of a group of customers. The arrival event occurs when a group enters. When executed, the arrival event creates and installs a new instance of the order event. The function randomInteger() is used to compute a random integer between 1 and the argument value (see Section 2.2.5). @@ -165,6 +162,7 @@ }; void arriveE
svn commit: r594967 - /incubator/stdcxx/branches/4.2.x/doc/stdlibug/11-3.html
Author: faridz Date: Wed Nov 14 09:35:49 2007 New Revision: 594967 URL: http://svn.apache.org/viewvc?rev=594967&view=rev Log: 2007-11-14 Farid Zaripov <[EMAIL PROTECTED]> * stdlibug/11-3.html: Updated example source according to changes in r594966. Modified: incubator/stdcxx/branches/4.2.x/doc/stdlibug/11-3.html Modified: incubator/stdcxx/branches/4.2.x/doc/stdlibug/11-3.html URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/doc/stdlibug/11-3.html?rev=594967&r1=594966&r2=594967&view=diff == --- incubator/stdcxx/branches/4.2.x/doc/stdlibug/11-3.html (original) +++ incubator/stdcxx/branches/4.2.x/doc/stdlibug/11-3.html Wed Nov 14 09:35:49 2007 @@ -51,8 +51,8 @@ Since comparison of pointers cannot be specialized on the basis of the pointer types, we must instead define a new comparison function for pointers to events. In the C++ Standard Library we do this by defining a new structure whose sole purpose is to define the function invocation operator()() in the appropriate fashion. Since in this particular example we want to use the priority_queue to return the smallest element each time, rather than the largest, the order of the comparison is reversed, as follows: -struct eventComparison { - bool operator () (const event * left, const event * right) { +struct eventComparator { + bool operator() (const event * left, const event * right) { return left->time > right->time; } }; @@ -74,9 +74,8 @@ unsigned int time; protected: std::priority_queue<event*, - std::vector<event *, - std::allocator<event*> >, - eventComparison> eventQueue; + std::vector<event *, std::allocator<event*> >, + eventComparator> eventQueue; }; Notice the declaration of the priority_queue used to hold the pending events. In this case we are using a vector as the underlying container, but we could just as easily have used a deque. @@ -104,8 +103,8 @@ class storeSimulation : public simulation { public: - storeSimulation () : simulation (), - freeChairs (35), profit (0.0) { } + storeSimulation () : simulation (), freeChairs (35), profit (0.0) +{ } bool canSeat (unsigned int numberOfPeople); void order (unsigned int numberOfScoops); void leave (unsigned int numberOfPeople); @@ -121,16 +120,15 @@ bool storeSimulation::canSeat (unsigned int numberOfPeople) { std::cout << "Time: " << time; - std::cout << " group of " << numberOfPeople -<< " customers arrives"; + std::cout << " group of " << numberOfPeople << " customers arrives"; if (numberOfPeople < freeChairs) { -std::cout << " is seated" << std::endl; +std::cout << " is seated\n"; freeChairs -= numberOfPeople; return true; } else { -std::cout << " no room, they leave" << std::endl; +std::cout << " no room, they leave\n"; return false; } } @@ -138,17 +136,16 @@ void storeSimulation::order (unsigned int numberOfScoops) { std::cout << "Time: " << time << " serviced order for " -<< numberOfScoops << std::endl; +<< numberOfScoops << '\n'; profit += 0.35 * numberOfScoops; } void storeSimulation::leave (unsigned int numberOfPeople) { std::cout << "Time: " << time << " group of size " -<< numberOfPeople << " leaves" << std::endl; +<< numberOfPeople << " leaves\n"; freeChairs += numberOfPeople; } - As we noted already, each activity is matched by a subclass of event. Each subclass of event includes an integer data member, which represents the size of a group of customers. The arrival event occurs when a group enters. When executed, the arrival event creates and installs a new instance of the order event. The function randomInteger() is used to compute a random integer between 1 and the argument value (see Section 2.2.5). @@ -165,6 +162,7 @@ }; void arriveEvent::processEvent () { + if (theSimulation.canSeat (size)) theSimulation.scheduleEvent (new orderEvent (time + 1 + irand (4), size)); @@ -210,6 +208,7 @@ }; void leaveEvent::processEvent () { + theSimulation.leave (size); } @@ -218,24 +217,20 @@ int main () { - std::cout << "Ice Cream Store simulation from Chapter 9" -<< std::endl; + std::cout << "Ice Cream Store simulation from Chapter 9\n";
svn commit: r594966 - in /incubator/stdcxx/branches/4.2.x/examples/tutorial: icecream.cpp out/icecream.out
Author: faridz Date: Wed Nov 14 09:34:27 2007 New Revision: 594966 URL: http://svn.apache.org/viewvc?rev=594966&view=rev Log: 2007-11-14 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-661 * tutorial/icecream.cpp (class event): Removed unused operator>(). (eventComparator): Defined as separate struct instead of typedef std::greater<>. * tutorial/out/icecream.out: Updated .out file to reflect the changes above. Modified: incubator/stdcxx/branches/4.2.x/examples/tutorial/icecream.cpp incubator/stdcxx/branches/4.2.x/examples/tutorial/out/icecream.out Modified: incubator/stdcxx/branches/4.2.x/examples/tutorial/icecream.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/examples/tutorial/icecream.cpp?rev=594966&r1=594965&r2=594966&view=diff == --- incubator/stdcxx/branches/4.2.x/examples/tutorial/icecream.cpp (original) +++ incubator/stdcxx/branches/4.2.x/examples/tutorial/icecream.cpp Wed Nov 14 09:34:27 2007 @@ -41,16 +41,17 @@ event (unsigned int t) : time (t) { } -// Execute event my invoking this method. +// Execute event by invoking this method. virtual void processEvent () = 0; -bool operator> ( const event* evt_ ) { -return time > evt_->time; -} const unsigned int time; }; -typedef std::greater eventComparator; +struct eventComparator { +bool operator() (const event * left, const event * right) { +return left->time > right->time; +} +}; // Framework for discrete event-driven simulations. @@ -66,14 +67,14 @@ protected: std::priority_queue >, -eventComparator > eventQueue; +eventComparator> eventQueue; }; void simulation::run () { - + while (! eventQueue.empty ()) { - + event * nextEvent = eventQueue.top (); eventQueue.pop (); time = nextEvent->time; @@ -147,7 +148,7 @@ void arriveEvent::processEvent () { - + if (theSimulation.canSeat (size)) theSimulation.scheduleEvent (new orderEvent (time + 1 + irand (4), size)); @@ -155,7 +156,7 @@ void orderEvent::processEvent () { - + // Each person orders some number of scoops. for (unsigned int i = 0; i < size; i++) theSimulation.order (1 + irand (4)); @@ -174,7 +175,7 @@ // If sufficient room then seat customers. bool storeSimulation::canSeat (unsigned int numberOfPeople) { - + std::cout << "Time: " << time; std::cout << " group of " << numberOfPeople << " customers arrives"; @@ -192,7 +193,7 @@ // Service icecream, compute profits. void storeSimulation::order (unsigned int numberOfScoops) { - + std::cout << "Time: " << time << " serviced order for " << numberOfScoops << '\n'; profit += 0.35 * numberOfScoops; @@ -201,7 +202,7 @@ // People leave, free up chairs. void storeSimulation::leave (unsigned int numberOfPeople) { - + std::cout << "Time: " << time << " group of size " << numberOfPeople << " leaves\n"; freeChairs += numberOfPeople; @@ -209,7 +210,7 @@ int main () { - + std::cout << "Ice Cream Store simulation from Chapter 9\n"; // Load queue with some number of initial events. Modified: incubator/stdcxx/branches/4.2.x/examples/tutorial/out/icecream.out URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/examples/tutorial/out/icecream.out?rev=594966&r1=594965&r2=594966&view=diff == --- incubator/stdcxx/branches/4.2.x/examples/tutorial/out/icecream.out (original) +++ incubator/stdcxx/branches/4.2.x/examples/tutorial/out/icecream.out Wed Nov 14 09:34:27 2007 @@ -11,46 +11,46 @@ pumping queue with event 17 Time: 0 group of 2 customers arrives is seated Time: 0 group of 4 customers arrives is seated -Time: 3 serviced order for 3 +Time: 2 group of 3 customers arrives is seated Time: 3 serviced order for 4 Time: 3 serviced order for 1 Time: 3 serviced order for 1 -Time: 10 group of size 4 leaves -Time: 2 group of 3 customers arrives is seated -Time: 5 serviced order for 4 +Time: 3 serviced order for 3 +Time: 4 serviced order for 4 +Time: 4 serviced order for 1 +Time: 4 group of size 4 leaves +Time: 5 serviced order for 2 Time: 5 serviced order for 1 Time: 5 serviced order for 3 -Time: 13 group of size 3 leaves Time: 7 group of 1 customers arrives is seated -Time: 8 serviced order for 3 -Time: 10 group of size 1 leaves +Time: 7 group of size 2 leaves +Time: 7 group of size 3 leaves Time: 8 group of 3 cu
svn propchange: r594281 - svn:log
Author: faridz Revision: 594281 Modified property: svn:log Modified: svn:log at Mon Nov 12 12:17:35 2007 -- --- svn:log (original) +++ svn:log Mon Nov 12 12:17:35 2007 @@ -1,3 +1,3 @@ 2007-11-12 Farid Zaripov <[EMAIL PROTECTED]> - * locale.cpp [_WIN32]: Added missing space in LC_1 command. + * locale.cpp [_WIN32]: Added missing space in LS_1 command.
svn commit: r594283 - /incubator/stdcxx/trunk/util/locale.cpp
Author: faridz Date: Mon Nov 12 12:17:15 2007 New Revision: 594283 URL: http://svn.apache.org/viewvc?rev=594283&view=rev Log: 2007-11-12 Farid Zaripov <[EMAIL PROTECTED]> Merged r594281 from branches/4.2.x * locale.cpp [_WIN32]: Added missing space in LS_1 command. Modified: incubator/stdcxx/trunk/util/locale.cpp Modified: incubator/stdcxx/trunk/util/locale.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/locale.cpp?rev=594283&r1=594282&r2=594283&view=diff == --- incubator/stdcxx/trunk/util/locale.cpp (original) +++ incubator/stdcxx/trunk/util/locale.cpp Mon Nov 12 12:17:15 2007 @@ -39,7 +39,7 @@ # define LS_1 "ls -1 " #else # define SLASH "\\" -# define LS_1 "dir /B /A:D" +# define LS_1 "dir /B /A:D " #endif #ifndef _MSC_VER
svn commit: r594281 - /incubator/stdcxx/branches/4.2.x/util/locale.cpp
Author: faridz Date: Mon Nov 12 12:14:57 2007 New Revision: 594281 URL: http://svn.apache.org/viewvc?rev=594281&view=rev Log: 2007-11-12 Farid Zaripov <[EMAIL PROTECTED]> * locale.cpp [_WIN32]: Added missing space in LC_1 command. Modified: incubator/stdcxx/branches/4.2.x/util/locale.cpp Modified: incubator/stdcxx/branches/4.2.x/util/locale.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/util/locale.cpp?rev=594281&r1=594280&r2=594281&view=diff == --- incubator/stdcxx/branches/4.2.x/util/locale.cpp (original) +++ incubator/stdcxx/branches/4.2.x/util/locale.cpp Mon Nov 12 12:14:57 2007 @@ -39,7 +39,7 @@ # define LS_1 "ls -1 " #else # define SLASH "\\" -# define LS_1 "dir /B /A:D" +# define LS_1 "dir /B /A:D " #endif #ifndef _MSC_VER
svn propchange: r587887 - svn:log
Author: faridz Revision: 587887 Modified property: svn:log Modified: svn:log at Mon Nov 12 06:42:36 2007 -- --- svn:log (original) +++ svn:log Mon Nov 12 06:42:36 2007 @@ -1,6 +1,6 @@ 2007-10-24 Farid Zaripov <[EMAIL PROTECTED]> - Merged r587886 from branches/4.2.x with a fix fot STDCXX-584 + Merged r587886 from branches/4.2.x with a fix for STDCXX-584 * 18.exception.cpp (test_throw_proc): Deallocate exception description string passed to user throw proc to avoid memory leak.
svn commit: r594135 - /incubator/stdcxx/trunk/tests/intro/17.names.cpp
Author: faridz Date: Mon Nov 12 05:51:26 2007 New Revision: 594135 URL: http://svn.apache.org/viewvc?rev=594135&view=rev Log: 2007-11-12 Farid Zaripov <[EMAIL PROTECTED]> Merged r594132 from branches/4.2.x with a fix for STDCXX-662 * 17.names.cpp [_WIN32 && 1400 <= _MSC_VER]: Added #include because it will be included by the library. Modified: incubator/stdcxx/trunk/tests/intro/17.names.cpp Modified: incubator/stdcxx/trunk/tests/intro/17.names.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/intro/17.names.cpp?rev=594135&r1=594134&r2=594135&view=diff == --- incubator/stdcxx/trunk/tests/intro/17.names.cpp (original) +++ incubator/stdcxx/trunk/tests/intro/17.names.cpp Mon Nov 12 05:51:26 2007 @@ -96,8 +96,11 @@ # else #include # endif -#elif defined (_WIN32) || defined (_WIN32) +#elif defined (_WIN32) # include +# if defined (_MSC_VER) && 1400 <= _MSC_VER +#include +# endif // 1400 <= _MSC_VER #endif
svn commit: r594132 - /incubator/stdcxx/branches/4.2.x/tests/intro/17.names.cpp
Author: faridz Date: Mon Nov 12 05:49:37 2007 New Revision: 594132 URL: http://svn.apache.org/viewvc?rev=594132&view=rev Log: 2007-11-12 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-662 * 17.names.cpp [_WIN32 && 1400 <= _MSC_VER]: Added #include because it will be included by the library. Modified: incubator/stdcxx/branches/4.2.x/tests/intro/17.names.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/intro/17.names.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/intro/17.names.cpp?rev=594132&r1=594131&r2=594132&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/intro/17.names.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/intro/17.names.cpp Mon Nov 12 05:49:37 2007 @@ -96,8 +96,11 @@ # else #include # endif -#elif defined (_WIN32) || defined (_WIN32) +#elif defined (_WIN32) # include +# if defined (_MSC_VER) && 1400 <= _MSC_VER +#include +# endif // 1400 <= _MSC_VER #endif
svn commit: r593596 - /incubator/stdcxx/trunk/tests/localization/22.locale.moneypunct.cpp
Author: faridz Date: Fri Nov 9 09:26:11 2007 New Revision: 593596 URL: http://svn.apache.org/viewvc?rev=593596&view=rev Log: 2007-11-09 Farid Zaripov <[EMAIL PROTECTED]> Merged r593595 from branches/4.2.x with a fix for STDCXX-659 * 22.locale.moneypunct.cpp (check_moneypunct): Set all categories instead setting the only monetary category. Modified: incubator/stdcxx/trunk/tests/localization/22.locale.moneypunct.cpp Modified: incubator/stdcxx/trunk/tests/localization/22.locale.moneypunct.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/localization/22.locale.moneypunct.cpp?rev=593596&r1=593595&r2=593596&view=diff == --- incubator/stdcxx/trunk/tests/localization/22.locale.moneypunct.cpp (original) +++ incubator/stdcxx/trunk/tests/localization/22.locale.moneypunct.cpp Fri Nov 9 09:26:11 2007 @@ -339,7 +339,7 @@ { // (try to) set the global C locale char locnamebuf [256]; -const char *loc = std::setlocale (LC_MONETARY, locname); +const char *loc = std::setlocale (LC_ALL, locname); if (!loc) return false; @@ -369,7 +369,7 @@ return false; // reset to default locale given by LC_LANG -std::setlocale (LC_MONETARY, ""); +std::setlocale (LC_ALL, ""); // create a new C++ locale object loc_ = std::locale (locname);
svn commit: r593595 - /incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp
Author: faridz Date: Fri Nov 9 09:24:13 2007 New Revision: 593595 URL: http://svn.apache.org/viewvc?rev=593595&view=rev Log: 2007-11-09 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-659 * 22.locale.moneypunct.cpp (check_moneypunct): Set all categories instead setting the only monetary category. Modified: incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp?rev=593595&r1=593594&r2=593595&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp Fri Nov 9 09:24:13 2007 @@ -339,7 +339,7 @@ { // (try to) set the global C locale char locnamebuf [256]; -const char *loc = std::setlocale (LC_MONETARY, locname); +const char *loc = std::setlocale (LC_ALL, locname); if (!loc) return false; @@ -369,7 +369,7 @@ return false; // reset to default locale given by LC_LANG -std::setlocale (LC_MONETARY, ""); +std::setlocale (LC_ALL, ""); // create a new C++ locale object loc_ = std::locale (locname);
svn commit: r593532 - /incubator/stdcxx/trunk/tests/iostream/27.istream.fmat.arith.cpp
Author: faridz Date: Fri Nov 9 06:15:47 2007 New Revision: 593532 URL: http://svn.apache.org/viewvc?rev=593532&view=rev Log: 2007-11-09 Farid Zaripov <[EMAIL PROTECTED]> Merged r593529 from branches/4.2.x with a fix for STDCXX-658 * 27.istream.fmat.arith.cpp (test_llong): Corrected typename "long" to "long long". (test_ullong): Corrected typename "long long" to "unsigned long long". Modified: incubator/stdcxx/trunk/tests/iostream/27.istream.fmat.arith.cpp Modified: incubator/stdcxx/trunk/tests/iostream/27.istream.fmat.arith.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/iostream/27.istream.fmat.arith.cpp?rev=593532&r1=593531&r2=593532&view=diff == --- incubator/stdcxx/trunk/tests/iostream/27.istream.fmat.arith.cpp (original) +++ incubator/stdcxx/trunk/tests/iostream/27.istream.fmat.arith.cpp Fri Nov 9 06:15:47 2007 @@ -1025,8 +1025,8 @@ { info (cname, tname, "long long"); -test_extractor ((CharT*)0, (Traits*)0, (long*)0, -cname, tname, "long", "%lli"); +test_extractor ((CharT*)0, (Traits*)0, (long long*)0, +cname, tname, "long long", "%lli"); #define TEST_LLONG(ss, fl, is, ex, ee, es, ne, fw, iv, ev) \ TEST (long long, "%lli", ss, fl, is, ex, ee, es, ne, fw, iv, ev) @@ -1082,10 +1082,10 @@ info (cname, tname, "unsigned long long"); test_extractor ((CharT*)0, (Traits*)0, (unsigned long long*)0, - cname, tname, "unsigned long long", "%llu"); +cname, tname, "unsigned long long", "%llu"); #define TEST_ULLONG(ss, fl, is, ex, ee, es, ne, fw, iv, ev) \ -TEST (long long, "%llu", ss, fl, is, ex, ee, es, ne, fw, iv, ev) +TEST (unsigned long long, "%llu", ss, fl, is, ex, ee, es, ne, fw, iv, ev) LocaleData locale_data = { 0, -1, -1, 0, 0, 0 }; locale_data.whitespace = "";
svn propchange: r593529 - svn:log
Author: faridz Revision: 593529 Modified property: svn:log Modified: svn:log at Fri Nov 9 06:14:39 2007 -- --- svn:log (original) +++ svn:log Fri Nov 9 06:14:39 2007 @@ -1,5 +1,6 @@ 2007-11-09 Farid Zaripov <[EMAIL PROTECTED]> + STDCXX-658 * 27.istream.fmat.arith.cpp (test_llong): Corrected typename "long" to "long long". (test_ullong): Corrected typename "long long" to "unsigned long long".
svn commit: r593529 - /incubator/stdcxx/branches/4.2.x/tests/iostream/27.istream.fmat.arith.cpp
Author: faridz Date: Fri Nov 9 06:06:15 2007 New Revision: 593529 URL: http://svn.apache.org/viewvc?rev=593529&view=rev Log: 2007-11-09 Farid Zaripov <[EMAIL PROTECTED]> * 27.istream.fmat.arith.cpp (test_llong): Corrected typename "long" to "long long". (test_ullong): Corrected typename "long long" to "unsigned long long". Modified: incubator/stdcxx/branches/4.2.x/tests/iostream/27.istream.fmat.arith.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/iostream/27.istream.fmat.arith.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/iostream/27.istream.fmat.arith.cpp?rev=593529&r1=593528&r2=593529&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/iostream/27.istream.fmat.arith.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/iostream/27.istream.fmat.arith.cpp Fri Nov 9 06:06:15 2007 @@ -1025,8 +1025,8 @@ { info (cname, tname, "long long"); -test_extractor ((CharT*)0, (Traits*)0, (long*)0, -cname, tname, "long", "%lli"); +test_extractor ((CharT*)0, (Traits*)0, (long long*)0, +cname, tname, "long long", "%lli"); #define TEST_LLONG(ss, fl, is, ex, ee, es, ne, fw, iv, ev) \ TEST (long long, "%lli", ss, fl, is, ex, ee, es, ne, fw, iv, ev) @@ -1082,10 +1082,10 @@ info (cname, tname, "unsigned long long"); test_extractor ((CharT*)0, (Traits*)0, (unsigned long long*)0, - cname, tname, "unsigned long long", "%llu"); +cname, tname, "unsigned long long", "%llu"); #define TEST_ULLONG(ss, fl, is, ex, ee, es, ne, fw, iv, ev) \ -TEST (long long, "%llu", ss, fl, is, ex, ee, es, ne, fw, iv, ev) +TEST (unsigned long long, "%llu", ss, fl, is, ex, ee, es, ne, fw, iv, ev) LocaleData locale_data = { 0, -1, -1, 0, 0, 0 }; locale_data.whitespace = "";
svn commit: r593228 - /incubator/stdcxx/trunk/util/exec.cpp
Author: faridz Date: Thu Nov 8 09:01:25 2007 New Revision: 593228 URL: http://svn.apache.org/viewvc?rev=593228&view=rev Log: 2007-11-08 Farid Zaripov <[EMAIL PROTECTED]> Merged r593227 from branches/4.2.x * exec.cpp [_WIN32]: Added STATUS_HEAP_CORRUPTION to the nt_status_map (detected on Vista). Modified: incubator/stdcxx/trunk/util/exec.cpp Modified: incubator/stdcxx/trunk/util/exec.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/exec.cpp?rev=593228&r1=593227&r2=593228&view=diff == --- incubator/stdcxx/trunk/util/exec.cpp (original) +++ incubator/stdcxx/trunk/util/exec.cpp Thu Nov 8 09:01:25 2007 @@ -64,6 +64,9 @@ # ifndef STATUS_INVALID_PARAMETER #define STATUS_INVALID_PARAMETER ((DWORD)0xC00DL) # endif +# ifndef STATUS_HEAP_CORRUPTION +#define STATUS_HEAP_CORRUPTION((DWORD)0xC374L) +# endif # ifndef STATUS_STACK_BUFFER_OVERRUN #define STATUS_STACK_BUFFER_OVERRUN ((DWORD)0xC409L) # endif @@ -906,6 +909,7 @@ { STATUS_BREAKPOINT, SIGTRAP }, { STATUS_ACCESS_VIOLATION, SIGSEGV }, { STATUS_STACK_OVERFLOW, SIGSEGV }, +{ STATUS_HEAP_CORRUPTION,SIGSEGV }, { STATUS_STACK_BUFFER_OVERRUN, SIGSEGV }, { STATUS_IN_PAGE_ERROR, SIGBUS}, { STATUS_ILLEGAL_INSTRUCTION,SIGILL},
svn commit: r593227 - /incubator/stdcxx/branches/4.2.x/util/exec.cpp
Author: faridz Date: Thu Nov 8 08:58:18 2007 New Revision: 593227 URL: http://svn.apache.org/viewvc?rev=593227&view=rev Log: 2007-11-08 Farid Zaripov <[EMAIL PROTECTED]> * exec.cpp [_WIN32]: Added STATUS_HEAP_CORRUPTION to the nt_status_map (detected on Vista). Modified: incubator/stdcxx/branches/4.2.x/util/exec.cpp Modified: incubator/stdcxx/branches/4.2.x/util/exec.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/util/exec.cpp?rev=593227&r1=593226&r2=593227&view=diff == --- incubator/stdcxx/branches/4.2.x/util/exec.cpp (original) +++ incubator/stdcxx/branches/4.2.x/util/exec.cpp Thu Nov 8 08:58:18 2007 @@ -64,6 +64,9 @@ # ifndef STATUS_INVALID_PARAMETER #define STATUS_INVALID_PARAMETER ((DWORD)0xC00DL) # endif +# ifndef STATUS_HEAP_CORRUPTION +#define STATUS_HEAP_CORRUPTION((DWORD)0xC374L) +# endif # ifndef STATUS_STACK_BUFFER_OVERRUN #define STATUS_STACK_BUFFER_OVERRUN ((DWORD)0xC409L) # endif @@ -906,6 +909,7 @@ { STATUS_BREAKPOINT, SIGTRAP }, { STATUS_ACCESS_VIOLATION, SIGSEGV }, { STATUS_STACK_OVERFLOW, SIGSEGV }, +{ STATUS_HEAP_CORRUPTION,SIGSEGV }, { STATUS_STACK_BUFFER_OVERRUN, SIGSEGV }, { STATUS_IN_PAGE_ERROR, SIGBUS}, { STATUS_ILLEGAL_INSTRUCTION,SIGILL},
svn commit: r591332 - /incubator/stdcxx/trunk/etc/config/windows/build.wsf
Author: faridz Date: Fri Nov 2 07:01:09 2007 New Revision: 591332 URL: http://svn.apache.org/viewvc?rev=591332&view=rev Log: 2007-11-02 Farid Zaripov <[EMAIL PROTECTED]> Merged r591331 from branches/4.2.x * build.wsf (build): The order of running examples, tests and locales on Windows arranged to the order of running on UNIX (locales, tests, examples). Modified: incubator/stdcxx/trunk/etc/config/windows/build.wsf Modified: incubator/stdcxx/trunk/etc/config/windows/build.wsf URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/windows/build.wsf?rev=591332&r1=591331&r2=591332&view=diff == --- incubator/stdcxx/trunk/etc/config/windows/build.wsf (original) +++ incubator/stdcxx/trunk/etc/config/windows/build.wsf Fri Nov 2 07:01:09 2007 @@ -439,8 +439,11 @@ if (buildOnly) break; -TimeEcho("Running examples...\n"); -BuildProject(solutionBuild, ".stdcxx_runexamples"); +if (0 >= resUtils) +{ +TimeEcho("Running locales tests..."); +BuildProject(solutionBuild, ".stdcxx_testlocales"); +} if (runTests) { @@ -448,14 +451,8 @@ BuildProject(solutionBuild, ".stdcxx_runtests"); } -if (0 < resUtils) -{ -retCode = 6; -break; -} - -TimeEcho("Running locales tests..."); -BuildProject(solutionBuild, ".stdcxx_testlocales"); +TimeEcho("Running examples...\n"); +BuildProject(solutionBuild, ".stdcxx_runexamples"); } while (false);
svn commit: r591331 - /incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf
Author: faridz Date: Fri Nov 2 06:59:07 2007 New Revision: 591331 URL: http://svn.apache.org/viewvc?rev=591331&view=rev Log: 2007-11-02 Farid Zaripov <[EMAIL PROTECTED]> * build.wsf (build): The order of running examples, tests and locales on Windows arranged to the order of running on UNIX (locales, tests, examples). Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf?rev=591331&r1=591330&r2=591331&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf Fri Nov 2 06:59:07 2007 @@ -439,8 +439,11 @@ if (buildOnly) break; -TimeEcho("Running examples...\n"); -BuildProject(solutionBuild, ".stdcxx_runexamples"); +if (0 >= resUtils) +{ +TimeEcho("Running locales tests..."); +BuildProject(solutionBuild, ".stdcxx_testlocales"); +} if (runTests) { @@ -448,14 +451,8 @@ BuildProject(solutionBuild, ".stdcxx_runtests"); } -if (0 < resUtils) -{ -retCode = 6; -break; -} - -TimeEcho("Running locales tests..."); -BuildProject(solutionBuild, ".stdcxx_testlocales"); +TimeEcho("Running examples...\n"); +BuildProject(solutionBuild, ".stdcxx_runexamples"); } while (false);
svn commit: r591131 - /incubator/stdcxx/trunk/tests/algorithms/25.random.shuffle.cpp
Author: faridz Date: Thu Nov 1 12:15:55 2007 New Revision: 591131 URL: http://svn.apache.org/viewvc?rev=591131&view=rev Log: 2007-11-01 Farid Zaripov <[EMAIL PROTECTED]> Merged r591129 from branches/4.2.x with a fix for STDCXX-634 * 25.random.shuffle.cpp (test_random_shuffle): Corrected data in the result array. Modified: incubator/stdcxx/trunk/tests/algorithms/25.random.shuffle.cpp Modified: incubator/stdcxx/trunk/tests/algorithms/25.random.shuffle.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/algorithms/25.random.shuffle.cpp?rev=591131&r1=591130&r2=591131&view=diff == --- incubator/stdcxx/trunk/tests/algorithms/25.random.shuffle.cpp (original) +++ incubator/stdcxx/trunk/tests/algorithms/25.random.shuffle.cpp Thu Nov 1 12:15:55 2007 @@ -272,38 +272,38 @@ std::random_shuffle (array, array + sizeof array / sizeof *array); const int result[] = { -0xad, 0x19, 0xcf, 0xa7, 0x40, 0xbc, 0x66, 0x42, -0xfb, 0xf4, 0xa6, 0x34, 0xce, 0xfe, 0xb9, 0xbe, -0x48, 0xff, 0xc5, 0xcc, 0x2d, 0x08, 0xe3, 0x3e, -0x29, 0xba, 0x1d, 0xb0, 0x6b, 0x07, 0x35, 0x1f, -0x30, 0xc3, 0x32, 0xc1, 0x70, 0xac, 0x50, 0x33, -0x5f, 0x49, 0x2f, 0x0f, 0x53, 0x05, 0xf0, 0xb6, -0x9d, 0xd9, 0x0c, 0xe5, 0x63, 0xf7, 0x8e, 0xd7, -0xb2, 0x13, 0x22, 0x69, 0x06, 0x02, 0xbf, 0x89, -0x82, 0x8f, 0x6e, 0x6c, 0xb4, 0xc0, 0xc4, 0xf2, -0x1b, 0x94, 0xfc, 0xe2, 0xd4, 0xf9, 0x0a, 0x5a, -0x10, 0x09, 0xe7, 0x9a, 0x6d, 0xa9, 0x75, 0xcd, -0x28, 0x2a, 0xae, 0x15, 0xbb, 0x62, 0x1e, 0xeb, -0x26, 0x90, 0x7e, 0xa3, 0x7f, 0x59, 0xfd, 0xde, -0x2b, 0x85, 0x74, 0x16, 0x45, 0x4c, 0xaa, 0x78, -0xf3, 0x01, 0x9f, 0x5c, 0x8c, 0x71, 0x0e, 0xe4, -0x86, 0xca, 0x11, 0x54, 0xa8, 0xd0, 0x1c, 0x96, -0xdc, 0xd1, 0x3c, 0xf6, 0xe1, 0x9e, 0x41, 0xa5, -0x27, 0x31, 0xa4, 0x4d, 0x57, 0x55, 0x7d, 0x0b, -0xc7, 0xd3, 0x6f, 0x84, 0x61, 0x25, 0xb7, 0xdd, -0x36, 0x58, 0x2e, 0xe6, 0x95, 0xa1, 0x39, 0x88, -0xf5, 0xfa, 0x91, 0x60, 0x83, 0xab, 0x38, 0xe0, -0xb5, 0x24, 0xed, 0x47, 0xea, 0x56, 0xa2, 0x68, -0xf1, 0x77, 0x3d, 0x97, 0xc6, 0x21, 0x7a, 0xb8, -0x14, 0x65, 0x3a, 0x43, 0x80, 0xdb, 0x52, 0x44, -0x23, 0x12, 0x5b, 0x37, 0x17, 0xd6, 0xbd, 0xec, -0x0d, 0xa0, 0x4f, 0xd5, 0x8a, 0x5e, 0x9b, 0x2c, -0x4a, 0x5d, 0xef, 0x81, 0x79, 0x8d, 0x03, 0x64, -0xdf, 0xb3, 0x04, 0x73, 0xaf, 0x87, 0xd8, 0x3b, -0x7b, 0x46, 0xc9, 0x76, 0xe9, 0x51, 0x6a, 0xc2, -0xd2, 0x1a, 0x7c, 0x4e, 0x93, 0x3f, 0x92, 0xc8, -0x8b, 0xe8, 0x20, 0x72, 0x18, 0x99, 0xcb, 0x67, - 0, 0xb1, 0xf8, 0xda, 0x4b, 0x9c, 0x98, 0xee +0xdc, 0x98, 0x6c, 0xcc, 0x1c, 0xb1, 0x2f, 0x13, +0xa4, 0x8b, 0x96, 0x87, 0x95, 0xd8, 0x5e, 0xd5, +0xb6, 0xee, 0xc3, 0x07, 0x68, 0xe4, 0x4e, 0xc0, +0xb7, 0x40, 0x15, 0x55, 0x31, 0x5f, 0xaf, 0xce, +0x01, 0x51, 0x09, 0x4f, 0x0b, 0x80, 0x28, 0x0f, +0xec, 0x43, 0x8a, 0x14, 0x90, 0x9a, 0x7b, 0x3e, +0x81, 0x1e, 0xab, 0xff, 0xed, 0xf6, 0xca, 0x0c, +0x6a, 0x9c, 0x91, 0x60, 0x27, 0xb2, 0x04, 0xd3, +0x72, 0xd7, 0x08, 0x8c, 0x8e, 0x1b, 0x35, 0x49, +0xba, 0x7a, 0xfd, 0x53, 0x22, 0xaa, 0xf5, 0x93, +0xf2, 0x63, 0x05, 0xb4, 0x33, 0x9b, 0xea, 0xc8, +0xc5, 0x39, 0xfc, 0x5d, 0x56, 0x50, 0xe2, 0xf4, +0xc1, 0xa9, 0x76, 0x99, 0xe7, 0xd0, 0xc6, 0x83, +0x11, 0x77, 0x70, 0xa6, 0x46, 0x38, 0x1d, 0x74, +0x6b, 0xdf, 0x30, 0xcf, 0xd1, 0x29, 0x7f, 0x4b, +0xe8, 0x1f, 0xc4, 0xa1, 0x75, 0xae, 0x3f, 0xf1, +0xad, 0x42, 0x2d, 0xfe, 0x62, 0x61, 0x6d, 0x3d, +0xa7, 0x0a, 0x6e, 0xde, 0x16, 0x36, 0xd2, 0xcb, +0x5c, 0xc2, 0x7c, 0xd6, 0x37, 0xa0, 0x20, 0xb5, +0xf3, 0xac, 0x71, 0x64, 0x26, 0x66, 0x88, 0x23, +0x52, 0xdb, 0x2e, 0x10, 0x84, 0x0e, 0x6f, 0x89, +0xb3, 0x86, 0xe5, 0xe6, 0x25, 0x78, 0xd4, 0x2a, +0xa8, 0x5b, 0xc9, 0x44, 0x24, 0x17, 0x1a, 0xf0, +0x69, 0x7e, 0xbf, 0x8d, 0x5a, 0x82, 0x9e, 0xf9, +0xc7, 0xf7, 0x4c, 0x92, 0x9d, 0x34, 0x02, 0x45, +0x59, 0xe1, 0x48, 0x7d, 0xb9, 0x94, 0x41, 0x47, +0x54, 0x00, 0x3c, 0x65, 0xf8, 0xb8, 0xcd, 0x0d, +0xe9, 0x9f, 0x8f, 0x79, 0x3a, 0xda, 0x4a, 0x97, +0xef, 0xa2, 0x21, 0x58, 0x67, 0x32, 0xb0, 0x3b, +0xe0, 0x85, 0x19, 0x12, 0x2c, 0xbc, 0x4d, 0xe3, +0x2b, 0x03, 0xbe, 0xfb, 0xbd, 0x57, 0xeb, 0x06, +0xfa, 0xbb, 0xdd, 0xa5, 0xa3, 0x73, 0x18, 0xd9 }; bool success = true;
svn commit: r591129 - /incubator/stdcxx/branches/4.2.x/tests/algorithms/25.random.shuffle.cpp
Author: faridz Date: Thu Nov 1 12:13:12 2007 New Revision: 591129 URL: http://svn.apache.org/viewvc?rev=591129&view=rev Log: 2007-11-01 Farid Zaripov <[EMAIL PROTECTED]> STDCXX-634 * 25.random.shuffle.cpp (test_random_shuffle): Corrected data in the result array. Modified: incubator/stdcxx/branches/4.2.x/tests/algorithms/25.random.shuffle.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/algorithms/25.random.shuffle.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/algorithms/25.random.shuffle.cpp?rev=591129&r1=591128&r2=591129&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/algorithms/25.random.shuffle.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/algorithms/25.random.shuffle.cpp Thu Nov 1 12:13:12 2007 @@ -272,38 +272,38 @@ std::random_shuffle (array, array + sizeof array / sizeof *array); const int result[] = { -0xad, 0x19, 0xcf, 0xa7, 0x40, 0xbc, 0x66, 0x42, -0xfb, 0xf4, 0xa6, 0x34, 0xce, 0xfe, 0xb9, 0xbe, -0x48, 0xff, 0xc5, 0xcc, 0x2d, 0x08, 0xe3, 0x3e, -0x29, 0xba, 0x1d, 0xb0, 0x6b, 0x07, 0x35, 0x1f, -0x30, 0xc3, 0x32, 0xc1, 0x70, 0xac, 0x50, 0x33, -0x5f, 0x49, 0x2f, 0x0f, 0x53, 0x05, 0xf0, 0xb6, -0x9d, 0xd9, 0x0c, 0xe5, 0x63, 0xf7, 0x8e, 0xd7, -0xb2, 0x13, 0x22, 0x69, 0x06, 0x02, 0xbf, 0x89, -0x82, 0x8f, 0x6e, 0x6c, 0xb4, 0xc0, 0xc4, 0xf2, -0x1b, 0x94, 0xfc, 0xe2, 0xd4, 0xf9, 0x0a, 0x5a, -0x10, 0x09, 0xe7, 0x9a, 0x6d, 0xa9, 0x75, 0xcd, -0x28, 0x2a, 0xae, 0x15, 0xbb, 0x62, 0x1e, 0xeb, -0x26, 0x90, 0x7e, 0xa3, 0x7f, 0x59, 0xfd, 0xde, -0x2b, 0x85, 0x74, 0x16, 0x45, 0x4c, 0xaa, 0x78, -0xf3, 0x01, 0x9f, 0x5c, 0x8c, 0x71, 0x0e, 0xe4, -0x86, 0xca, 0x11, 0x54, 0xa8, 0xd0, 0x1c, 0x96, -0xdc, 0xd1, 0x3c, 0xf6, 0xe1, 0x9e, 0x41, 0xa5, -0x27, 0x31, 0xa4, 0x4d, 0x57, 0x55, 0x7d, 0x0b, -0xc7, 0xd3, 0x6f, 0x84, 0x61, 0x25, 0xb7, 0xdd, -0x36, 0x58, 0x2e, 0xe6, 0x95, 0xa1, 0x39, 0x88, -0xf5, 0xfa, 0x91, 0x60, 0x83, 0xab, 0x38, 0xe0, -0xb5, 0x24, 0xed, 0x47, 0xea, 0x56, 0xa2, 0x68, -0xf1, 0x77, 0x3d, 0x97, 0xc6, 0x21, 0x7a, 0xb8, -0x14, 0x65, 0x3a, 0x43, 0x80, 0xdb, 0x52, 0x44, -0x23, 0x12, 0x5b, 0x37, 0x17, 0xd6, 0xbd, 0xec, -0x0d, 0xa0, 0x4f, 0xd5, 0x8a, 0x5e, 0x9b, 0x2c, -0x4a, 0x5d, 0xef, 0x81, 0x79, 0x8d, 0x03, 0x64, -0xdf, 0xb3, 0x04, 0x73, 0xaf, 0x87, 0xd8, 0x3b, -0x7b, 0x46, 0xc9, 0x76, 0xe9, 0x51, 0x6a, 0xc2, -0xd2, 0x1a, 0x7c, 0x4e, 0x93, 0x3f, 0x92, 0xc8, -0x8b, 0xe8, 0x20, 0x72, 0x18, 0x99, 0xcb, 0x67, - 0, 0xb1, 0xf8, 0xda, 0x4b, 0x9c, 0x98, 0xee +0xdc, 0x98, 0x6c, 0xcc, 0x1c, 0xb1, 0x2f, 0x13, +0xa4, 0x8b, 0x96, 0x87, 0x95, 0xd8, 0x5e, 0xd5, +0xb6, 0xee, 0xc3, 0x07, 0x68, 0xe4, 0x4e, 0xc0, +0xb7, 0x40, 0x15, 0x55, 0x31, 0x5f, 0xaf, 0xce, +0x01, 0x51, 0x09, 0x4f, 0x0b, 0x80, 0x28, 0x0f, +0xec, 0x43, 0x8a, 0x14, 0x90, 0x9a, 0x7b, 0x3e, +0x81, 0x1e, 0xab, 0xff, 0xed, 0xf6, 0xca, 0x0c, +0x6a, 0x9c, 0x91, 0x60, 0x27, 0xb2, 0x04, 0xd3, +0x72, 0xd7, 0x08, 0x8c, 0x8e, 0x1b, 0x35, 0x49, +0xba, 0x7a, 0xfd, 0x53, 0x22, 0xaa, 0xf5, 0x93, +0xf2, 0x63, 0x05, 0xb4, 0x33, 0x9b, 0xea, 0xc8, +0xc5, 0x39, 0xfc, 0x5d, 0x56, 0x50, 0xe2, 0xf4, +0xc1, 0xa9, 0x76, 0x99, 0xe7, 0xd0, 0xc6, 0x83, +0x11, 0x77, 0x70, 0xa6, 0x46, 0x38, 0x1d, 0x74, +0x6b, 0xdf, 0x30, 0xcf, 0xd1, 0x29, 0x7f, 0x4b, +0xe8, 0x1f, 0xc4, 0xa1, 0x75, 0xae, 0x3f, 0xf1, +0xad, 0x42, 0x2d, 0xfe, 0x62, 0x61, 0x6d, 0x3d, +0xa7, 0x0a, 0x6e, 0xde, 0x16, 0x36, 0xd2, 0xcb, +0x5c, 0xc2, 0x7c, 0xd6, 0x37, 0xa0, 0x20, 0xb5, +0xf3, 0xac, 0x71, 0x64, 0x26, 0x66, 0x88, 0x23, +0x52, 0xdb, 0x2e, 0x10, 0x84, 0x0e, 0x6f, 0x89, +0xb3, 0x86, 0xe5, 0xe6, 0x25, 0x78, 0xd4, 0x2a, +0xa8, 0x5b, 0xc9, 0x44, 0x24, 0x17, 0x1a, 0xf0, +0x69, 0x7e, 0xbf, 0x8d, 0x5a, 0x82, 0x9e, 0xf9, +0xc7, 0xf7, 0x4c, 0x92, 0x9d, 0x34, 0x02, 0x45, +0x59, 0xe1, 0x48, 0x7d, 0xb9, 0x94, 0x41, 0x47, +0x54, 0x00, 0x3c, 0x65, 0xf8, 0xb8, 0xcd, 0x0d, +0xe9, 0x9f, 0x8f, 0x79, 0x3a, 0xda, 0x4a, 0x97, +0xef, 0xa2, 0x21, 0x58, 0x67, 0x32, 0xb0, 0x3b, +0xe0, 0x85, 0x19, 0x12, 0x2c, 0xbc, 0x4d, 0xe3, +0x2b, 0x03, 0xbe, 0xfb, 0xbd, 0x57, 0xeb, 0x06, +0xfa, 0xbb, 0xdd, 0xa5, 0xa3, 0x73, 0x18, 0xd9 }; bool success = true;
svn commit: r590712 - /incubator/stdcxx/trunk/tests/src/process.cpp
Author: faridz Date: Wed Oct 31 08:19:47 2007 New Revision: 590712 URL: http://svn.apache.org/viewvc?rev=590712&view=rev Log: 2007-10-31 Travis Vitek <[EMAIL PROTECTED]> Merged r590711 from branches/4.2.x with a fix for STDCXX-625 * process.cpp (sig_handler): Don't re-register for signal from within signal handler to avoid stack overflow on HP-UX and AIX. (rw_waitpid): Set and restore signal handler inside loop so we can avoid using the signal handler to do it. Modified: incubator/stdcxx/trunk/tests/src/process.cpp Modified: incubator/stdcxx/trunk/tests/src/process.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/src/process.cpp?rev=590712&r1=590711&r2=590712&view=diff == --- incubator/stdcxx/trunk/tests/src/process.cpp (original) +++ incubator/stdcxx/trunk/tests/src/process.cpp Wed Oct 31 08:19:47 2007 @@ -524,8 +524,8 @@ static void sig_handler (int) { -// restore the signal -signal (SIGCHLD, sig_handler); +// do not re-register for signal here. it causes +// a stack overflow problem on HP-UX and AIX. } } @@ -545,12 +545,16 @@ if (0 < timeout && 0 == ret) { // process still active, wait -sig_handler_t* old_handler = signal (SIGCHLD, sig_handler); unsigned utimeout = unsigned (timeout); do { +sig_handler_t* old_handler = signal (SIGCHLD, sig_handler); + utimeout = sleep (utimeout); + +signal (SIGCHLD, old_handler); + if (utimeout) { // possible that the child has exited ret = waitpid (pid, &status, WNOHANG); @@ -575,8 +579,6 @@ } } while (false); - -signal (SIGCHLD, old_handler); } if (ret == pid) {
svn commit: r590711 - /incubator/stdcxx/branches/4.2.x/tests/src/process.cpp
Author: faridz Date: Wed Oct 31 08:18:16 2007 New Revision: 590711 URL: http://svn.apache.org/viewvc?rev=590711&view=rev Log: 2007-10-31 Travis Vitek <[EMAIL PROTECTED]> STDCXX-625 * process.cpp (sig_handler): Don't re-register for signal from within signal handler to avoid stack overflow on HP-UX and AIX. (rw_waitpid): Set and restore signal handler inside loop so we can avoid using the signal handler to do it. Modified: incubator/stdcxx/branches/4.2.x/tests/src/process.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/src/process.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/src/process.cpp?rev=590711&r1=590710&r2=590711&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/src/process.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/src/process.cpp Wed Oct 31 08:18:16 2007 @@ -524,8 +524,8 @@ static void sig_handler (int) { -// restore the signal -signal (SIGCHLD, sig_handler); +// do not re-register for signal here. it causes +// a stack overflow problem on HP-UX and AIX. } } @@ -545,12 +545,16 @@ if (0 < timeout && 0 == ret) { // process still active, wait -sig_handler_t* old_handler = signal (SIGCHLD, sig_handler); unsigned utimeout = unsigned (timeout); do { +sig_handler_t* old_handler = signal (SIGCHLD, sig_handler); + utimeout = sleep (utimeout); + +signal (SIGCHLD, old_handler); + if (utimeout) { // possible that the child has exited ret = waitpid (pid, &status, WNOHANG); @@ -575,8 +579,6 @@ } } while (false); - -signal (SIGCHLD, old_handler); } if (ret == pid) {
svn commit: r590689 - /incubator/stdcxx/trunk/etc/config/windows/projectdef.js
Author: faridz Date: Wed Oct 31 07:54:34 2007 New Revision: 590689 URL: http://svn.apache.org/viewvc?rev=590689&view=rev Log: 2007-10-31 Farid Zaripov <[EMAIL PROTECTED]> Merged r590686 from branches/4.2.x * projectdef.js (projectCreateVCProject): Generate source pdb in OutDir only for static libraries. For the other projects generate the binary pdb in OutDir, and source pdb in IntDir. Modified: incubator/stdcxx/trunk/etc/config/windows/projectdef.js Modified: incubator/stdcxx/trunk/etc/config/windows/projectdef.js URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/windows/projectdef.js?rev=590689&r1=590688&r2=590689&view=diff == --- incubator/stdcxx/trunk/etc/config/windows/projectdef.js (original) +++ incubator/stdcxx/trunk/etc/config/windows/projectdef.js Wed Oct 31 07:54:34 2007 @@ -440,7 +440,13 @@ if (null != this.PrepOpts) compiler.GeneratePreprocessedFile = this.PrepOpts; compiler.DebugInformationFormat = debugEnabled; -compiler.ProgramDataBaseFileName = changeFileExt(OutFile, "pdb"); + +if (typeStaticLibrary == conf.ConfigurationType) +{ +// generate the source pdb in the OutDir +compiler.ProgramDataBaseFileName = changeFileExt(OutFile, "pdb"); +} + compiler.SuppressStartupBanner = true; compiler.WarningLevel = warningLevel_3; setProperty(compiler.Detect64BitPortabilityProblems, false); @@ -510,8 +516,7 @@ linker.LinkIncremental = linkIncrementalNo; linker.SuppressStartupBanner = true; linker.GenerateDebugInformation = true; -// use the compiler's .pdb -linker.ProgramDatabaseFile = ""; +linker.ProgramDatabaseFile = changeFileExt(OutFile, "pdb"); linker.IgnoreDefaultLibraryNames = IngoreLibs; linker.SubSystem = this.SubSystem;
svn commit: r590686 - /incubator/stdcxx/branches/4.2.x/etc/config/windows/projectdef.js
Author: faridz Date: Wed Oct 31 07:49:24 2007 New Revision: 590686 URL: http://svn.apache.org/viewvc?rev=590686&view=rev Log: 2007-10-31 Farid Zaripov <[EMAIL PROTECTED]> * projectdef.js (projectCreateVCProject): Generate source pdb in OutDir only for static libraries. For the other projects generate the binary pdb in OutDir, and source pdb in IntDir. Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/projectdef.js Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/projectdef.js URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/windows/projectdef.js?rev=590686&r1=590685&r2=590686&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/windows/projectdef.js (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/windows/projectdef.js Wed Oct 31 07:49:24 2007 @@ -440,7 +440,13 @@ if (null != this.PrepOpts) compiler.GeneratePreprocessedFile = this.PrepOpts; compiler.DebugInformationFormat = debugEnabled; -compiler.ProgramDataBaseFileName = changeFileExt(OutFile, "pdb"); + +if (typeStaticLibrary == conf.ConfigurationType) +{ +// generate the source pdb in the OutDir +compiler.ProgramDataBaseFileName = changeFileExt(OutFile, "pdb"); +} + compiler.SuppressStartupBanner = true; compiler.WarningLevel = warningLevel_3; setProperty(compiler.Detect64BitPortabilityProblems, false); @@ -510,8 +516,7 @@ linker.LinkIncremental = linkIncrementalNo; linker.SuppressStartupBanner = true; linker.GenerateDebugInformation = true; -// use the compiler's .pdb -linker.ProgramDatabaseFile = ""; +linker.ProgramDatabaseFile = changeFileExt(OutFile, "pdb"); linker.IgnoreDefaultLibraryNames = IngoreLibs; linker.SubSystem = this.SubSystem;
svn commit: r590300 - /incubator/stdcxx/trunk/etc/config/windows/build.wsf
Author: faridz Date: Tue Oct 30 12:34:45 2007 New Revision: 590300 URL: http://svn.apache.org/viewvc?rev=590300&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r590279 from branches/4.2.x * build.wsf (TimeEcho): New function to print the message with timestamp. Use TimeEcho() for the printing messages on every build stage. Modified: incubator/stdcxx/trunk/etc/config/windows/build.wsf Modified: incubator/stdcxx/trunk/etc/config/windows/build.wsf URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/windows/build.wsf?rev=590300&r1=590299&r2=590300&view=diff == --- incubator/stdcxx/trunk/etc/config/windows/build.wsf (original) +++ incubator/stdcxx/trunk/etc/config/windows/build.wsf Tue Oct 30 12:34:45 2007 @@ -226,6 +226,11 @@ return 1; } +function TimeEcho(msg) +{ +WScript.Echo(Date() + ": " + msg); +} + // the main function of the script function build() { @@ -241,7 +246,7 @@ var solutionName = slnDir + "\\" + currentCfg + ".sln"; -WScript.Echo("Loading solution..."); +TimeEcho("Loading solution..."); var solution = dte.Solution; var retCode = 0; @@ -392,7 +397,7 @@ oldLogging = projectEngine.BuildLogging; projectEngine.BuildLogging = true; -WScript.Echo("Performing configure step...\n"); +TimeEcho("Performing configure step...\n"); var res = BuildProject(solutionBuild, ".configure"); if (0 < res) { @@ -400,7 +405,7 @@ break; } -WScript.Echo("Compiling stdcxx library...\n"); +TimeEcho("Compiling stdcxx library...\n"); res = BuildProject(solutionBuild, ".stdcxx"); if (0 < res) { @@ -408,19 +413,19 @@ break; } -WScript.Echo("Compiling examples...\n"); +TimeEcho("Compiling examples...\n"); BuildProject(solutionBuild, ".stdcxx_examples"); -WScript.Echo("Compiling rwtest library...\n"); +TimeEcho("Compiling rwtest library...\n"); res = BuildProject(solutionBuild, ".rwtest"); if (0 == res) { runTests = true; -WScript.Echo("Compiling tests...\n"); +TimeEcho("Compiling tests...\n"); BuildProject(solutionBuild, ".stdcxx_tests"); } -WScript.Echo("Compiling utils...\n"); +TimeEcho("Compiling utils...\n"); // compile exec utility var resExec = BuildProject(solutionBuild, "util_exec"); // compile rest utils @@ -434,12 +439,12 @@ if (buildOnly) break; -WScript.Echo("Running examples...\n"); +TimeEcho("Running examples...\n"); BuildProject(solutionBuild, ".stdcxx_runexamples"); if (runTests) { -WScript.Echo("Running tests...\n"); +TimeEcho("Running tests...\n"); BuildProject(solutionBuild, ".stdcxx_runtests"); } @@ -449,7 +454,7 @@ break; } -WScript.Echo("Running locales tests..."); +TimeEcho("Running locales tests..."); BuildProject(solutionBuild, ".stdcxx_testlocales"); } while (false); @@ -481,10 +486,12 @@ if (null != prop) prop.Value = propVal; +TimeEcho("Closing the VisualStudio..."); solution = null; dte.Quit(); dte = null; +TimeEcho("Exiting..."); WScript.Quit(retCode); }
svn propchange: r590279 - svn:log
Author: faridz Revision: 590279 Modified property: svn:log Modified: svn:log at Tue Oct 30 12:34:25 2007 -- --- svn:log (original) +++ svn:log Tue Oct 30 12:34:25 2007 @@ -1,4 +1,4 @@ 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> - * build.wsf (TimeEcgo): New function to print the message with timestamp. + * build.wsf (TimeEcho): New function to print the message with timestamp. Use TimeEcho() for the printing messages on every build stage.
svn commit: r590279 - /incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf
Author: faridz Date: Tue Oct 30 12:32:27 2007 New Revision: 590279 URL: http://svn.apache.org/viewvc?rev=590279&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> * build.wsf (TimeEcgo): New function to print the message with timestamp. Use TimeEcho() for the printing messages on every build stage. Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf?rev=590279&r1=590278&r2=590279&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/windows/build.wsf Tue Oct 30 12:32:27 2007 @@ -226,6 +226,11 @@ return 1; } +function TimeEcho(msg) +{ +WScript.Echo(Date() + ": " + msg); +} + // the main function of the script function build() { @@ -241,7 +246,7 @@ var solutionName = slnDir + "\\" + currentCfg + ".sln"; -WScript.Echo("Loading solution..."); +TimeEcho("Loading solution..."); var solution = dte.Solution; var retCode = 0; @@ -392,7 +397,7 @@ oldLogging = projectEngine.BuildLogging; projectEngine.BuildLogging = true; -WScript.Echo("Performing configure step...\n"); +TimeEcho("Performing configure step...\n"); var res = BuildProject(solutionBuild, ".configure"); if (0 < res) { @@ -400,7 +405,7 @@ break; } -WScript.Echo("Compiling stdcxx library...\n"); +TimeEcho("Compiling stdcxx library...\n"); res = BuildProject(solutionBuild, ".stdcxx"); if (0 < res) { @@ -408,19 +413,19 @@ break; } -WScript.Echo("Compiling examples...\n"); +TimeEcho("Compiling examples...\n"); BuildProject(solutionBuild, ".stdcxx_examples"); -WScript.Echo("Compiling rwtest library...\n"); +TimeEcho("Compiling rwtest library...\n"); res = BuildProject(solutionBuild, ".rwtest"); if (0 == res) { runTests = true; -WScript.Echo("Compiling tests...\n"); +TimeEcho("Compiling tests...\n"); BuildProject(solutionBuild, ".stdcxx_tests"); } -WScript.Echo("Compiling utils...\n"); +TimeEcho("Compiling utils...\n"); // compile exec utility var resExec = BuildProject(solutionBuild, "util_exec"); // compile rest utils @@ -434,12 +439,12 @@ if (buildOnly) break; -WScript.Echo("Running examples...\n"); +TimeEcho("Running examples...\n"); BuildProject(solutionBuild, ".stdcxx_runexamples"); if (runTests) { -WScript.Echo("Running tests...\n"); +TimeEcho("Running tests...\n"); BuildProject(solutionBuild, ".stdcxx_runtests"); } @@ -449,7 +454,7 @@ break; } -WScript.Echo("Running locales tests..."); +TimeEcho("Running locales tests..."); BuildProject(solutionBuild, ".stdcxx_testlocales"); } while (false); @@ -481,10 +486,12 @@ if (null != prop) prop.Value = propVal; +TimeEcho("Closing the VisualStudio..."); solution = null; dte.Quit(); dte = null; +TimeEcho("Exiting..."); WScript.Quit(retCode); }
svn commit: r590272 - /incubator/stdcxx/trunk/util/exec.cpp
Author: faridz Date: Tue Oct 30 12:02:48 2007 New Revision: 590272 URL: http://svn.apache.org/viewvc?rev=590272&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r590270 from branches/4.2.x * exec.cpp [!_WIN32 && !_RWSTD_NO_PURE_C_HEADERS] (kill, fdopen): Skip the functions declaration on Windows. Modified: incubator/stdcxx/trunk/util/exec.cpp Modified: incubator/stdcxx/trunk/util/exec.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/exec.cpp?rev=590272&r1=590271&r2=590272&view=diff == --- incubator/stdcxx/trunk/util/exec.cpp (original) +++ incubator/stdcxx/trunk/util/exec.cpp Tue Oct 30 12:02:48 2007 @@ -108,7 +108,7 @@ #include "exec.h" -#ifndef _RWSTD_NO_PURE_C_HEADERS +#if !defined (_WIN32) && !defined (_RWSTD_NO_PURE_C_HEADERS) # ifdef __cplusplus extern "C" { # endif @@ -120,7 +120,7 @@ # ifdef __cplusplus } /* extern "C" */ # endif -#endif /* _RWSTD_NO_PURE_C_HEADERS */ +#endif /* !_WIN32 && !_RWSTD_NO_PURE_C_HEADERS */ /**
svn commit: r590270 - /incubator/stdcxx/branches/4.2.x/util/exec.cpp
Author: faridz Date: Tue Oct 30 12:01:06 2007 New Revision: 590270 URL: http://svn.apache.org/viewvc?rev=590270&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> * exec.cpp [!_WIN32 && !_RWSTD_NO_PURE_C_HEADERS] (kill, fdopen): Skip the functions declaration on Windows. Modified: incubator/stdcxx/branches/4.2.x/util/exec.cpp Modified: incubator/stdcxx/branches/4.2.x/util/exec.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/util/exec.cpp?rev=590270&r1=590269&r2=590270&view=diff == --- incubator/stdcxx/branches/4.2.x/util/exec.cpp (original) +++ incubator/stdcxx/branches/4.2.x/util/exec.cpp Tue Oct 30 12:01:06 2007 @@ -108,7 +108,7 @@ #include "exec.h" -#ifndef _RWSTD_NO_PURE_C_HEADERS +#if !defined (_WIN32) && !defined (_RWSTD_NO_PURE_C_HEADERS) # ifdef __cplusplus extern "C" { # endif @@ -120,7 +120,7 @@ # ifdef __cplusplus } /* extern "C" */ # endif -#endif /* _RWSTD_NO_PURE_C_HEADERS */ +#endif /* !_WIN32 && !_RWSTD_NO_PURE_C_HEADERS */ /**
svn commit: r590185 - /incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp
Author: faridz Date: Tue Oct 30 10:45:54 2007 New Revision: 590185 URL: http://svn.apache.org/viewvc?rev=590185&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r581667 from trunk * 22.locale.moneypunct.cpp (convert): Save the name of the original locale using std::string object. Use return instead of break to avoid restoring the original locale twice. Modified: incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp?rev=590185&r1=590184&r2=590185&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.moneypunct.cpp Tue Oct 30 10:45:54 2007 @@ -279,7 +279,10 @@ convert (const char *locname, const char *s, const wchar_t*) { // save the name of the original locale -const char *savename = std::setlocale (LC_ALL, 0); +std::string saved_loc; + +if (const char *savename = std::setlocale (LC_ALL, 0)) +saved_loc = savename; // switch to (named) locale const char *loc = std::setlocale (LC_ALL, locname); @@ -305,14 +308,15 @@ // restore the original locale before printing out // the error message (we don't want it localized) -std::setlocale (LC_ALL, savename); +std::setlocale (LC_ALL, saved_loc.c_str ()); rw_fprintf (rw_stderr, "%s:%d: mbstowcs(..., %#s, %zu) " "= -1: %m\n", __FILE__, __LINE__, s, res.capacity ()); res = std::wstring (); // mbstowcs() error -break; + +return res; } else { // shrink if necessary @@ -322,7 +326,7 @@ } // restore original locale -std::setlocale (LC_ALL, savename); +std::setlocale (LC_ALL, saved_loc.c_str ()); return res; }
svn commit: r590183 - /incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.cons.mt.cpp
Author: faridz Date: Tue Oct 30 10:44:19 2007 New Revision: 590183 URL: http://svn.apache.org/viewvc?rev=590183&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r581946 from trunk with a fix for STDCXX-575 * 22.locale.cons.mt.cpp [_MSC_VER] (test_ctors): If cat == std::locale::messages, compare combined locale with first because of the MSVC doesn't support LC_MESSAGES constant. Modified: incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.cons.mt.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.cons.mt.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.cons.mt.cpp?rev=590183&r1=590182&r2=590183&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.cons.mt.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/localization/22.locale.cons.mt.cpp Tue Oct 30 10:44:19 2007 @@ -119,8 +119,13 @@ const std::locale combined (first, next_name, cat); // verify that the locales were created correctly -if (std::locale::none == cat || first == next) +if ( std::locale::none == cat +#ifdef _MSC_VER +|| std::locale::messages == cat +#endif +|| first == next) { RW_ASSERT (combined == first); +} else if (std::locale::all == cat) RW_ASSERT (combined == next); else @@ -129,8 +134,13 @@ // repeat the step above but with a locale object const std::locale combined_2 (first, next, cat); -if (std::locale::none == cat || first == next) +if ( std::locale::none == cat +#ifdef _MSC_VER +|| std::locale::messages == cat +#endif +|| first == next) { RW_ASSERT (combined_2 == first); +} else if (std::locale::all == cat) RW_ASSERT (combined_2 == next); else
svn commit: r590180 - /incubator/stdcxx/branches/4.2.x/tests/utilities/20.auto.ptr.cpp
Author: faridz Date: Tue Oct 30 10:43:05 2007 New Revision: 590180 URL: http://svn.apache.org/viewvc?rev=590180&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r585460 from trunk with a fix for STDCXX-601 * 20.auto.ptr (test_auto_ptr): Ensure allocated object is value-initialized to avoid uninitialized memory read error. Modified: incubator/stdcxx/branches/4.2.x/tests/utilities/20.auto.ptr.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/utilities/20.auto.ptr.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/utilities/20.auto.ptr.cpp?rev=590180&r1=590179&r2=590180&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/utilities/20.auto.ptr.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/utilities/20.auto.ptr.cpp Tue Oct 30 10:43:05 2007 @@ -224,7 +224,7 @@ rw_info (0, 0, 0, "[lib.auto.ptr.cons]"); -T *pt = new T; +T *pt = new T (); // 20.4.5.1, p1 std::auto_ptr ap1 (pt);
svn propchange: r590169 - svn:log
Author: faridz Revision: 590169 Modified property: svn:log Modified: svn:log at Tue Oct 30 10:41:39 2007 -- --- svn:log (original) +++ svn:log Tue Oct 30 10:41:39 2007 @@ -1,5 +1,5 @@ 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> - Merged r583840 from trunkwith a fix for STDCXX-109 + Merged r585143 from trunk with a fix for STDCXX-109 * etc/config/makefile.rules ($(CATFILE)): Make failure to execute the gencat utility non-fatal.
svn commit: r590172 - /incubator/stdcxx/branches/4.2.x/tests/self/0.printf.cpp
Author: faridz Date: Tue Oct 30 10:40:42 2007 New Revision: 590172 URL: http://svn.apache.org/viewvc?rev=590172&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r583398 from trunk with a fix for STDCXX-582 * 0.printf.cpp (test_errno): Deallocate memory allocated automatically by rw_snprintfa(). Modified: incubator/stdcxx/branches/4.2.x/tests/self/0.printf.cpp Modified: incubator/stdcxx/branches/4.2.x/tests/self/0.printf.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/self/0.printf.cpp?rev=590172&r1=590171&r2=590172&view=diff == --- incubator/stdcxx/branches/4.2.x/tests/self/0.printf.cpp (original) +++ incubator/stdcxx/branches/4.2.x/tests/self/0.printf.cpp Tue Oct 30 10:40:42 2007 @@ -2254,6 +2254,8 @@ "rw_sprintfa(\"%%m\") == \"%s\", got \"%s\" for " "errno=%d", expect, result, i); } + +free (result); } //
svn commit: r590169 - /incubator/stdcxx/branches/4.2.x/etc/config/makefile.rules
Author: faridz Date: Tue Oct 30 10:38:40 2007 New Revision: 590169 URL: http://svn.apache.org/viewvc?rev=590169&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r583840 from trunkwith a fix for STDCXX-109 * etc/config/makefile.rules ($(CATFILE)): Make failure to execute the gencat utility non-fatal. Modified: incubator/stdcxx/branches/4.2.x/etc/config/makefile.rules Modified: incubator/stdcxx/branches/4.2.x/etc/config/makefile.rules URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/makefile.rules?rev=590169&r1=590168&r2=590169&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/makefile.rules (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/makefile.rules Tue Oct 30 10:38:40 2007 @@ -67,7 +67,7 @@ # create a catalog from text message files - see gencat(1) $(CATFILE): $(MSGFILES) - gencat $@ $^ + -gencat $@ $^
svn commit: r590167 - in /incubator/stdcxx/branches/4.2.x/etc/config/windows: configure.wsf projects.js
Author: faridz Date: Tue Oct 30 10:29:56 2007 New Revision: 590167 URL: http://svn.apache.org/viewvc?rev=590167&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r583840 from trunk * configure.wsf (configure): Removed IncludeDir command line option. * projects.js (CreateProjectsDefs): Removed /IncludeDir option from command line of the configure.wsf script. Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/configure.wsf incubator/stdcxx/branches/4.2.x/etc/config/windows/projects.js Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/configure.wsf URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/windows/configure.wsf?rev=590167&r1=590166&r2=590167&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/windows/configure.wsf (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/windows/configure.wsf Tue Oct 30 10:29:56 2007 @@ -72,7 +72,6 @@ var configFile = configTargerDir + "\\" + configFileName; var stageFile = stageDir + "\\" + configFileName; var srcDir = slnDir + "\\etc\\config\\src"; -var includeDir = slnDir + "\\include"; var runWindowMode = 0; var timeOut = 3; // 30 sec var logFileName = "config.log"; @@ -135,18 +134,6 @@ WScript.Quit(2); } } - -if (WScript.Arguments.Named.Exists("IncludeDir")) -{ -includeDir = WScript.Arguments.Named("IncludeDir"); -if (!fso.FolderExists(includeDir)) -{ -WScript.StdErr.WriteLine( -"Configure: Fatal error: Unable to read includes folder " -+ includeDir); -WScript.Quit(2); -} -} if (WScript.Arguments.Named.Exists("OutFile")) configFile = WScript.Arguments.Named("OutFile"); @@ -257,7 +244,7 @@ LDFLAGS += " /DEBUG"; } -CPPFLAGS += joinArray(new Array(stageDir, includeDir), "/I"); +CPPFLAGS += " /I\"" + stageDir + "\""; var defines = new Array (); Modified: incubator/stdcxx/branches/4.2.x/etc/config/windows/projects.js URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/etc/config/windows/projects.js?rev=590167&r1=590166&r2=590167&view=diff == --- incubator/stdcxx/branches/4.2.x/etc/config/windows/projects.js (original) +++ incubator/stdcxx/branches/4.2.x/etc/config/windows/projects.js Tue Oct 30 10:29:56 2007 @@ -74,7 +74,6 @@ " /SolutionName:\"%SOLUTION%\"" + " /ConfigurationName:\"%CFGNAME%\"" + " /SrcDir:\"%SRCDIR%\\etc\\config\\src\"" + -" /IncludeDir:\"%SRCDIR%\\include\"" + " /OutDir:\"$(OutDir)\"" + " /OutFile:\"$(OutDir)\\config.h\"" + " /LogFile:\"$(OutDir)\\config.log\"";
svn commit: r590134 - /incubator/stdcxx/branches/4.2.x/src/time_put.cpp
Author: faridz Date: Tue Oct 30 09:08:09 2007 New Revision: 590134 URL: http://svn.apache.org/viewvc?rev=590134&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r580982 from trunk * time_put.cpp (__rw_get_date_fmat): Convert char argument of isspace(), isdigit(), ispunct() to unsigned char. (__rw_get_time_fmat): Ditto. Modified: incubator/stdcxx/branches/4.2.x/src/time_put.cpp Modified: incubator/stdcxx/branches/4.2.x/src/time_put.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/src/time_put.cpp?rev=590134&r1=590133&r2=590134&view=diff == --- incubator/stdcxx/branches/4.2.x/src/time_put.cpp (original) +++ incubator/stdcxx/branches/4.2.x/src/time_put.cpp Tue Oct 30 09:08:09 2007 @@ -160,6 +160,7 @@ #ifdef _RWSTD_NO_NL_LANGINFO +typedef unsigned char UChar; // compute the format string corresponding to the "%x" format specifier // in the current locale (set by setlocale (LC_ALL, ...)) @@ -197,16 +198,16 @@ for (char *ptmp = tmp; *ptmp; ) { // store all whitespace as part of format -for (; (isspace)(*ptmp); ++ptmp) +for (; (isspace)(UChar (*ptmp)); ++ptmp) *pfmt++ = *ptmp; const char *begin = ptmp; // skip over all non-digit characters -for (; *ptmp && !(isdigit)(*ptmp); ++ptmp) { -if ((ispunct)(*ptmp) || (isspace)(*ptmp)) { +for (; *ptmp && !(isdigit)(UChar (*ptmp)); ++ptmp) { +if ((ispunct)(UChar (*ptmp)) || (isspace)(UChar (*ptmp))) { // store all punctuators as part of format -for ( ; (ispunct)(*ptmp) || (isspace)(*ptmp); ++ptmp) +for ( ; (ispunct)(UChar (*ptmp)) || (isspace)(UChar (*ptmp)); ++ptmp) *pfmt++ = *ptmp; break; } @@ -258,9 +259,9 @@ } } -if ((isdigit)(*ptmp)) { +if ((isdigit)(UChar (*ptmp))) { -for (begin = ptmp; (isdigit)(*ptmp); ++ptmp); +for (begin = ptmp; (isdigit)(UChar (*ptmp)); ++ptmp); *pfmt++ = '%'; if (ptmp - begin == 1) { @@ -322,16 +323,16 @@ for (char *ptmp = tmp; *ptmp; ) { -for (; (isspace)(*ptmp); ++ptmp) +for (; (isspace)(UChar (*ptmp)); ++ptmp) *pfmt++ = *ptmp; const char *begin = ptmp; -for (; *ptmp && !(isdigit)(*ptmp); ++ptmp) { -if ( (ispunct)(*ptmp) -|| (isspace)(*ptmp)) { -for (;(ispunct)(*ptmp) - || (isspace)(*ptmp); ++ptmp) +for (; *ptmp && !(isdigit)(UChar (*ptmp)); ++ptmp) { +if ( (ispunct)(UChar (*ptmp)) +|| (isspace)(UChar (*ptmp))) { +for (;(ispunct)(UChar (*ptmp)) + || (isspace)(UChar (*ptmp)); ++ptmp) *pfmt++ = *ptmp; break; } @@ -359,9 +360,9 @@ } } -if ((isdigit)(*ptmp)) { +if ((isdigit)(UChar (*ptmp))) { -for (begin = ptmp; (isdigit)(*ptmp); ++ptmp); +for (begin = ptmp; (isdigit)(UChar (*ptmp)); ++ptmp); *pfmt++ = '%';
svn commit: r590132 - /incubator/stdcxx/branches/4.2.x/tests/regress/
Author: faridz Date: Tue Oct 30 09:01:33 2007 New Revision: 590132 URL: http://svn.apache.org/viewvc?rev=590132&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged /tests/regress/ from trunk * 21.string.io.stdcxx-206.cpp: Regression test for STDCXX-206. * 26.valarray.members.stdcxx-313.cpp: Regression test for STDCXX-313. * 26.valarray.members.stdcxx-318.cpp: Regression test for STDCXX-318. * 26.valarray.sub.stdcxx-224.cpp: Regression test for STDCXX-224. * 26.valarray.unary.stdcxx-314.cpp: Regression test for STDCXX-314. * 27.stringbuf.xsputn.stdcxx-576.cpp: Regression test for STDCXX-576. Added: incubator/stdcxx/branches/4.2.x/tests/regress/21.string.io.stdcxx-206.cpp - copied unchanged from r590128, incubator/stdcxx/trunk/tests/regress/21.string.io.stdcxx-206.cpp incubator/stdcxx/branches/4.2.x/tests/regress/26.valarray.members.stdcxx-313.cpp - copied unchanged from r590128, incubator/stdcxx/trunk/tests/regress/26.valarray.members.stdcxx-313.cpp incubator/stdcxx/branches/4.2.x/tests/regress/26.valarray.members.stdcxx-318.cpp - copied unchanged from r590128, incubator/stdcxx/trunk/tests/regress/26.valarray.members.stdcxx-318.cpp incubator/stdcxx/branches/4.2.x/tests/regress/26.valarray.sub.stdcxx-224.cpp - copied unchanged from r590128, incubator/stdcxx/trunk/tests/regress/26.valarray.sub.stdcxx-224.cpp incubator/stdcxx/branches/4.2.x/tests/regress/26.valarray.unary.stdcxx-314.cpp - copied unchanged from r590128, incubator/stdcxx/trunk/tests/regress/26.valarray.unary.stdcxx-314.cpp incubator/stdcxx/branches/4.2.x/tests/regress/27.stringbuf.xsputn.stdcxx-576.cpp - copied unchanged from r590128, incubator/stdcxx/trunk/tests/regress/27.stringbuf.xsputn.stdcxx-576.cpp
svn commit: r590130 - /incubator/stdcxx/branches/4.2.x/util/locale.cpp
Author: faridz Date: Tue Oct 30 08:57:24 2007 New Revision: 590130 URL: http://svn.apache.org/viewvc?rev=590130&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r580981 from trunk * locale.cpp [_WIN32] (EnumLocales): New function to enumerate system locales. (print_locale_names): Obtain list of system locales if RWSTD_LOCALE_ROOT environment variable is not defined. Modified: incubator/stdcxx/branches/4.2.x/util/locale.cpp Modified: incubator/stdcxx/branches/4.2.x/util/locale.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/util/locale.cpp?rev=590130&r1=590129&r2=590130&view=diff == --- incubator/stdcxx/branches/4.2.x/util/locale.cpp (original) +++ incubator/stdcxx/branches/4.2.x/util/locale.cpp Tue Oct 30 08:57:24 2007 @@ -2361,6 +2361,38 @@ } +#ifdef _WIN32 +static BOOL CALLBACK +EnumLocales (char* locale_id) +{ +const LCID lcid = std::strtoul (locale_id, 0, 16); + +char buf [80]; +const int bufsize = sizeof (buf) / sizeof (*buf); + +std::string name; + +if (GetLocaleInfo (lcid, LOCALE_SENGLANGUAGE, buf, bufsize)) +name = buf; + +if (GetLocaleInfo (lcid, LOCALE_SENGCOUNTRY, buf, bufsize)) { +name += '_'; +name += buf; +} + +if ( GetLocaleInfo (lcid, LOCALE_IDEFAULTANSICODEPAGE , buf, bufsize) +&& std::strtoul (buf, 0, 10)) { +name += '.'; +name += buf; +} + +if (const char* locname = std::setlocale (LC_ALL, name.c_str ())) +std::cout << locname << '\n'; + +return TRUE; +} +#endif + // print the available locales static void print_locale_names () @@ -2373,6 +2405,13 @@ const std::string cmd = std::string (LS_1) + locale_root; std::system (cmd.c_str ()); +} +else { +#ifndef _WIN32 +std::system ("/usr/bin/locale -a"); +#else +EnumSystemLocales (EnumLocales, LCID_INSTALLED); +#endif } }
svn commit: r590129 - /incubator/stdcxx/branches/4.2.x/util/display.cpp
Author: faridz Date: Tue Oct 30 08:55:53 2007 New Revision: 590129 URL: http://svn.apache.org/viewvc?rev=590129&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r581626 from trunk * display.cpp (print_status_plain): Use float arithmetic when calculating the percent of the failed assertions to avoid overflow of the unsigned int type. Modified: incubator/stdcxx/branches/4.2.x/util/display.cpp Modified: incubator/stdcxx/branches/4.2.x/util/display.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/util/display.cpp?rev=590129&r1=590128&r2=590129&view=diff == --- incubator/stdcxx/branches/4.2.x/util/display.cpp (original) +++ incubator/stdcxx/branches/4.2.x/util/display.cpp Tue Oct 30 08:55:53 2007 @@ -205,8 +205,10 @@ && 0 == status->status && 0 == status->exit) { if (status->assert) { -printf (" %7u %6u %5d%%", status->assert, status->failed, -100 * (status->assert - status->failed) / status->assert); +const int percnt = int ( 100.0 +* (status->assert - status->failed) +/ status->assert); +printf (" %7u %6u %5d%%", status->assert, status->failed, percnt); } else { printf (" 0 %6u 100%%", status->failed);
svn commit: r590124 - in /incubator/stdcxx/trunk/util: cmdopt.cpp exec.cpp util.cpp util.h
Author: faridz Date: Tue Oct 30 08:49:01 2007 New Revision: 590124 URL: http://svn.apache.org/viewvc?rev=590124&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r588734 from branches/4.2.x * util.h (rw_sleep, rw_signal): Declared helper functions. * cmdopt.cpp (rw_sleep, rw_signal): Moved formerly static functions from here... * util.cpp: ...to here and declared extern. * exec.cpp (SIGHUP, SIGQUIT, SIGKILL, SIGALRM, ESRCH, EINTR, ECHILD, EINVAL): #defined macros when they're not #defined in system headers. [!_RWSTD_NO_PURE_C_HEADERS] (kill, fdopen): Declared. (wait_for_child): Called rw_signal() instead of sigaction() directly. STDCXX-414 * util.cpp: [!_RWSTD_NO_PURE_C_HEADERS] (rw_signal): Implemented in terms of signal() instead of sigaction() so as to avoid a dependency on POSIX symbols in . Modified: incubator/stdcxx/trunk/util/cmdopt.cpp incubator/stdcxx/trunk/util/exec.cpp incubator/stdcxx/trunk/util/util.cpp incubator/stdcxx/trunk/util/util.h Modified: incubator/stdcxx/trunk/util/cmdopt.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/cmdopt.cpp?rev=590124&r1=590123&r2=590124&view=diff == --- incubator/stdcxx/trunk/util/cmdopt.cpp (original) +++ incubator/stdcxx/trunk/util/cmdopt.cpp Tue Oct 30 08:49:01 2007 @@ -160,59 +160,6 @@ "xlc IBM XLC++\n" }; -#if !defined (_WIN32) && !defined (_WIN64) - -static void -rw_sleep (int seconds) -{ -sleep (seconds); -} - - -#ifdef __cplusplus - -extern "C" { - -#endif /* __cplusplus */ - -static int -rw_signal (int signo, void (*func)(int)) -{ -struct sigaction act; -memset (&act, 0, sizeof act); - -/* avoid extern "C"/"C++" mismatch due to an HP aCC 6 bug - (see STDCXX-291) */ -if (func) -memcpy (&act.sa_handler, &func, sizeof func); -else -act.sa_handler = 0; - -return 0 > sigaction (signo, &act, 0); -} - -#ifdef __cplusplus - -} /* extern "C" */ - -#endif /* __cplusplus */ - -#else /* if defined (_WIN32) || defined (_WIN64) */ - -static void -rw_sleep (int seconds) -{ -Sleep (seconds * 1000); -} - - -static int -rw_signal (int signo, void (*func)(int)) -{ -return SIG_ERR == signal (signo, func); -} - -#endif /* _WIN{32,64}*/ /** Display command line switches for program and terminate. Modified: incubator/stdcxx/trunk/util/exec.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/util/exec.cpp?rev=590124&r1=590123&r2=590124&view=diff == --- incubator/stdcxx/trunk/util/exec.cpp (original) +++ incubator/stdcxx/trunk/util/exec.cpp Tue Oct 30 08:49:01 2007 @@ -71,6 +71,34 @@ #define STATUS_INVALID_CRUNTIME_PARAMETER ((DWORD)0xC417L) # endif #endif + +#ifndef SIGHUP +# define SIGHUP 1 /* Linux value */ +#endif +#ifndef SIGQUIT +# define SIGQUIT3 /* Linux value */ +#endif +#ifndef SIGKILL +# define SIGKILL9 /* Linux value */ +#endif +#ifndef SIGALRM +# define SIGALRM 14 /* Linux value */ +#endif + + +#ifndef ESRCH +# define ESRCH 3 /* Linux value */ +#endif +#ifndef EINTR +# define EINTR 4 /* Linux value */ +#endif +#ifndef ECHILD +# define ECHILD10 /* Linux value */ +#endif +#ifndef EINVAL +# define EINVAL22 /* Linux value */ +#endif + #include /* for S_* */ #include @@ -80,6 +108,21 @@ #include "exec.h" +#ifndef _RWSTD_NO_PURE_C_HEADERS +# ifdef __cplusplus +extern "C" { +# endif + +int kill (pid_t pid, int sig); + +FILE* fdopen (int fd, const char *mode); + +# ifdef __cplusplus +} /* extern "C" */ +# endif +#endif /* _RWSTD_NO_PURE_C_HEADERS */ + + /** Status flag used to comunicate that an alarm has triggered. @@ -444,8 +487,6 @@ static const unsigned sigcount = sizeof (signals) / sizeof (int); -struct sigaction act; - unsigned siginx = 0; int stopped = 0; @@ -463,31 +504,19 @@ /* Clear timeout */ alarm_timeout = 0; -/* Set handler (if needed). Need to use sigaction rather than signal due - to linux glitch -*/ -memset (&act, 0, sizeof act); - -/* avoid extern "C"/"C++" mismatch due to an HP aCC 6 bug - (see STDCXX-291) +/* Set handler (if needed). */ -alarm_handler phandler = handle_alrm; -memcpy (&act.sa_handler, &phandler, sizeof act.sa_handler); - -sigaction (SIGALRM, &act, 0); +rw_signal (SIGALRM, handle_alrm); /* Set handlers for SIGHUP, SIGINT, SIGQUIT, SIGTERM so we can kill the child process prior to dieing. */ kill_signal = 0; -phandle
svn commit: r590118 - in /incubator/stdcxx/trunk: etc/config/src/DAYLIGHT.cpp examples/manual/insert_wchar.cpp examples/manual/mbsrtowcs.cpp include/complex.c include/complex.cc src/logic_error.cpp te
Author: faridz Date: Tue Oct 30 08:23:50 2007 New Revision: 590118 URL: http://svn.apache.org/viewvc?rev=590118&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r590060 from branches/4.2.x * etc/config/src/DAYLIGHT.cpp: Updated svn:eol-style and svn:keywords properties. * examples/manual/insert_wchar.cpp: Ditto. * examples/manual/mbsrtowcs.cpp: Ditto. * include/complex.c: Ditto. * include/complex.cc: Ditto. * src/logic_error.cpp: Ditto. * tests/strings/21.string.cons.mt.cpp: Ditto. * util/locale_stub.cpp: Ditto. Modified: incubator/stdcxx/trunk/etc/config/src/DAYLIGHT.cpp (props changed) incubator/stdcxx/trunk/examples/manual/insert_wchar.cpp (props changed) incubator/stdcxx/trunk/examples/manual/mbsrtowcs.cpp (props changed) incubator/stdcxx/trunk/include/complex.c (contents, props changed) incubator/stdcxx/trunk/include/complex.cc (props changed) incubator/stdcxx/trunk/src/logic_error.cpp (props changed) incubator/stdcxx/trunk/tests/strings/21.string.cons.mt.cpp (contents, props changed) incubator/stdcxx/trunk/util/locale_stub.cpp (props changed) Propchange: incubator/stdcxx/trunk/etc/config/src/DAYLIGHT.cpp -- svn:eol-style = native Propchange: incubator/stdcxx/trunk/examples/manual/insert_wchar.cpp -- svn:eol-style = native Propchange: incubator/stdcxx/trunk/examples/manual/mbsrtowcs.cpp -- svn:eol-style = native Modified: incubator/stdcxx/trunk/include/complex.c URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/complex.c?rev=590118&r1=590117&r2=590118&view=diff == --- incubator/stdcxx/trunk/include/complex.c (original) +++ incubator/stdcxx/trunk/include/complex.c Tue Oct 30 08:23:50 2007 @@ -2,7 +2,7 @@ * * complex.c * - * $Id:$ + * $Id$ * *** * Propchange: incubator/stdcxx/trunk/include/complex.c -- svn:eol-style = native Propchange: incubator/stdcxx/trunk/include/complex.cc -- svn:eol-style = native Propchange: incubator/stdcxx/trunk/src/logic_error.cpp -- svn:eol-style = native Modified: incubator/stdcxx/trunk/tests/strings/21.string.cons.mt.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/strings/21.string.cons.mt.cpp?rev=590118&r1=590117&r2=590118&view=diff == --- incubator/stdcxx/trunk/tests/strings/21.string.cons.mt.cpp (original) +++ incubator/stdcxx/trunk/tests/strings/21.string.cons.mt.cpp Tue Oct 30 08:23:50 2007 @@ -5,7 +5,7 @@ * Test exercising the thread safety of basic_string constructors * and assignment operators. * - * $Id: 21.string.push_back.mt.cpp 425530 2006-07-25 21:39:50Z sebor $ + * $Id$ * *** * Propchange: incubator/stdcxx/trunk/tests/strings/21.string.cons.mt.cpp -- svn:eol-style = native Propchange: incubator/stdcxx/trunk/tests/strings/21.string.cons.mt.cpp -- svn:keywords = Id Propchange: incubator/stdcxx/trunk/util/locale_stub.cpp -- svn:eol-style = native
svn commit: r590104 - in /incubator/stdcxx/trunk: etc/config/windows/configure.wsf include/rw/_config-msvcrt.h
Author: faridz Date: Tue Oct 30 08:01:00 2007 New Revision: 590104 URL: http://svn.apache.org/viewvc?rev=590104&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r586613 from branches/4.2.x * etc/config/windows/configure.wsf (configure): #define _RWSTD_NO_REENTRANT macro in config.h file for single-threaded builds for compatibility with prior versions of stdcxx on Windows (MSVC 7.x), i.e., in order to make 8s and 11s build types non-reentrant even when the compiler itself doesn't have a non-reentrant runtime (MSVC 8 and beyond). * include/rw/_config-msvcrt.h (_RWSTD_REENTRANT): #define macro only if #defined _MT and not #defined _RWSTD_NO_REENTRANT, for single-threaded builds with compilers that don't have a single-threaded CRT (i.e. MSVC 8, MSVC 9). Modified: incubator/stdcxx/trunk/etc/config/windows/configure.wsf incubator/stdcxx/trunk/include/rw/_config-msvcrt.h Modified: incubator/stdcxx/trunk/etc/config/windows/configure.wsf URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/windows/configure.wsf?rev=590104&r1=590103&r2=590104&view=diff == --- incubator/stdcxx/trunk/etc/config/windows/configure.wsf (original) +++ incubator/stdcxx/trunk/etc/config/windows/configure.wsf Tue Oct 30 08:01:00 2007 @@ -265,6 +265,11 @@ // headers and functions check checkHeaders(); +if (confInfo.mt) +appendLineToOutFile("// #define _RWSTD_NO_REENTRANT"); +else +appendLineToOutFile("#define _RWSTD_NO_REENTRANT"); + // compile .lib.cpp s if (0 == compileLibs(confInfo.dll)) cleanQuit(1, exitmsg); Modified: incubator/stdcxx/trunk/include/rw/_config-msvcrt.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/rw/_config-msvcrt.h?rev=590104&r1=590103&r2=590104&view=diff == --- incubator/stdcxx/trunk/include/rw/_config-msvcrt.h (original) +++ incubator/stdcxx/trunk/include/rw/_config-msvcrt.h Tue Oct 30 08:01:00 2007 @@ -91,7 +91,7 @@ # define _WIN32 #endif -#ifdef _MT +#if defined (_MT) && !defined (_RWSTD_NO_REENTRANT) # ifndef _RWSTD_REENTRANT #define _RWSTD_REENTRANT 1 # endif // _RWSTD_REENTRANT @@ -102,11 +102,14 @@ # define _RWSTD_THREAD __declspec (thread) #endif // _RWSTD_THREAD # endif // _RWSTD_NO_TLS -#else // if !defined (_MT) +#else // if !defined (_MT) || defined (_RWSTD_NO_REENTRANT) +# ifdef _RWSTD_REENTRANT +#undef _RWSTD_REENTRANT +# endif // _RWSTD_REENTRANT # ifndef _RWSTD_THREAD #define _RWSTD_THREAD /* empty */ # endif // _RWSTD_THREAD -#endif //_MT +#endif // _MT && !_RWSTD_NO_REENTRANT #if defined (_CPPRTTI) // override in case library was configured with -GR-
svn commit: r590101 - /incubator/stdcxx/trunk/src/time_put.cpp
Author: faridz Date: Tue Oct 30 07:54:10 2007 New Revision: 590101 URL: http://svn.apache.org/viewvc?rev=590101&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r587215 from branches/4.2.x with a fix for STDCXX-578 * time_put.cpp (__rw_get_timepunct): changed to use operator new/delete for memory allocation to avoid new/delete mismatch with facet destructor. Modified: incubator/stdcxx/trunk/src/time_put.cpp Modified: incubator/stdcxx/trunk/src/time_put.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/src/time_put.cpp?rev=590101&r1=590100&r2=590101&view=diff == --- incubator/stdcxx/trunk/src/time_put.cpp (original) +++ incubator/stdcxx/trunk/src/time_put.cpp Tue Oct 30 07:54:10 2007 @@ -451,7 +451,11 @@ _RWSTD_SIZE_T bufsize = 2048; -char *pbuf = new char [sizeof (__rw_time_t) + bufsize]; +const size_t newsize = bufsize + sizeof (__rw_time_t); + +// allocate memory using operator new to avoid mismatch with +// facet destructor +char *pbuf = _RWSTD_STATIC_CAST (char*, ::operator new (newsize)); __rw_time_t *pun = _RWSTD_REINTERPRET_CAST (__rw_time_t*, pbuf); @@ -603,10 +607,15 @@ if (off + estsize >= bufsize) { // reallocate -char* const tmp = new char [sizeof *pun + bufsize * 2 + estsize]; +const size_t tmpsize = sizeof *pun + bufsize * 2 + estsize; + +// reallocate, again using operator new to avoid mismatch +// with facet destructor +char* const tmp = +_RWSTD_STATIC_CAST(char* const, ::operator new (tmpsize)); memcpy (tmp, pun, sizeof *pun + off); -delete[] _RWSTD_REINTERPRET_CAST (char*, pun); +::operator delete (_RWSTD_REINTERPRET_CAST (char*, pun)); pun = _RWSTD_REINTERPRET_CAST (__rw_time_t*, tmp); pmem = _RWSTD_REINTERPRET_CAST (_RWSTD_UINT32_T*, pun);
svn commit: r590092 - in /incubator/stdcxx/trunk/tests/src: file.cpp locale.cpp
Author: faridz Date: Tue Oct 30 07:44:44 2007 New Revision: 590092 URL: http://svn.apache.org/viewvc?rev=590092&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r587712 from branches/4.2.x * locale.cpp (_XOPEN_SOURCE): Avoided #defining macro when _RWSTD_NO_PURE_C_HEADERS is not #defined (e.g., EDG eccp). * file.cpp: Same. Modified: incubator/stdcxx/trunk/tests/src/file.cpp incubator/stdcxx/trunk/tests/src/locale.cpp Modified: incubator/stdcxx/trunk/tests/src/file.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/src/file.cpp?rev=590092&r1=590091&r2=590092&view=diff == --- incubator/stdcxx/trunk/tests/src/file.cpp (original) +++ incubator/stdcxx/trunk/tests/src/file.cpp Tue Oct 30 07:44:44 2007 @@ -22,7 +22,7 @@ * implied. See the License for the specific language governing * permissions and limitations under the License. * - * Copyright 2004-2006 Rogue Wave Software. + * Copyright 2004-2007 Rogue Wave Software, Inc. * **/ @@ -31,12 +31,16 @@ #include -#if defined __linux__ - // on Linux define _XOPEN_SOURCE to get CODESET defined in -# define _XOPEN_SOURCE 500 /* Single Unix conformance */ - // bring __int32_t into scope (otherwise fails to compile) -# include -#endif // __linux__ +#ifdef _RWSTD_OS_LINUX +# ifdef _RWSTD_NO_PURE_C_HEADERS + // on Linux define _XOPEN_SOURCE to get CODESET defined in + // (avoid this hackery when using pure "C' headers (i.e., with the EDG + // eccp demo) +#define _XOPEN_SOURCE 500 /* Single Unix conformance */ + // bring __int32_t into scope (otherwise fails to compile) +#include +# endif +#endif // Linux #include #include Modified: incubator/stdcxx/trunk/tests/src/locale.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/src/locale.cpp?rev=590092&r1=590091&r2=590092&view=diff == --- incubator/stdcxx/trunk/tests/src/locale.cpp (original) +++ incubator/stdcxx/trunk/tests/src/locale.cpp Tue Oct 30 07:44:44 2007 @@ -22,7 +22,7 @@ * implied. See the License for the specific language governing * permissions and limitations under the License. * - * Copyright 2001-2007 Rogue Wave Software. + * Copyright 2001-2007 Rogue Wave Software, Inc. * **/ @@ -37,11 +37,15 @@ #include// for rw_system() #include// for rw_error() -#if defined (_RWSTD_OS_LINUX) && !defined (_XOPEN_SOURCE) - // on Linux define _XOPEN_SOURCE to get CODESET defined in -# define _XOPEN_SOURCE 500 /* Single Unix conformance */ - // bring __int32_t into scope (otherwise fails to compile) -# include +#ifdef _RWSTD_OS_LINUX +# ifdef _RWSTD_NO_PURE_C_HEADERS + // on Linux define _XOPEN_SOURCE to get CODESET defined in + // (avoid this hackery when using pure "C' headers (i.e., with the EDG + // eccp demo) +#define _XOPEN_SOURCE 500 /* Single Unix conformance */ + // bring __int32_t into scope (otherwise fails to compile) +#include +# endif #endif // Linux #include
svn commit: r590090 - /incubator/stdcxx/trunk/tests/src/thread.cpp
Author: faridz Date: Tue Oct 30 07:43:12 2007 New Revision: 590090 URL: http://svn.apache.org/viewvc?rev=590090&view=rev Log: 2007-10-30 Farid Zaripov <[EMAIL PROTECTED]> Merged r587711 from branches/4.2.x * thread.cpp [!_RWSTD_NO_PURE_C_HEADERS](popen): Declared function for super-strict mode (e.g., EDG eccp). Modified: incubator/stdcxx/trunk/tests/src/thread.cpp Modified: incubator/stdcxx/trunk/tests/src/thread.cpp URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/src/thread.cpp?rev=590090&r1=590089&r2=590090&view=diff == --- incubator/stdcxx/trunk/tests/src/thread.cpp (original) +++ incubator/stdcxx/trunk/tests/src/thread.cpp Tue Oct 30 07:43:12 2007 @@ -22,7 +22,7 @@ * implied. See the License for the specific language governing * permissions and limitations under the License. * - * Copyright 2005-2006 Rogue Wave Software. + * Copyright 2005-2007 Rogue Wave Software, Inc. * **/ @@ -39,6 +39,14 @@ #else # include // for GetSystemInfo() #endif // _WIN32 + +#ifndef _RWSTD_NO_PURE_C_HEADERS + +extern "C" { +FILE* popen (const char*, const char*); +} // extern "C" + +#endif // _RWSTD_NO_PURE_C_HEADERS /**/