svn commit: r612430 - /stdcxx/branches/4.2.x/include/rw/_mutex.h

2008-01-16 Thread faridz
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

2008-01-16 Thread faridz
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

2007-12-19 Thread faridz
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

2007-12-19 Thread faridz
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

2007-12-19 Thread faridz
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

2007-12-19 Thread faridz
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

2007-12-19 Thread faridz
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

2007-12-19 Thread faridz
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

2007-12-19 Thread faridz
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

2007-12-19 Thread faridz
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

2007-12-19 Thread faridz
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

2007-12-10 Thread faridz
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

2007-12-10 Thread faridz
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

2007-12-05 Thread faridz
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

2007-12-05 Thread faridz
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

2007-11-27 Thread faridz
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

2007-11-27 Thread faridz
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

2007-11-27 Thread faridz
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

2007-11-27 Thread faridz
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

2007-11-23 Thread faridz
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

2007-11-23 Thread faridz
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

2007-11-23 Thread faridz
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

2007-11-23 Thread faridz
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/

2007-11-22 Thread faridz
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/

2007-11-22 Thread faridz
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

2007-11-22 Thread faridz
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

2007-11-22 Thread faridz
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

2007-11-22 Thread faridz
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

2007-11-22 Thread faridz
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

2007-11-22 Thread faridz
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

2007-11-22 Thread faridz
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/

2007-11-21 Thread faridz
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/

2007-11-21 Thread faridz
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

2007-11-21 Thread faridz
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

2007-11-21 Thread faridz
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/

2007-11-21 Thread faridz
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/

2007-11-21 Thread faridz
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

2007-11-20 Thread faridz
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

2007-11-20 Thread faridz
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

2007-11-20 Thread faridz
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

2007-11-20 Thread faridz
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

2007-11-19 Thread faridz
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

2007-11-19 Thread faridz
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

2007-11-19 Thread faridz
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

2007-11-19 Thread faridz
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

2007-11-19 Thread faridz
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

2007-11-19 Thread faridz
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

2007-11-19 Thread faridz
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

2007-11-19 Thread faridz
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

2007-11-19 Thread faridz
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

2007-11-19 Thread faridz
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

2007-11-19 Thread faridz
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

2007-11-15 Thread faridz
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

2007-11-15 Thread faridz
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

2007-11-14 Thread faridz
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

2007-11-14 Thread faridz
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

2007-11-14 Thread faridz
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

2007-11-12 Thread faridz
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

2007-11-12 Thread faridz
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

2007-11-12 Thread faridz
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

2007-11-12 Thread faridz
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

2007-11-12 Thread faridz
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

2007-11-12 Thread faridz
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

2007-11-09 Thread faridz
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

2007-11-09 Thread faridz
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

2007-11-09 Thread faridz
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

2007-11-09 Thread faridz
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

2007-11-09 Thread faridz
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

2007-11-08 Thread faridz
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

2007-11-08 Thread faridz
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

2007-11-02 Thread faridz
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

2007-11-02 Thread faridz
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

2007-11-01 Thread faridz
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

2007-11-01 Thread faridz
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

2007-10-31 Thread faridz
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

2007-10-31 Thread faridz
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

2007-10-31 Thread faridz
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

2007-10-31 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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/

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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

2007-10-30 Thread faridz
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
 
 /**/
 




  1   2   3   4   5   >