svn commit: r618983 - /stdcxx/branches/4.2.x/etc/config/windows/configure.wsf

2008-02-06 Thread faridz
Author: faridz
Date: Wed Feb  6 04:49:48 2008
New Revision: 618983

URL: http://svn.apache.org/viewvc?rev=618983view=rev
Log:
2008-02-06  Farid Zaripov  [EMAIL PROTECTED]

STDCXX-685
* etc/config/windows/configure.wsf (makeLibrary): Use '\'
instead of '/' in path for consistency.

Modified:
stdcxx/branches/4.2.x/etc/config/windows/configure.wsf

Modified: stdcxx/branches/4.2.x/etc/config/windows/configure.wsf
URL: 
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/windows/configure.wsf?rev=618983r1=618982r2=618983view=diff
==
--- stdcxx/branches/4.2.x/etc/config/windows/configure.wsf (original)
+++ stdcxx/branches/4.2.x/etc/config/windows/configure.wsf Wed Feb  6 04:49:48 
2008
@@ -1054,7 +1054,7 @@
 return ret;
 
 var objNames = srcFiles.replace(/(?:[\S]+[/])?([^/]+\.)cpp/gi, 
-stageDir + /$1obj);
+stageDir + \\$1obj);
 
 if (shared)
 {




svn commit: r619228 - in /stdcxx/trunk: include/rw/_streamiter.h tests/iterators/24.istream.iterator.cpp

2008-02-06 Thread sebor
Author: sebor
Date: Wed Feb  6 16:16:21 2008
New Revision: 619228

URL: http://svn.apache.org/viewvc?rev=619228view=rev
Log:
2008-02-06  Martin Sebor  [EMAIL PROTECTED]

STDCXX-645
* include/rw/_streamiter.h (operator*): Checked fail() instead
of eof() on the associated stream before turning the object into
the end-of-stream iterator, as per LWG issue 788.

* tests/iterators/24.istream.iterator.cpp (test_ctors): Inserted
a valid number instead of NUL into test stream.
(test_ops): Changed the expected result of equality comparison
with the end-of-stream iterator according to LWG issue 788.
(opt_char, opt_wchar_t, opt_UserTraits, opt_short, opt_int,
opt_long, opt_double): Added tri-state options.
(do_test, run_test, main): Handled said options.

Modified:
stdcxx/trunk/include/rw/_streamiter.h
stdcxx/trunk/tests/iterators/24.istream.iterator.cpp

Modified: stdcxx/trunk/include/rw/_streamiter.h
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_streamiter.h?rev=619228r1=619227r2=619228view=diff
==
--- stdcxx/trunk/include/rw/_streamiter.h (original)
+++ stdcxx/trunk/include/rw/_streamiter.h Wed Feb  6 16:16:21 2008
@@ -120,7 +120,9 @@
 operator++ ()
 {
 // incrementing an end-of-stream iterator has undefined behavior
-if (_C_strm  (*_C_strm  _C_val).eof ())
+
+// see also LWG issue 788
+if (_C_strm  (*_C_strm  _C_val).fail ())
 _C_strm = 0;
 
 return *this;

Modified: stdcxx/trunk/tests/iterators/24.istream.iterator.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/iterators/24.istream.iterator.cpp?rev=619228r1=619227r2=619228view=diff
==
--- stdcxx/trunk/tests/iterators/24.istream.iterator.cpp (original)
+++ stdcxx/trunk/tests/iterators/24.istream.iterator.cpp Wed Feb  6 16:16:21 
2008
@@ -100,8 +100,7 @@
 // below, to prevent the iterator ctor from creating an end-of-stream
 // iterator (in case it doesn't delay extracting a value until it's
 // needed)
-strm1.rdbuf ()-sputc (CharT ());
-strm1.rdbuf ()-sputc (CharT ());
+strm1  1 2 ;
 
 // verify [reverse.iter], p3, i.e., that two istream_iterators
 // constructed from the same stream always compare equal
@@ -119,7 +118,7 @@
 StringStream strm2;
 strm2.imbue (strm1.getloc ());
 
-strm2.rdbuf ()-sputc (CharT ());
+strm2  2 ;
 
 const Iterator iter3 (strm2);
 
@@ -209,46 +208,58 @@
 const bool is_signed = zero - one  zero;
 const bool is_exact  = one / two == zero;
 
+// see LWG issue 788
+// an istream_iterator object becomes an end-of-stream iterator
+// after a failed extraction (i.e., when the call to fail() on
+// the associated stream returns true)
+
 if (is_char) {
+
+//+-- controlled sequence
+//| +-- extracted value
+//| |+-- iterator equal to EOS after extraction
+//| ||  +-- stream state after extraction
+//| ||  |
+//V VV  V
 TEST (,  '\0', true,  Eof | Fail);
 TEST (1, '1',  false, Good);
 TEST (2, '2',  false, Good);
 }
 else {
 TEST (,  0, true,  Eof | Fail);
-TEST (1, 1, true,  Eof);
+TEST (1, 1, false, Eof);
 TEST (1 ,1, false, Good);
-TEST (+1,1, true,  Eof);
-TEST ( 1,1, true,  Eof);
+TEST (+1,1, false, Eof);
+TEST ( 1,1, false, Eof);
 TEST ( 1 ,   1, false, Good);
-TEST ( +1,   1, true,  Eof);
-TEST (2, 2, true,  Eof);
-TEST (+2,2, true,  Eof);
-TEST ( 2,2, true,  Eof);
-TEST ( +2,   2, true,  Eof);
-TEST (99,   99, true,  Eof);
-TEST (+99,  99, true,  Eof);
-TEST ( 99,  99, true,  Eof);
-TEST ( +99, 99, true,  Eof);
+TEST ( +1,   1, false, Eof);
+TEST (2, 2, false, Eof);
+TEST (+2,2, false, Eof);
+TEST ( 2,2, false, Eof);
+TEST ( +2,   2, false, Eof);
+TEST (99,   99, false, Eof);
+TEST (+99,  99, false, Eof);
+TEST ( 99,  99, false, Eof);
+TEST ( +99, 99, false, Eof);
 
 TEST (+, 0, true,  Eof | Fail);
 TEST (-, 0, true,  Eof | Fail);
 TEST ( +,0, true,  Eof | Fail);
 TEST ( -,0, true,  Eof | Fail);
-TEST (++,0, false, Fail);
-TEST (--,0, false, Fail);
-TEST ( ++,   0, false, Fail);
-TEST ( --,   0, false, Fail);
-TEST (*, 0, false, Fail);
-TEST ( *,0, false, Fail);
+TEST (++,0, true,  Fail);
+TEST (--,0, true,  Fail);
+TEST ( ++,   0, true,  Fail);
+TEST ( --,   0, true,  Fail);
+TEST (*, 0,