svn commit: r1035812 - /stdcxx/site/status/2010-11.txt

2010-11-16 Thread sebor
Author: sebor
Date: Tue Nov 16 21:01:51 2010
New Revision: 1035812

URL: http://svn.apache.org/viewvc?rev=1035812&view=rev
Log:
2010-11-16  Martin Sebor  

* status/stdcxx-status/2010-11.txt: Board report for November 2010.
To be copied into 

https://svn.apache.org/repos/private/foundation/board/board_agenda_2010_11_17.txt

Added:
stdcxx/site/status/2010-11.txt   (with props)

Added: stdcxx/site/status/2010-11.txt
URL: 
http://svn.apache.org/viewvc/stdcxx/site/status/2010-11.txt?rev=1035812&view=auto
==
--- stdcxx/site/status/2010-11.txt (added)
+++ stdcxx/site/status/2010-11.txt Tue Nov 16 21:01:51 2010
@@ -0,0 +1,10 @@
+Notable changes since previous report (September 2010):
+
+  No project activity since the last report.
+
+Future plans:
+
+  I'm considering stepping down as chair of stdcxx. I haven't had
+  time to spend on the project or to help interested contributors
+  become committers. Unless another committer steps up willing to
+  take on the responsibility stdcxx might need to be retired.

Propchange: stdcxx/site/status/2010-11.txt
--
svn:eol-style = native

Propchange: stdcxx/site/status/2010-11.txt
--
svn:keywords = Id




svn commit: r1070346 - /stdcxx/site/status/2011-02.txt

2011-02-13 Thread sebor
Author: sebor
Date: Mon Feb 14 00:54:28 2011
New Revision: 1070346

URL: http://svn.apache.org/viewvc?rev=1070346&view=rev
Log:
2011-02-13  Martin Sebor  

* status/stdcxx-status/2010-11.txt: Board report for February 2011.
To be copied into

https://svn.apache.org/repos/private/foundation/board/board_agenda_2011_02_16.txt

Added:
stdcxx/site/status/2011-02.txt   (with props)

Added: stdcxx/site/status/2011-02.txt
URL: 
http://svn.apache.org/viewvc/stdcxx/site/status/2011-02.txt?rev=1070346&view=auto
==
--- stdcxx/site/status/2011-02.txt (added)
+++ stdcxx/site/status/2011-02.txt Mon Feb 14 00:54:28 2011
@@ -0,0 +1,32 @@
+Notable changes since previous report (November 2010):
+
+  Stdcxx continues to be dormant. All but committer have moved on
+  to other projects. The only remaining committer (the VP of the
+  project) is too busy with his day job to make even small changes,
+  or to put out the long-awaited patch release, stdcxx 4.2.2.
+
+  A number of users and organizations have been using the project
+  and expressed interest in contributing to it. Several submitted
+  patches, others have offered help with the project build and test
+  infrastructure. Unfortunately, since no committer is available to
+  review patches and guide the contributors through the ASF process
+  to enable them to gain commit privileges there seems to be little
+  hope of reviving stdcxx.
+
+  A possible solution that would allow contributions to resume is
+  to grant commit privileges to the handful of contributors who have
+  already submitted some patches or expressed serious interest in
+  contributing going forward.
+
+  Another alternative is to move stdcxx to a repository outside of
+  ASF such as SourceForge or similar where interested developers
+  could start committing changes on their own right away, without
+  going through the "training" process. This seems to the preferred
+  solution among at least some of the interested users.
+
+  Are there any other options?
+
+Future plans:
+
+  Unless the issue with contributions can be resolved in the next
+  quarter I suggest to retire the project.

Propchange: stdcxx/site/status/2011-02.txt
--
svn:eol-style = native

Propchange: stdcxx/site/status/2011-02.txt
--
svn:keywords = Id




svn commit: r1070350 - /stdcxx/site/status/2011-02.txt

2011-02-13 Thread sebor
Author: sebor
Date: Mon Feb 14 01:05:51 2011
New Revision: 1070350

URL: http://svn.apache.org/viewvc?rev=1070350&view=rev
Log:
2011-02-13  Martin Sebor  

* status/stdcxx-status/2010-11.txt: Updated/modified board report
for February 2011.

Modified:
stdcxx/site/status/2011-02.txt

Modified: stdcxx/site/status/2011-02.txt
URL: 
http://svn.apache.org/viewvc/stdcxx/site/status/2011-02.txt?rev=1070350&r1=1070349&r2=1070350&view=diff
==
--- stdcxx/site/status/2011-02.txt (original)
+++ stdcxx/site/status/2011-02.txt Mon Feb 14 01:05:51 2011
@@ -18,11 +18,11 @@ Notable changes since previous report (N
   already submitted some patches or expressed serious interest in
   contributing going forward.
 
-  Another alternative is to move stdcxx to a repository outside of
-  ASF such as SourceForge or similar where interested developers
-  could start committing changes on their own right away, without
-  going through the "training" process. This seems to the preferred
-  solution among at least some of the interested users.
+  Another alternative is to move stdcxx to a repository outside
+  of ASF such as SPI (http://www.spi-inc.org/) where interested
+  developers could start committing changes on their own right away,
+  without going through the "training" process. This seems to the
+  preferred solution among at least some of the interested users.
 
   Are there any other options?
 




svn commit: r1078388 - in /stdcxx/branches/4.2.x: ./ etc/config/ etc/config/src/

2011-03-05 Thread sebor
Author: sebor
Date: Sat Mar  5 23:27:46 2011
New Revision: 1078388

URL: http://svn.apache.org/viewvc?rev=1078388&view=rev
Log:
2011-03-05  Martin Sebor  

STDCXX-1052
* GNUmakefile (MAKEFILE_IN): Added LIBM.
* etc/config/makefile.common (LDLIBS): Replaced -lm with $(LIBM).
* etc/config/GNUmakefile.cfg (LDFLAGS): Same.
(config): Added a descriptive message to the generated vars.sh.
* etc/config/src/libc_decl.sh: Repaced lib with libname and libopt,
used LIBM, and avoided hardcoding -lc and -lm.
* etc/config/sunpro.config: Added LIBM.
* etc/config/acc.config: Same.
* etc/config/reliant_cds.config: Same.
* etc/config/mipspro.config: Same.
* etc/config/gcc.config: Same.
* etc/config/como.config: Same.
* etc/config/icc.config: Same.
* etc/config/osf_cxx.config: Same.
* etc/config/vacpp.config: Same.
* etc/config/eccp.config: Same.

Modified:
stdcxx/branches/4.2.x/GNUmakefile
stdcxx/branches/4.2.x/etc/config/GNUmakefile.cfg
stdcxx/branches/4.2.x/etc/config/acc.config
stdcxx/branches/4.2.x/etc/config/como.config
stdcxx/branches/4.2.x/etc/config/eccp.config
stdcxx/branches/4.2.x/etc/config/gcc.config
stdcxx/branches/4.2.x/etc/config/icc.config
stdcxx/branches/4.2.x/etc/config/makefile.common
stdcxx/branches/4.2.x/etc/config/mipspro.config
stdcxx/branches/4.2.x/etc/config/osf_cxx.config
stdcxx/branches/4.2.x/etc/config/reliant_cds.config
stdcxx/branches/4.2.x/etc/config/src/libc_decl.sh
stdcxx/branches/4.2.x/etc/config/sunpro.config
stdcxx/branches/4.2.x/etc/config/vacpp.config

Modified: stdcxx/branches/4.2.x/GNUmakefile
URL: 
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/GNUmakefile?rev=1078388&r1=1078387&r2=1078388&view=diff
==
--- stdcxx/branches/4.2.x/GNUmakefile (original)
+++ stdcxx/branches/4.2.x/GNUmakefile Sat Mar  5 23:27:46 2011
@@ -121,6 +121,10 @@
 #
 #   DEPENDDIR - the subdirectory where dependency files will reside
 #
+#   LIBM  - the linker option to link with the math library
+#   (typically -lm, may be unnecessary or not even exist
+#   on some systems) 
+#
 #   LIBNAME   - full name of the library being built
 #
 #   LIBVER- library version number in the .. format
@@ -600,6 +604,11 @@ endef   # make-builddir
 
 
 # create $(MAKEFILE_IN)
+#
+# NOTE: adding a new variable here that is used by the configuration
+#   machinery requires replacing $BUILDDIR/$(MAKEFILE_IN) as well
+#   as $BUILDDIR/include/vars.sh generated from this file and
+#   used by the libc_decl.sh script
 $(MAKEFILE_IN): $(configpath)
@(   $(make-builddir);  \
  echo "generating $(MAKEFILE_IN) from $(configpath)"\
@@ -625,6 +634,7 @@ $(MAKEFILE_IN): $(configpath)
   && echo "LDFLAGS= $(LDFLAGS)"  >> $(MAKEFILE_IN)  \
   && echo "LDLIBS = $(LDLIBS)"   >> $(MAKEFILE_IN)  \
   && echo "LDSOFLAGS  = $(LDSOFLAGS)">> $(MAKEFILE_IN)  \
+  && echo "LIBM   = $(LIBM)" >> $(MAKEFILE_IN)  \
   && echo "MAPFLAGS   = $(MAPFLAGS)" >> $(MAKEFILE_IN)  \
   && echo "RPATH  = $(RPATH)">> $(MAKEFILE_IN)  \
   && [ "$(MAPFILE)" = "" ]  \
@@ -652,7 +662,7 @@ $(MAKEFILE_IN): $(configpath)
   && echo "CADVISEFLAGS = $(CADVISEFLAGS)"   >> $(MAKEFILE_IN)  \
   && echo "WITH_PURIFY = $(WITH_PURIFY)" >> $(MAKEFILE_IN)  \
   && echo "PURIFYFLAGS = $(PURIFYFLAGS)" >> $(MAKEFILE_IN)  \
-  && echo "CXX_REPOSITORY = $(CXX_REPOSITORY)"  >> $(MAKEFILE_IN));
+  && echo "CXX_REPOSITORY = $(CXX_REPOSITORY)"   >> $(MAKEFILE_IN));
 
 # creates the build directory tree and generates makefile.in
 builddir: $(MAKEFILE_IN)

Modified: stdcxx/branches/4.2.x/etc/config/GNUmakefile.cfg
URL: 
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/etc/config/GNUmakefile.cfg?rev=1078388&r1=1078387&r2=1078388&view=diff
==
--- stdcxx/branches/4.2.x/etc/config/GNUmakefile.cfg (original)
+++ stdcxx/branches/4.2.x/etc/config/GNUmakefile.cfg Sat Mar  5 23:27:46 2011
@@ -87,7 +87,7 @@ endif
 
 # append $(LDLIBS) last, after $(LDOPTS), since the latter may depend
 # on the former being after it on the link line
-LDFLAGS += -lm $(LDLIBS)
+LDFLAG

svn commit: r1124511 - /stdcxx/site/status/2011-05.txt

2011-05-18 Thread sebor
Author: sebor
Date: Thu May 19 02:00:47 2011
New Revision: 1124511

URL: http://svn.apache.org/viewvc?rev=1124511&view=rev
Log:
2011-05-18  Martin Sebor  

* 2011-05.txt: Board report for May 2011.
To be copied into

https://svn.apache.org/repos/private/foundation/board/board_agenda_2011_05_19.txt.

Added:
stdcxx/site/status/2011-05.txt   (with props)

Added: stdcxx/site/status/2011-05.txt
URL: 
http://svn.apache.org/viewvc/stdcxx/site/status/2011-05.txt?rev=1124511&view=auto
==
--- stdcxx/site/status/2011-05.txt (added)
+++ stdcxx/site/status/2011-05.txt Thu May 19 02:00:47 2011
@@ -0,0 +1,5 @@
+Notable changes since previous report (February 2011):
+
+  No changes. Stdcxx continues to be dormant. There was a flurry of emails
+  on the stdcxx-dev list suggesting continued interest from the same two
+  parties (ARM and Sun) but no new work.

Propchange: stdcxx/site/status/2011-05.txt
--
svn:eol-style = native

Propchange: stdcxx/site/status/2011-05.txt
--
svn:keywords = Id




svn commit: r1158420 - /stdcxx/site/status/2011-08.txt

2011-08-16 Thread sebor
Author: sebor
Date: Tue Aug 16 18:48:45 2011
New Revision: 1158420

URL: http://svn.apache.org/viewvc?rev=1158420&view=rev
Log:
2011-08-16  Martin Sebor  

* 2011-08.txt: Board report for August 2011. To be copied into

https://svn.apache.org/repos/private/foundation/board/board_agenda_2011_08_17.txt

Added:
stdcxx/site/status/2011-08.txt   (with props)

Added: stdcxx/site/status/2011-08.txt
URL: 
http://svn.apache.org/viewvc/stdcxx/site/status/2011-08.txt?rev=1158420&view=auto
==
--- stdcxx/site/status/2011-08.txt (added)
+++ stdcxx/site/status/2011-08.txt Tue Aug 16 18:48:45 2011
@@ -0,0 +1,5 @@
+Notable changes since previous report (May 2011):
+
+  There have been no changes to Apache stdcxx. An inetersted contributor
+  seems to have opted to set up a fork of stdcxx at www.spi-inc.org (or
+  is in the process of doing so).

Propchange: stdcxx/site/status/2011-08.txt
--
svn:eol-style = native

Propchange: stdcxx/site/status/2011-08.txt
--
svn:keywords = Id




svn commit: r613305 - in /stdcxx/site: bugs.html download.html images/stdcxx.png index.html

2008-01-18 Thread sebor
Author: sebor
Date: Fri Jan 18 14:59:26 2008
New Revision: 613305

URL: http://svn.apache.org/viewvc?rev=613305&view=rev
Log:
2008-01-18  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-701
* index.html (What Is): Reworded slightly to make the project
name more prominent than the code name/keyword stdcxx.
Removed incubator logo and replaced with an (IMO) better looking
version of the Apache C++ Standard Library logo than the original
GIF.
* bugs.html: Same.
* download.html: Same.
* images/stdcxx.png: New (but by no means final) project logo.

Added:
stdcxx/site/images/stdcxx.png   (with props)
Modified:
stdcxx/site/bugs.html
stdcxx/site/download.html
stdcxx/site/index.html

Modified: stdcxx/site/bugs.html
URL: 
http://svn.apache.org/viewvc/stdcxx/site/bugs.html?rev=613305&r1=613304&r2=613305&view=diff
==
--- stdcxx/site/bugs.html (original)
+++ stdcxx/site/bugs.html Fri Jan 18 14:59:26 2008
@@ -10,32 +10,23 @@
   
 
   
+
 
 
   http://apache.org/";>Apache >
-  http://incubator.apache.org/";>Incubator >
-  http://incubator.apache.org/stdcxx/";>stdcxx >
-  http://incubator.apache.org/stdcxx/bugs.html";>Bugs
+  http://stdcxx.apache.org/";>stdcxx
 
+
 
   
-http://incubator.apache.org/";>
+http://stdcxx.apache.org/";>
   
 
   
-  
-http://incubator.apache.org/stdcxx/";>
-  
-
-  
   
 http://www.google.com/search";
   method="get"
@@ -45,6 +36,7 @@
   
 
   
+
   
 
   Bugs

Modified: stdcxx/site/download.html
URL: 
http://svn.apache.org/viewvc/stdcxx/site/download.html?rev=613305&r1=613304&r2=613305&view=diff
==
--- stdcxx/site/download.html (original)
+++ stdcxx/site/download.html Fri Jan 18 14:59:26 2008
@@ -10,32 +10,23 @@
   
 
   
+
 
 
   http://apache.org/";>Apache >
-  http://incubator.apache.org/";>Incubator >
-  http://incubator.apache.org/stdcxx/";>stdcxx >
-  http://incubator.apache.org/stdcxx/download.html";>Download
+  http://stdcxx.apache.org/";>stdcxx
 
+
 
   
-http://incubator.apache.org/";>
+http://stdcxx.apache.org/";>
   
 
   
-  
-http://incubator.apache.org/stdcxx/";>
-  
-
-  
   
 http://www.google.com/search";
   method="get"
@@ -45,6 +36,7 @@
   
 
   
+
   
 
   Download

Added: stdcxx/site/images/stdcxx.png
URL: 
http://svn.apache.org/viewvc/stdcxx/site/images/stdcxx.png?rev=613305&view=auto
==
Binary file - no diff available.

Propchange: stdcxx/site/images/stdcxx.png
--
svn:mime-type = application/octet-stream

Modified: stdcxx/site/index.html
URL: 
http://svn.apache.org/viewvc/stdcxx/site/index.html?rev=613305&r1=613304&r2=613305&view=diff
==
--- stdcxx/site/index.html (original)
+++ stdcxx/site/index.html Fri Jan 18 14:59:26 2008
@@ -14,30 +14,19 @@
 
 
   http://apache.org/";>Apache >
-  http://incubator.apache.org/";>Incubator >
-  http://incubator.apache.org/stdcxx/";>stdcxx
+  http://stdcxx.apache.org/";>stdcxx
 
 
 
   
-http://incubator.apache.org/";>
+http://stdcxx.apache.org/";>
   
 
   
-  
-http://incubator.apache.org/stdcxx/";>
-  
-
-
-  
   
 http://www.google.com/search";
   method="get"
@@ -147,11 +136,11 @@
 
   
   
-STDCXX - Apache C++ Standard Library
+Apache C++ Standard Library (STDCXX)
 
   
 
-What is stdcxx?
+What is The Apache C++ Standard 
Library?
 Objectives
 Project News
 Platforms
@@ -169,22 +158,22 @@
 
 
 
-What is stdcxx?
+What is the Apache C++ Standard Library?
 
   
 
-The   stdcxx   project  (pronounced   "standard   C++  library",   not
-S-T-D-C-X-X) is a collection of algorithms, containers, iterators, and
-other fundamental  components of every piece  of software, implemented
-as  C++ classes, templates,  and functions  essential for  writing C++
-programs.
+The Apache C++ Standard Library project (code name stdcxx, pro

svn commit: r614727 - /stdcxx/site/index.html

2008-01-23 Thread sebor
Author: sebor
Date: Wed Jan 23 15:12:40 2008
New Revision: 614727

URL: http://svn.apache.org/viewvc?rev=614727&view=rev
Log:
2008-01-23  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-701
* index.html: Updated project mailing list addresses and links
to archives throughout the page to reflect TLP status.

Modified:
stdcxx/site/index.html

Modified: stdcxx/site/index.html
URL: 
http://svn.apache.org/viewvc/stdcxx/site/index.html?rev=614727&r1=614726&r2=614727&view=diff
==
--- stdcxx/site/index.html (original)
+++ stdcxx/site/index.html Wed Jan 23 15:12:40 2008
@@ -358,7 +358,7 @@
   
   
 
-6/1/2007 Started tracking site visitation at http://analytics.google.com/";>Google Analytics under https://www.google.com/analytics/reporting/dashboard?id=3205802";>stdcxx.
 Send an email from your http://mail.google.com";>Google Mail account to mailto:stdcxx-dev@incubator.apache.org";>stdcxx-dev to request 
access to the account.
+6/1/2007 Started tracking site visitation at http://analytics.google.com/";>Google Analytics under https://www.google.com/analytics/reporting/dashboard?id=3205802";>stdcxx.
 Send an email from your http://mail.google.com";>Google Mail account to mailto:dev@stdcxx.apache.org";>dev to request access to the 
account.
 
   
   
@@ -765,12 +765,12 @@
 
 The  mailing list  appropriate  for discussions  of  using the  stdcxx
 project  is mailto:stdcxx-user@incubator.apache.org";>stdcxx-user@incubator.apache.org.
 This
+href="mailto:user@stdcxx.apache.org";>user@stdcxx.apache.org.
 This
 isanhttp://mail-archives.apache.org/mod_mbox/incubator-stdcxx-user/";>archived,
+href="http://mail-archives.apache.org/mod_mbox/stdcxx-user/";>archived,
 moderated mailing list open to  all subscribers.  You may subscribe by
 sending  a blank  email  to mailto:stdcxx-user-subscribe@incubator.apache.org";>stdcxx-user-subscribe@incubator.apache.org.
 To obtain additional information about this list send a blank email to stdcxx-user-info@incubator.apache.org.
+href="mailto:user-subscribe@stdcxx.apache.org";>user-subscribe@stdcxx.apache.org.
 To obtain additional information about this list send a blank email to user-info@stdcxx.apache.org.
 
   

@@ -807,7 +807,7 @@
 The stdcxx community welcomes  new contributors. If you are interested
 in getting involved,  the first thing to do  after reading the project
 Web  pages  is  to  subscribe  to  the  mailto:stdcxx-dev@incubator.apache.org";>stdcxx-dev
+href="mailto:dev@stdcxx.apache.org";>dev
 mailing list  and skimming the  archives. If you're looking  for ideas
 for where your help might be needed, browse the bug database or simply
 ask on the maling list.
@@ -1078,12 +1078,12 @@
 
 The  mailing list  used by  stdcxx committers  for discussions  of the
 maintenance,  development, and  porting of  the stdcxx  project  is mailto:stdcxx-dev@incubator.apache.org";>stdcxx-dev@incubator.apache.org.
 This
+href="mailto:dev@stdcxx.apache.org";>dev@stdcxx.apache.org.
 This
 isanhttp://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/";>archived,
+href="http://mail-archives.apache.org/mod_mbox/stdcxx-dev/";>archived,
 moderated mailing list  open to all subscribers. You  may subscribe by
 sending  a blank  email  to mailto:stdcxx-dev-subscribe@incubator.apache.org";>stdcxx-dev-subscribe@incubator.apache.org.
+href="mailto:dev-subscribe@stdcxx.apache.org";>dev-subscribe@stdcxx.apache.org.
 
   

@@ -1180,7 +1180,8 @@
 Martin Sebor
   
 
-
+http://www.apache.org/dev/pmc.html#chair";>
+PMC Chair
   
 
   
@@ -1201,11 +1202,11 @@
   
 
 The  PMC mailing  list  is mailto:stdcxx-ppmc@incubator.apache.org";>stdcxx-ppmc@incubator.apache.org.
 This
+href="mailto:private@stdcxx.apache.org";>private@stdcxx.apache.org.
 This
 is  a  moderated,  by-invitation-only   mailing  list  closed  to  the
 public. Invited individuals can subscribe  by sending a blank email to
 mailto:stdcxx-ppmc-subscribe@incubator.apache.org";>stdcxx-ppmc-subscribe@incubator.apache.org.
+href="mailto:private-subscribe@stdcxx.apac

svn commit: r614760 - /stdcxx/trunk/tests/src/driver.cpp

2008-01-23 Thread sebor
Author: sebor
Date: Wed Jan 23 16:50:26 2008
New Revision: 614760

URL: http://svn.apache.org/viewvc?rev=614760&view=rev
Log:
2008-01-23  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-704
* driver.cpp [__EDG__](RW_TEST_COMPILER): Moved conditional #definition
last to avoid preempting the more-specific compiler macro.
[__HP_aCC](RW_TEST_COMPILER): Correctly detected HP aCC 6 even though
it uses the EDG front end and added the version of EDG eccp to the
definition of the macro.

Modified:
stdcxx/trunk/tests/src/driver.cpp

Modified: stdcxx/trunk/tests/src/driver.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/src/driver.cpp?rev=614760&r1=614759&r2=614760&view=diff
==
--- stdcxx/trunk/tests/src/driver.cpp (original)
+++ stdcxx/trunk/tests/src/driver.cpp Wed Jan 23 16:50:26 2008
@@ -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-2008 Rogue Wave Software, Inc.
  *
  **/
 
@@ -134,12 +134,16 @@
 #  define RW_TEST_COMPILER "Intel C++, __INTEL_COMPILER = " \
   RW_TEST_STR (__INTEL_COMPILER)
 #endif
-#  elif defined (__EDG__)
-#define RW_TEST_COMPILER "EDG eccp, __EDG_VERSION__ = " \
-RW_TEST_STR (__EDG_VERSION__)
 #  elif defined (__HP_aCC)
+#if defined (__EDG_VERSION__)
+#  define RW_TEST_ACC_EDG_VER \
+  ", __EDG_VERSION__ = "  RW_TEST_STR (__EDG_VERSION__)
+#else
+#  define RW_TEST_ACC_EDG_VER ""
+#endif
 #define RW_TEST_COMPILER "HP aCC, __HP_aCC = " \
-RW_TEST_STR (__HP_aCC)
+RW_TEST_STR (__HP_aCC) \
+RW_TEST_ACC_EDG_VER
 #  elif defined (__IBMCPP__)
 #define RW_TEST_COMPILER "IBM VisualAge C++, __IBMCPP__ = " \
 RW_TEST_STR (__IBMCPP__)
@@ -149,6 +153,12 @@
 #  elif defined (__SUNPRO_CC)
 #define RW_TEST_COMPILER "SunPro, __SUNPRO_CC = " \
 RW_TEST_STR (__SUNPRO_CC)
+#  elif defined (__EDG__)
+ // handle the vanilla EDG eccp last to avoid overriding
+ // the real compiler's macro (compilers such as Intel C++
+ // and HP aCC use eccp for their C++ front end) 
+#define RW_TEST_COMPILER "EDG eccp, __EDG_VERSION__ = " \
+RW_TEST_STR (__EDG_VERSION__)
 #  else
 #define RW_TEST_COMPILER "unknown"
 #  endif




svn commit: r614775 - /stdcxx/site/index.html

2008-01-23 Thread sebor
Author: sebor
Date: Wed Jan 23 18:53:57 2008
New Revision: 614775

URL: http://svn.apache.org/viewvc?rev=614775&view=rev
Log:
2008-01-23  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-701
* index.html (Mailing Lists): Added links to local archives
under /people.apache.org:/www/stdcxx.apache.org/mail.   

STDCXX-703
* index.html (Mailing Lists): Added links to Nabble forums
for all newly added lists except private.

Modified:
stdcxx/site/index.html

Modified: stdcxx/site/index.html
URL: 
http://svn.apache.org/viewvc/stdcxx/site/index.html?rev=614775&r1=614774&r2=614775&view=diff
==
--- stdcxx/site/index.html (original)
+++ stdcxx/site/index.html Wed Jan 23 18:53:57 2008
@@ -1282,21 +1282,27 @@
 
   
 
-The  following table provides  a summary  of information  about stdcxx mailing
-lists along with a number of interfaces to their archives.  All  lists are
-moderated. The activity  of each list is monitored and  can be viewed along
-with  other interesting information on  this http://people.apache.org/~coar/mlists.html";>page maintained  by   http://ken.coar.org/";>Ken Coar.
+The  following table provides  a summary  of information  about stdcxx
+mailing lists along with a number of interfaces to their archives.
+All  lists are moderated. Only subscribers may post. Subscription
+to mailto:private@stdcxx.apache.org";>private is by
+invitation of the PMC only. With one exception, the activity of each
+list is monitored and  can be viewed along with other interesting
+information on
+this http://people.apache.org/~coar/mlists.html";>page
+maintained  by   http://ken.coar.org/";>Ken
+Coar.
 
   
 
   
 
-  
+
+   
 
   name
   subscribe
+  raw archives
   
 http://mail-archives.apache.org/";>Apache archive
   
@@ -1308,7 +1314,9 @@
   
   activity
 
+  
 
+   
 
   
 mailto:dev@stdcxx.apache.org";>
@@ -1321,14 +1329,16 @@
 
   
   
+http://stdcxx.apache.org/mail/dev/";>mail/dev
+  
+  
 http://mail-archives.apache.org/mod_mbox/stdcxx-dev/";>
   mod_mbox
 
   
   
 http://www.nabble.com/stdcxx-dev-f26255.html";>
-  forum
-
+  stdcxx-dev forum
   
   
 
   
   
+http://stdcxx.apache.org/mail/user/";>mail/user
+  
+  
 http://mail-archives.apache.org/mod_mbox/stdcxx-user/";>
   mod_mbox
 
   
-  N/A
+  
+http://www.nabble.com/stdcxx-user-f30600.html";>
+  stdcxx-user forum
+  
   N/A
   
 http://people.apache.org/~coar/mlists.html#user_at_stdcxx.apache.org";>stats
@@ -1365,25 +1382,28 @@
 
 
 
-  
-mailto:commits@stdcxx.apache.org";>
-  commits
-
-  
+  commits
   
 mailto:commits-subscribe@stdcxx.apache.org";>
   commits-subscribe
 
   
   
+http://stdcxx.apache.org/mail/commits/";>mail/commits
+  
+  
 http://mail-archives.apache.org/mod_mbox/stdcxx-commits/";>
   mod_mbox
 
   
-  N/A
   
 http://www.mail-archive.com/[EMAIL PROTECTED]/">mail 
archive
+   href="http://www.nabble.com/stdcxx-commits-f30597.html";>
+  stdcxx-commits forum
+  
+  
+http://www.mail-archive.com/[EMAIL PROTECTED]/">mail 
archive
   
   
 http://people.apache.org/~coar/mlists.html#commits_at_stdcxx.apache.org";>stats
@@ -1392,6 +1412,32 @@
 
 
 
+  issues
+  
+mailto:issues-subscribe@stdcxx.apache.org";>
+  issues-subscribe
+
+  
+  
+http://stdcxx.apache.org/mail/issues/";>mail/issues
+  
+  
+http://mail-archives.apache.org/mod_mbox/stdcxx-issues/";>
+  mod_mbox
+ 

svn commit: r614790 - /stdcxx/branches/4.2.x/tests/src/driver.cpp

2008-01-23 Thread sebor
Author: sebor
Date: Wed Jan 23 20:22:43 2008
New Revision: 614790

URL: http://svn.apache.org/viewvc?rev=614790&view=rev
Log:
2008-01-23  Martin Sebor  <[EMAIL PROTECTED]>

Merged rev 614760 with a fix for STDCXX-704 from trunk.
* driver.cpp [__EDG__](RW_TEST_COMPILER): Moved conditional #definition
last to avoid preempting the more-specific compiler macro.
[__HP_aCC](RW_TEST_COMPILER): Correctly detected HP aCC 6 even though
it uses the EDG front end and added the version of EDG eccp to the
definition of the macro.

Modified:
stdcxx/branches/4.2.x/tests/src/driver.cpp

Modified: stdcxx/branches/4.2.x/tests/src/driver.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/tests/src/driver.cpp?rev=614790&r1=614789&r2=614790&view=diff
==
--- stdcxx/branches/4.2.x/tests/src/driver.cpp (original)
+++ stdcxx/branches/4.2.x/tests/src/driver.cpp Wed Jan 23 20:22:43 2008
@@ -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-2008 Rogue Wave Software, Inc.
  *
  **/
 
@@ -134,12 +134,16 @@
 #  define RW_TEST_COMPILER "Intel C++, __INTEL_COMPILER = " \
   RW_TEST_STR (__INTEL_COMPILER)
 #endif
-#  elif defined (__EDG__)
-#define RW_TEST_COMPILER "EDG eccp, __EDG_VERSION__ = " \
-RW_TEST_STR (__EDG_VERSION__)
 #  elif defined (__HP_aCC)
+#if defined (__EDG_VERSION__)
+#  define RW_TEST_ACC_EDG_VER \
+  ", __EDG_VERSION__ = "  RW_TEST_STR (__EDG_VERSION__)
+#else
+#  define RW_TEST_ACC_EDG_VER ""
+#endif
 #define RW_TEST_COMPILER "HP aCC, __HP_aCC = " \
-RW_TEST_STR (__HP_aCC)
+RW_TEST_STR (__HP_aCC) \
+RW_TEST_ACC_EDG_VER
 #  elif defined (__IBMCPP__)
 #define RW_TEST_COMPILER "IBM VisualAge C++, __IBMCPP__ = " \
 RW_TEST_STR (__IBMCPP__)
@@ -149,6 +153,12 @@
 #  elif defined (__SUNPRO_CC)
 #define RW_TEST_COMPILER "SunPro, __SUNPRO_CC = " \
 RW_TEST_STR (__SUNPRO_CC)
+#  elif defined (__EDG__)
+ // handle the vanilla EDG eccp last to avoid overriding
+ // the real compiler's macro (compilers such as Intel C++
+ // and HP aCC use eccp for their C++ front end) 
+#define RW_TEST_COMPILER "EDG eccp, __EDG_VERSION__ = " \
+RW_TEST_STR (__EDG_VERSION__)
 #  else
 #define RW_TEST_COMPILER "unknown"
 #  endif




svn commit: r614980 - /stdcxx/trunk/tests/support/18.numeric.special.float.cpp

2008-01-24 Thread sebor
Author: sebor
Date: Thu Jan 24 12:27:33 2008
New Revision: 614980

URL: http://svn.apache.org/viewvc?rev=614980&view=rev
Log:
2008-01-24  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-4
* tests/support/18.numeric.special.float.cpp: Migrated the test to
exercise floating point specializations of the numeric_limits class
template from the Rogue Wave test suite.

Added:
stdcxx/trunk/tests/support/18.numeric.special.float.cpp   (with props)

Added: stdcxx/trunk/tests/support/18.numeric.special.float.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/support/18.numeric.special.float.cpp?rev=614980&view=auto
==
--- stdcxx/trunk/tests/support/18.numeric.special.float.cpp (added)
+++ stdcxx/trunk/tests/support/18.numeric.special.float.cpp Thu Jan 24 12:27:33 
2008
@@ -0,0 +1,1433 @@
+/***
+ *
+ * 18.numeric.special.float.cpp
+ *
+ *   test to exercise floating point specializations of the numeric_limits
+ *   class template
+ *
+ * $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.
+ *
+ * Copyright 2000-2008 Rogue Wave Software, Inc.
+ * 
+ ***/
+
+#include 
+
+#if defined (__IBMCPP__) && !defined (_RWSTD_NO_IMPLICIT_INCLUSION)
+   // disable implicit inclusion to work around 
+   // a limitation in IBM's VisualAge 5.0.2.0 (see PR#26959) 
+#  define _RWSTD_NO_IMPLICIT_INCLUSION 
+#endif 
+ 
+
+#include 
+
+#include 
+#include// for atof
+#include // for sprintf
+
+#include// for constants, MSVC _fpclass, _isinf, _isnan
+#include // for fpclassify, isinf, isnan
+
+#ifndef _RWSTD_NO_IEEEFP_H
+#  include// for fpclass, isnan
+#endif   // _RWSTD_NO_IEEEFP_H
+
+#include 
+
+// use FLT_ROUNDS if available, otherwise (e.g., when  must
+// be #included to bring the macro in), fall back on our own macro
+#ifndef FLT_ROUNDS
+#  define FLT_ROUNDS   _RWSTD_FLT_ROUNDS
+#endif   // FLT_ROUNDS
+
+/***/
+
+// determine whether the architecture is little-endian or big-endian
+static const int endian_test = 1;
+
+// extern works around a SunPro 5.4 bug (PR #28124)
+extern const bool big_endian = !*(const char*)&endian_test;
+
+/***/
+
+volatile float  flt_zero  = 0;
+volatile double dbl_zero  = 0;
+
+#ifndef _RWSTD_NO_LONG_DOUBLE
+
+volatile long double ldbl_zero = 0;
+
+#endif   // _RWSTD_NO_LONG_DOUBLE
+
+/***/
+
+#if defined (_MSC_VER)
+
+const char* fpclass_name (int fpc)
+{
+switch (fpc) {
+case _FPCLASS_SNAN: return "_FPCLASS_SNAN";
+case _FPCLASS_QNAN: return "_FPCLASS_QNAN";
+case _FPCLASS_NINF: return "_FPCLASS_NINF";
+case _FPCLASS_NN:   return "_FPCLASS_NN";
+case _FPCLASS_ND:   return "_FPCLASS_ND";
+case _FPCLASS_NZ:   return "_FPCLASS_NZ";
+case _FPCLASS_PZ:   return "_FPCLASS_PZ";
+case _FPCLASS_PD:   return "_FPCLASS_PD";
+case _FPCLASS_PN:   return "_FPCLASS_PN";
+case _FPCLASS_PINF: return "_FPCLASS_PINF";
+}
+
+static char buf [16];
+std::sprintf (buf, "%#x", fpc);
+return buf;
+}
+
+#elif defined (_RWSTD_OS_SUNOS)
+
+const char* fpclass_name (fpclass_t fpc)
+{
+switch (fpc) {
+case FP_SNAN:return "FP_SNAN";
+case FP_QNAN:return "FP_QNAN";
+case FP_NINF:return "FP_NINF";
+case FP_PINF:return "FP_PINF";
+case FP_NDENORM: return "FP_NDENORM";
+case FP_PDENORM: return "FP_PDENORM";
+case FP_NZERO:   return "FP_NZERO";
+case FP_PZERO:   return "FP_PZERO";
+case FP_NNORM:   return "FP_NNORM";
+case FP_PNORM:   return &q

svn commit: r615061 - /stdcxx/trunk/tests/support/18.numeric.special.float.cpp

2008-01-24 Thread sebor
Author: sebor
Date: Thu Jan 24 14:25:22 2008
New Revision: 615061

URL: http://svn.apache.org/viewvc?rev=615061&view=rev
Log:
2008-01-24  Martin Sebor  <[EMAIL PROTECTED]>

* tests/support/18.numeric.special.float.cpp (signaling_NaN):
Corrected typo.
(test_limits): Finished migrating to stdcxx test driver missed
in initial submission (r614980).

Modified:
stdcxx/trunk/tests/support/18.numeric.special.float.cpp

Modified: stdcxx/trunk/tests/support/18.numeric.special.float.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/support/18.numeric.special.float.cpp?rev=615061&r1=615060&r2=615061&view=diff
==
--- stdcxx/trunk/tests/support/18.numeric.special.float.cpp (original)
+++ stdcxx/trunk/tests/support/18.numeric.special.float.cpp Thu Jan 24 14:25:22 
2008
@@ -1071,7 +1071,7 @@
 
 #  ifdef __hpux
 
-if (big_endian) { on floating types
+if (big_endian) {
 snan.bits [sizeof snan.val - 3] = '\x80';
 }
 else {
@@ -1173,19 +1173,19 @@
 
 // self-test: assert that endianness is correctly computed
 #if defined (__alpha)
-RW_WARNING (t, !big_endian, ("alpha is typically little-endian"));
+rw_warn (!big_endian, 0, __LINE__, "alpha is typically little-endian");
 #elif defined (_AIX)
-RW_WARNING (t, big_endian, ("AIX is big-endian"));
-#elif defined (__hppa)
-RW_WARNING (t, big_endian, ("HPPA is big-endian"));
+rw_warn (big_endian, 0, __LINE__, "AIX is big-endian");
+#elif defined (__hpux) && defined (_BIG_ENDIAN)
+rw_warn (big_endian, 0, __LINE__, "HP-UX is big-endian");
 #elif defined (__i386__)
-RW_WARNING (t, !big_endian, ("Intel x86 is little-endian"));
+rw_warn (!big_endian, 0, __LINE__, "Intel x86 is little-endian");
 #elif defined (__sparc)
-RW_WARNING (t, big_endian, ("SPARC is big-endian"));
+rw_warn (big_endian, 0, __LINE__, "SPARC is big-endian");
 #elif defined (_WIN64)
-RW_WARNING (t, !big_endian, ("WIN64 is little-endian"));
+rw_warn (!big_endian, "WIN64 is little-endian");
 #elif defined (_WIN32)
-RW_WARNING (t, !big_endian, ("WIN32 is little-endian"));
+rw_warn (!big_endian, "WIN32 is little-endian");
 #endif
 
 #ifndef _RWSTD_NO_STATIC_CONST_MEMBER_INIT
@@ -1224,7 +1224,7 @@
 /* verify value */   \
 rw_assert (FLim::member == value, 0, __LINE__,   \
"numeric_limits<%s>::" #member " == %i, got %i",  \
-   tname, FVal::member, value);  \
+   tname, FVal::member (), value);   \
 } while (0)
 
 // account for NaN != NaN




svn commit: r615092 - /stdcxx/site/index.html

2008-01-24 Thread sebor
Author: sebor
Date: Thu Jan 24 17:09:41 2008
New Revision: 615092

URL: http://svn.apache.org/viewvc?rev=615092&view=rev
Log:
2008-01-24  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-703
* index.html (Mailing Lists): Added links to stdcxx archives at MARC.

Modified:
stdcxx/site/index.html

Modified: stdcxx/site/index.html
URL: 
http://svn.apache.org/viewvc/stdcxx/site/index.html?rev=615092&r1=615091&r2=615092&view=diff
==
--- stdcxx/site/index.html (original)
+++ stdcxx/site/index.html Thu Jan 24 17:09:41 2008
@@ -1312,6 +1312,9 @@
   
 http://www.mail-archive.com";>The 
Mail Archive
   
+  
+http://marc.info/";>MARC
+  
   activity
 
   
@@ -1345,6 +1348,10 @@
href="http://www.mail-archive.com/[EMAIL PROTECTED]/">mail 
archive
   
   
+http://marc.info/?l=apache-stdcxx-dev";>
+  apache-stdcxx-dev
+  
+  
 http://people.apache.org/~coar/mlists.html#dev_at_stdcxx.apache.org";>stats
 
   
@@ -1376,6 +1383,11 @@
   
   N/A
   
+http://marc.info/?l=apache-stdcxx-user";>
+  apache-stdcxx-user
+  
+  
 http://people.apache.org/~coar/mlists.html#user_at_stdcxx.apache.org";>stats
 
   
@@ -1406,6 +1418,11 @@
   href="http://www.mail-archive.com/[EMAIL PROTECTED]/">mail 
archive
   
   
+http://marc.info/?l=apache-stdcxx-commits";>
+  apache-stdcxx-commits
+  
+  
 http://people.apache.org/~coar/mlists.html#commits_at_stdcxx.apache.org";>stats
 
   
@@ -1432,6 +1449,11 @@
   
   N/A
   
+http://marc.info/?l=apache-stdcxx-issues";>
+  apache-stdcxx-issues
+  
+  
 http://people.apache.org/~coar/mlists.html#issues_at_stdcxx.apache.org";>stats
 
   
@@ -1447,6 +1469,7 @@
   private-subscribe
 
   
+  N/A
   N/A
   N/A
   N/A




svn commit: r616162 - /stdcxx/site/index.html

2008-01-28 Thread sebor
Author: sebor
Date: Mon Jan 28 20:20:25 2008
New Revision: 616162

URL: http://svn.apache.org/viewvc?rev=616162&view=rev
Log:
2008-01-28  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-703
* index.html (Mailing Lists): Added/updated links to The Mail Archive.

Modified:
stdcxx/site/index.html

Modified: stdcxx/site/index.html
URL: 
http://svn.apache.org/viewvc/stdcxx/site/index.html?rev=616162&r1=616161&r2=616162&view=diff
==
--- stdcxx/site/index.html (original)
+++ stdcxx/site/index.html Mon Jan 28 20:20:25 2008
@@ -1307,10 +1307,12 @@
 http://mail-archives.apache.org/";>Apache archive
   
   
-http://www.nabble.com";>Nabble 
Forums
+http://www.nabble.com";>
+  Nabble Forums
   
   
-http://www.mail-archive.com";>The 
Mail Archive
+http://www.mail-archive.com";>
+  The Mail Archive
   
   
 http://marc.info/";>MARC
@@ -1340,12 +1342,14 @@
 
   
   
-http://www.nabble.com/stdcxx-dev-f26255.html";>
+http://www.nabble.com/stdcxx-dev-f26255.html";>
   stdcxx-dev forum
   
   
 http://www.mail-archive.com/[EMAIL PROTECTED]/">mail 
archive
+   href="http://www.mail-archive.com/[EMAIL PROTECTED]/">
+  dev
   
   
 http://marc.info/?l=apache-stdcxx-dev";>
@@ -1381,7 +1385,11 @@
href="http://www.nabble.com/stdcxx-user-f30600.html";>
   stdcxx-user forum
   
-  N/A
+  
+http://www.mail-archive.com/[EMAIL PROTECTED]/">
+  user
+  
   
 http://marc.info/?l=apache-stdcxx-user";>
@@ -1415,7 +1423,8 @@
   
   
 http://www.mail-archive.com/[EMAIL PROTECTED]/">mail 
archive
+  
href="http://www.mail-archive.com/commits@stdcxx.apache.org/";>
+  commits
   
   
 http://www.nabble.com/stdcxx-issues-f30599.html";>
   stdcxx-issues forum
   
-  N/A
+  
+http://www.mail-archive.com/[EMAIL PROTECTED]/">
+  issues
+  
   
 http://marc.info/?l=apache-stdcxx-issues";>




svn commit: r616976 - /stdcxx/trunk/tests/self/0.printf.cpp

2008-01-30 Thread sebor
Author: sebor
Date: Wed Jan 30 17:27:10 2008
New Revision: 616976

URL: http://svn.apache.org/viewvc?rev=616976&view=rev
Log:
2008-01-30  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-705
* 0.printf.cpp [_RWSTD_OS_HP_UX](bad_address): Used (0 - 32)
as an invalid address.

Modified:
stdcxx/trunk/tests/self/0.printf.cpp

Modified: stdcxx/trunk/tests/self/0.printf.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/self/0.printf.cpp?rev=616976&r1=616975&r2=616976&view=diff
==
--- stdcxx/trunk/tests/self/0.printf.cpp (original)
+++ stdcxx/trunk/tests/self/0.printf.cpp Wed Jan 30 17:27:10 2008
@@ -170,8 +170,9 @@
 // the first page is usually unmapped
 addr = (char*)32;
 #else
-// the first page on HP-UX is readable, this might work
-addr = (char*)(void*)bad_address + 1024 * 1024 * 16;
+// the first page on HP-UX is readable, this should give
+// an invalid (inaccessible) address both on IPF and PA
+addr = (char*)(0 - size_t (32));
 #endif   // _RWSTD_OS_HP_UX
 
 }




svn commit: r617627 - /stdcxx/branches/4.2.x/tests/self/0.printf.cpp

2008-02-01 Thread sebor
Author: sebor
Date: Fri Feb  1 12:15:41 2008
New Revision: 617627

URL: http://svn.apache.org/viewvc?rev=617627&view=rev
Log:
2008-02-01  Martin Sebor  <[EMAIL PROTECTED]>

Merged rev 616976 from trunk.

2008-01-30 Martin Sebor <[EMAIL PROTECTED]>

STDCXX-705
* tests/src/0.printf.cpp [_RWSTD_OS_HP_UX](bad_address): Used
(0 - 32) as an invalid address.

Modified:
stdcxx/branches/4.2.x/tests/self/0.printf.cpp

Modified: stdcxx/branches/4.2.x/tests/self/0.printf.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/tests/self/0.printf.cpp?rev=617627&r1=617626&r2=617627&view=diff
==
--- stdcxx/branches/4.2.x/tests/self/0.printf.cpp (original)
+++ stdcxx/branches/4.2.x/tests/self/0.printf.cpp Fri Feb  1 12:15:41 2008
@@ -170,8 +170,9 @@
 // the first page is usually unmapped
 addr = (char*)32;
 #else
-// the first page on HP-UX is readable, this might work
-addr = (char*)(void*)bad_address + 1024 * 1024 * 16;
+// the first page on HP-UX is readable, this should give
+// an invalid (inaccessible) address both on IPF and PA
+addr = (char*)(0 - size_t (32));
 #endif   // _RWSTD_OS_HP_UX
 
 }




svn propchange: r616976 - svn:log

2008-02-01 Thread sebor
Author: sebor
Revision: 616976
Modified property: svn:log

Modified: svn:log at Fri Feb  1 12:17:13 2008
--
--- svn:log (original)
+++ svn:log Fri Feb  1 12:17:13 2008
@@ -1,5 +1,5 @@
 2008-01-30  Martin Sebor  <[EMAIL PROTECTED]>
 
STDCXX-705
-   * 0.printf.cpp [_RWSTD_OS_HP_UX](bad_address): Used (0 - 32)
-   as an invalid address.
+   * tests/self/0.printf.cpp [_RWSTD_OS_HP_UX](bad_address): Used
+   (0 - 32) as an invalid address.



svn propchange: r617627 - svn:log

2008-02-01 Thread sebor
Author: sebor
Revision: 617627
Modified property: svn:log

Modified: svn:log at Fri Feb  1 12:18:04 2008
--
--- svn:log (original)
+++ svn:log Fri Feb  1 12:18:04 2008
@@ -5,5 +5,5 @@
2008-01-30 Martin Sebor <[EMAIL PROTECTED]>
 
STDCXX-705
-   * tests/src/0.printf.cpp [_RWSTD_OS_HP_UX](bad_address): Used
+   * tests/self/0.printf.cpp [_RWSTD_OS_HP_UX](bad_address): Used
(0 - 32) as an invalid address.



svn commit: r618441 [3/3] - in /stdcxx/site/forrest: ./ src/ src/documentation/ src/documentation/classes/ src/documentation/content/ src/documentation/content/xdocs/ src/documentation/content/xdocs/i

2008-02-04 Thread sebor
Propchange: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/spacer.gif
--
svn:mime-type = application/octet-stream

Added: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tab-left.gif
URL: 
http://svn.apache.org/viewvc/stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tab-left.gif?rev=618441&view=auto
==
Binary file - no diff available.

Propchange: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tab-left.gif
--
svn:mime-type = application/octet-stream

Added: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tab-right.gif
URL: 
http://svn.apache.org/viewvc/stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tab-right.gif?rev=618441&view=auto
==
Binary file - no diff available.

Propchange: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tab-right.gif
--
svn:mime-type = application/octet-stream

Added: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tl-off.gif
URL: 
http://svn.apache.org/viewvc/stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tl-off.gif?rev=618441&view=auto
==
Binary file - no diff available.

Propchange: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tl-off.gif
--
svn:mime-type = application/octet-stream

Added: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tl-on.gif
URL: 
http://svn.apache.org/viewvc/stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tl-on.gif?rev=618441&view=auto
==
Binary file - no diff available.

Propchange: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tl-on.gif
--
svn:mime-type = application/octet-stream

Added: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tr-off.gif
URL: 
http://svn.apache.org/viewvc/stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tr-off.gif?rev=618441&view=auto
==
Binary file - no diff available.

Propchange: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tr-off.gif
--
svn:mime-type = application/octet-stream

Added: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tr-on.gif
URL: 
http://svn.apache.org/viewvc/stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tr-on.gif?rev=618441&view=auto
==
Binary file - no diff available.

Propchange: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/tr-on.gif
--
svn:mime-type = application/octet-stream

Added: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/xmldoc.gif
URL: 
http://svn.apache.org/viewvc/stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/xmldoc.gif?rev=618441&view=auto
==
Binary file - no diff available.

Propchange: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/images/xmldoc.gif
--
svn:mime-type = application/octet-stream

Added: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/panels/pelt-css.panel.xml
URL: 
http://svn.apache.org/viewvc/stdcxx/site/forrest/src/documentation/resources/themes/pelt/panels/pelt-css.panel.xml?rev=618441&view=auto
==
--- 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/panels/pelt-css.panel.xml
 (added)
+++ 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/panels/pelt-css.panel.xml
 Mon Feb  4 13:20:33 2008
@@ -0,0 +1,172 @@
+
+
+http://apache.org/forrest/templates/1.0";
+  xmlns:jx="http://apache.org/cocoon/templates/jx/1.0";>
+  
+
+  
+Pelt
+  
+
+
+
+
+
+
+
+
+
+
+  
+
+  
+

Propchange: 
stdcxx/site/forrest/src/documentation/resources/themes/pelt/panels/pelt-css.panel.xml
--
svn:eol-style

svn commit: r618477 - /stdcxx/site/forrest/src/documentation/content/xdocs/favicon.ico

2008-02-04 Thread sebor
Author: sebor
Date: Mon Feb  4 14:42:20 2008
New Revision: 618477

URL: http://svn.apache.org/viewvc?rev=618477&view=rev
Log:
2008-02-04  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-686
* src/documentation/content/xdocs/favicon.ico: Dummy file
to prevent forrest build failures. Need to replace with
something useful.

Added:
stdcxx/site/forrest/src/documentation/content/xdocs/favicon.ico   (with 
props)

Added: stdcxx/site/forrest/src/documentation/content/xdocs/favicon.ico
URL: 
http://svn.apache.org/viewvc/stdcxx/site/forrest/src/documentation/content/xdocs/favicon.ico?rev=618477&view=auto
==
Binary file - no diff available.

Propchange: stdcxx/site/forrest/src/documentation/content/xdocs/favicon.ico
--
svn:mime-type = application/octet-stream




svn commit: r618836 - /stdcxx/trunk/tests/self/0.printf.cpp

2008-02-05 Thread sebor
Author: sebor
Date: Tue Feb  5 16:15:42 2008
New Revision: 618836

URL: http://svn.apache.org/viewvc?rev=618836&view=rev
Log:
2008-02-05  Martin Sebor  <[EMAIL PROTECTED]>

* 0.printf.cpp (test_ios_bitmasks): Exercised the %{Is} extension
to format ios::iostate values.

Modified:
stdcxx/trunk/tests/self/0.printf.cpp

Modified: stdcxx/trunk/tests/self/0.printf.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/self/0.printf.cpp?rev=618836&r1=618835&r2=618836&view=diff
==
--- stdcxx/trunk/tests/self/0.printf.cpp (original)
+++ stdcxx/trunk/tests/self/0.printf.cpp Tue Feb  5 16:15:42 2008
@@ -22,7 +22,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 2005-2007 Rogue Wave Software, Inc.
+ * Copyright 2005-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -35,7 +35,7 @@
 #include // for rw_putenv()
 
 #include// for bitset
-#include   // for ios::openmode, ios::seekdir
+#include   // for ios::iostate, ios::openmode, ios::seekdir
 #include// for string
 
 #include  // for assert()
@@ -805,6 +805,29 @@
 static void
 test_ios_bitmasks ()
 {
+//
+printf ("%s\n", "extension: \"%{Is}\": std::ios_base::iostate");
+
+const int bad  = std::ios_base::badbit;
+const int eof  = std::ios_base::eofbit;
+const int fail = std::ios_base::failbit;
+const int good = std::ios_base::goodbit;
+
+TEST ("[%{Is}]", 0,0, 0, "[goodbit]");
+TEST ("[%{Is}]", bad,  0, 0, "[badbit]");
+TEST ("[%{Is}]", eof,  0, 0, "[eofbit]");
+TEST ("[%{Is}]", fail, 0, 0, "[failbit]");
+
+TEST ("[%{#Is}]", 0,   0, 0, "[std::ios::goodbit]");
+TEST ("[%{#Is}]", bad, 0, 0, "[std::ios::badbit]");
+TEST ("[%{#Is}]", eof, 0, 0, "[std::ios::eofbit]");
+TEST ("[%{#Is}]", fail,0, 0, "[std::ios::failbit]");
+
+TEST ("[%{Is}]", bad | eof,0, 0, "[badbit | eofbit]");
+TEST ("[%{Is}]", bad | fail,   0, 0, "[badbit | failbit]");
+TEST ("[%{Is}]", eof | fail,   0, 0, "[eofbit | failbit]");
+TEST ("[%{Is}]", bad | eof | fail, 0, 0, "[badbit | eofbit | failbit]");
+
 //
 printf ("%s\n", "extension: \"%{Io}\": std::ios_base::opemode");
 




svn commit: r618878 - in /stdcxx/trunk/tests/iterators: ./ 24.istream.iterator.cpp

2008-02-05 Thread sebor
Author: sebor
Date: Tue Feb  5 20:23:49 2008
New Revision: 618878

URL: http://svn.apache.org/viewvc?rev=618878&view=rev
Log:
2008-02-05  Martin Sebor  <[EMAIL PROTECTED]>

* 24.istream.iterator.cpp: New test exercising [istream.iterator],
including STDCXX-645.

Added:
stdcxx/trunk/tests/iterators/
stdcxx/trunk/tests/iterators/24.istream.iterator.cpp   (with props)

Added: stdcxx/trunk/tests/iterators/24.istream.iterator.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/iterators/24.istream.iterator.cpp?rev=618878&view=auto
==
--- stdcxx/trunk/tests/iterators/24.istream.iterator.cpp (added)
+++ stdcxx/trunk/tests/iterators/24.istream.iterator.cpp Tue Feb  5 20:23:49 
2008
@@ -0,0 +1,395 @@
+/***
+ *
+ * 24.istream.iterator.cpp - test exercising [istream.iterator]
+ *
+ * $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   // for stringstream
+#include  // for istream_iterator
+
+#include   // for ptrdiff_t
+
+#include 
+#include 
+#include 
+
+/***/
+
+// names of template parameters
+struct ParamNames {
+const char *tname;// name of the T parameter
+const char *tfmt; // rw_printf()-style format for T
+const char *cname;// name of the CharT parameter
+const char *trname;   // name of the Traits parameter
+const char *dname;// name of the Distance parameter
+};
+
+
+// format the template-id of the iterator
+void fmtnam (const ParamNames &pn)
+{
+// omit names of unspecified (default) template arguments
+const char* const id = pn.cname ? pn.trname ? pn.dname ?
+"<%s, %s, %s, %s>" : "<%s, %s, %s>" : "<%s, %s>" : "<%s>";
+
+rw_fprintf (0, "%{$ITER!:@}",
+"[EMAIL PROTECTED]",
+id, pn.tname, pn.cname, pn.trname, pn.dname);
+}
+
+/***/
+
+// for convenience
+template 
+struct TempParams { ParamNames names; };
+
+
+// exercise istream_iterator ctors
+template 
+void test_ctors (const TempParams ¶ms)
+{
+typedef std::istream_iterator Iterator;
+typedef std::basic_stringstreamStringStream;
+
+const Iterator eos1;
+const Iterator eos2;
+
+// verify [reverse.iter], p3, i.e., that two end-of-istream
+// always compare equal, and that no end-of-stream iterator
+// compares equal to a non-end-of-stream iterator
+
+fmtnam (params.names);
+
+rw_assert (eos1 == eos2, 0, __LINE__,
+   "%{$ITER}::istream_iterator() == %{$ITER}::istream_iterator()");
+
+StringStream strm1;
+
+// make sure the stream object's locale contains the expected
+// specialization of the num_get facet (in case CharT isn't
+// char or wchar_t, or Traits isn't std::char_traits)
+typedef std::istreambuf_iterator StreambufIterator;
+typedef std::num_get  NumGet;
+
+if (false == std::has_facet(strm1.getloc ())) {
+const std::locale loc (std::locale::classic (), new NumGet);
+strm1.imbue (loc);
+}
+
+// insert a couple of items into the stream, one for each iterator
+// 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 ());
+
+// verify [reverse.iter], p3, i.e., that two istream_iterators
+// constructed from the same stream always compare equal
+const Iterator iter1 (strm1);
+const Iterator iter2 (strm1);
+
+rw_assert (iter1 != eos1, 0, __LINE__,
+   "%{$ITER}::istream_iterator(basic_istream&) 

svn commit: r618879 - /stdcxx/trunk/tests/regress/24.istream.iterator.cons.stdcxx-645.cpp

2008-02-05 Thread sebor
Author: sebor
Date: Tue Feb  5 20:28:24 2008
New Revision: 618879

URL: http://svn.apache.org/viewvc?rev=618879&view=rev
Log:
2008-02-05  Martin Sebor  <[EMAIL PROTECTED]>

* 24.istream.iterator.cons.stdcxx-645.cpp: Added a regression
test for STDCXX-645.

Added:
stdcxx/trunk/tests/regress/24.istream.iterator.cons.stdcxx-645.cpp   (with 
props)

Added: stdcxx/trunk/tests/regress/24.istream.iterator.cons.stdcxx-645.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/regress/24.istream.iterator.cons.stdcxx-645.cpp?rev=618879&view=auto
==
--- stdcxx/trunk/tests/regress/24.istream.iterator.cons.stdcxx-645.cpp (added)
+++ stdcxx/trunk/tests/regress/24.istream.iterator.cons.stdcxx-645.cpp Tue Feb  
5 20:28:24 2008
@@ -0,0 +1,42 @@
+/***
+ *
+ * 24.istream.iterator.cons.stdcxx-645.cpp
+ * regression test for STDCXX-645:
+ * http://issues.apache.org/jira/browse/STDCXX-645
+ *
+ * $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 ()
+{
+std::istringstream a ("1");
+std::istream_iterator i (a);
+
+std::istringstream b ("2");
+std::istream_iterator j (b);
+
+assert (!(i == j));
+}

Propchange: stdcxx/trunk/tests/regress/24.istream.iterator.cons.stdcxx-645.cpp
--
svn:eol-style = native

Propchange: stdcxx/trunk/tests/regress/24.istream.iterator.cons.stdcxx-645.cpp
--
svn:keywords = Id




svn commit: r618883 - /stdcxx/trunk/include/rw/_streamiter.h

2008-02-05 Thread sebor
Author: sebor
Date: Tue Feb  5 20:33:37 2008
New Revision: 618883

URL: http://svn.apache.org/viewvc?rev=618883&view=rev
Log:
2008-02-05  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-645
* _streamiter.h (operator++): Tested associated stream for eofbit
rather than (badbit|failbit) as (admittedly somewhat ambiguously)
specifiedn [istream.iterator].
(operator==): Simplified and corrected to compare stream pointers
only without taking the states of the stream objects into account.

Modified:
stdcxx/trunk/include/rw/_streamiter.h

Modified: stdcxx/trunk/include/rw/_streamiter.h
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_streamiter.h?rev=618883&r1=618882&r2=618883&view=diff
==
--- stdcxx/trunk/include/rw/_streamiter.h (original)
+++ stdcxx/trunk/include/rw/_streamiter.h Tue Feb  5 20:33:37 2008
@@ -25,7 +25,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -99,9 +99,7 @@
 _RWSTD_OPERATOR_ARROW (const value_type* operator->() const);
 
 // 24.5.1.2, p3
-istream_iterator& operator++ () {
-return _C_strm && !!*_C_strm && (*_C_strm >> _C_val), *this;
-}
+istream_iterator& operator++ ();
 
 // 24.5.1.2, p5
 istream_iterator operator++ (int) {
@@ -116,13 +114,26 @@
 };
 
 
+template 
+inline istream_iterator<_TypeT, _CharT, _Traits, _Distance>&
+istream_iterator<_TypeT, _CharT, _Traits, _Distance>::
+operator++ ()
+{
+// incrementing an end-of-stream iterator has undefined behavior
+if (_C_strm && (*_C_strm >> _C_val).eof ())
+_C_strm = 0;
+
+return *this;
+}
+
+
 // 24.5.1.2, p6
 template 
 inline bool
 operator== (const istream_iterator<_TypeT, _CharT, _Traits, _Distance>& __x,
 const istream_iterator<_TypeT, _CharT, _Traits, _Distance>& __y)
 {
-return (__x._C_strm && !!*__x._C_strm) == (__y._C_strm && !!*__y._C_strm);
+return __x._C_strm == __y._C_strm;
 }
 
 




svn commit: r619099 - /stdcxx/trunk/tests/regress/24.istream.iterator.ops.stdcxx-321.cpp

2008-02-06 Thread sebor
Author: sebor
Date: Wed Feb  6 10:51:49 2008
New Revision: 619099

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

* 24.istream.iterator.ops.stdcxx-321.cpp: Added a regression
test for STDCXX-321.

Added:
stdcxx/trunk/tests/regress/24.istream.iterator.ops.stdcxx-321.cpp   (with 
props)

Added: stdcxx/trunk/tests/regress/24.istream.iterator.ops.stdcxx-321.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/regress/24.istream.iterator.ops.stdcxx-321.cpp?rev=619099&view=auto
==
--- stdcxx/trunk/tests/regress/24.istream.iterator.ops.stdcxx-321.cpp (added)
+++ stdcxx/trunk/tests/regress/24.istream.iterator.ops.stdcxx-321.cpp Wed Feb  
6 10:51:49 2008
@@ -0,0 +1,49 @@
+/***
+ *
+ * 24.istream.iterator.ops.stdcxx-321.cpp: regression test for STDCXX-321
+ *
+ * http://issues.apache.org/jira/browse/STDCXX-321
+ *
+ * $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 
+
+// no iostream header should be #included in this test
+#ifdef _RWSTD_ISTREAM_INCLUDED
+#  error " unexpectedly #included"
+#endif   // _RWSTD_ISTREAM_INCLUDED
+
+int main ()
+{
+const std::istream_iterator it;
+const std::istream_iterator eos;
+
+// istream_iterator equality operator should compile
+// when the  header isn't #included (and
+// the iterator should compare equal to the end of
+// stream iterator)
+assert (it == eos);
+
+return 0;
+}

Propchange: stdcxx/trunk/tests/regress/24.istream.iterator.ops.stdcxx-321.cpp
--
svn:eol-style = native

Propchange: stdcxx/trunk/tests/regress/24.istream.iterator.ops.stdcxx-321.cpp
--
svn:keywords = Id




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=619228&view=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=619228&r1=619227&r2=619228&view=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=619228&r1=619227&r2=619228&view=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 | 

svn commit: r620027 - /stdcxx/trunk/util/display.cpp

2008-02-08 Thread sebor
Author: sebor
Date: Fri Feb  8 15:14:22 2008
New Revision: 620027

URL: http://svn.apache.org/viewvc?rev=620027&view=rev
Log:
2008-02-08  Martin Sebor  <[EMAIL PROTECTED]>

* display.cpp (print_target_plain): Increased column width to
so as to fit the longest test name (currently 35 characters).

Modified:
stdcxx/trunk/util/display.cpp

Modified: stdcxx/trunk/util/display.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/util/display.cpp?rev=620027&r1=620026&r2=620027&view=diff
==
--- stdcxx/trunk/util/display.cpp (original)
+++ stdcxx/trunk/util/display.cpp Fri Feb  8 15:14:22 2008
@@ -144,7 +144,7 @@
 
 assert (0 == defaults->verbose);
 
-printf ("%-30.30s ", target_name);
+printf ("%-40.40s ", target_name);
 
 /* flush to prevent killing a signal from not displaying the text */
 fflush (stdout);




svn commit: r620043 - /stdcxx/trunk/bin/duration

2008-02-08 Thread sebor
Author: sebor
Date: Fri Feb  8 15:51:33 2008
New Revision: 620043

URL: http://svn.apache.org/viewvc?rev=620043&view=rev
Log:
2008-02-08  Martin Sebor  <[EMAIL PROTECTED]>

* bin/duration (get): Unset a local variable before testing it so as
to prevent the value set in first call to affect the subsequent calls.
Added the special value "now" as a shortcut for the current date and
time.

Modified:
stdcxx/trunk/bin/duration

Modified: stdcxx/trunk/bin/duration
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/duration?rev=620043&r1=620042&r2=620043&view=diff
==
--- stdcxx/trunk/bin/duration (original)
+++ stdcxx/trunk/bin/duration Fri Feb  8 15:51:33 2008
@@ -20,7 +20,7 @@
 #  implied.   See  the License  for  the  specific language  governing
 #  permissions and limitations under the License.
 #
-#  Copyright 2007 Rogue Wave Software, Inc.
+#  Copyright 2007-2008 Rogue Wave Software, Inc.
 #
 
 #
@@ -28,7 +28,7 @@
 # duration - Write the amount of time between two dates.
 #
 # SYNOPSIS
-# duration [ option(s)... ] [ date-1 [ date-2 ]]
+# duration [ option(s)... ] [ from-date [ to-date ]]
 #
 # DESCRIPTION
 # The duration utility computes the amount of time elapsed between
@@ -105,6 +105,7 @@
 
 # compute the one-based month number
 n=0
+unset date_nummon
 for m in Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec; do
 if [ -z $date_nummon ]; then
 n=$((n+1))
@@ -401,10 +402,15 @@
 # remove command line options and their arguments from the command line
 shift $(($OPTIND - 1))
 
+
+#use below
+current_date="`LC_ALL=C date`"
+
+
 if [ $# -ge 1 ]; then
 start=$1
 else
-start="`LC_ALL=C date`"
+start=$current_date
 fi
 
 if [ $# -ge 2 ]; then
@@ -414,6 +420,14 @@
 
 # by default display the offset from the Epoch
 start="Thu Jan 1 00:00:00 UTC 1970"
+fi
+
+if [ "$start" = "now" ]; then
+start=$current_date
+fi
+
+if [ "$end" = "now" ]; then
+end=$current_date
 fi
 
 




svn commit: r620615 - /stdcxx/trunk/include/rw/_traits.h

2008-02-11 Thread sebor
Author: sebor
Date: Mon Feb 11 13:30:42 2008
New Revision: 620615

URL: http://svn.apache.org/viewvc?rev=620615&view=rev
Log:
2008-02-11  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-687
* include/rw/_traits.h [__GNUG__](_RWSTD_MEMCPY, _RWSTD_MEMCMP,
_RWSTD_MEMMOVE, _RWSTD_MEMSET, _RWSTD_STRLEN): #defined macros
to the corresponding gcc __builtins.
[4 < __GNUG__ || 3 <= __GNUC_MINOR__](_RWSTD_MEMCHR): #defined
to __builtin_memchr starting with this version of the compiler.

Modified:
stdcxx/trunk/include/rw/_traits.h

Modified: stdcxx/trunk/include/rw/_traits.h
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_traits.h?rev=620615&r1=620614&r2=620615&view=diff
==
--- stdcxx/trunk/include/rw/_traits.h (original)
+++ stdcxx/trunk/include/rw/_traits.h Mon Feb 11 13:30:42 2008
@@ -25,7 +25,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -84,15 +84,33 @@
 #  define _RWSTD_WMEMSET   _RW::__rw_wmemset
 #  define _RWSTD_WCSLEN_RW::__rw_wcslen
 #else   // if !defined (_RWSTDDEBUG) && !defined (_RWSTD_EDG_ECCP)
-#  include _RWSTD_CSTRING   // for memcmp(), ...
-#  include _RWSTD_CWCHAR// wmemcmp(), ...
 
-#  define _RWSTD_MEMCPY_RWSTD_C::memcpy
-#  define _RWSTD_MEMCMP_RWSTD_C::memcmp
-#  define _RWSTD_MEMMOVE   _RWSTD_C::memmove
-#  define _RWSTD_MEMSET_RWSTD_C::memset
-#  define _RWSTD_STRLEN_RWSTD_C::strlen
-#  define _RWSTD_MEMCHR_RWSTD_C::memchr
+#  if 4 <= __GNUG__
+ // use gcc 4.x intrinsic functions
+#define _RWSTD_MEMCPY__builtin_memcpy
+#define _RWSTD_MEMCMP__builtin_memcmp
+#define _RWSTD_MEMMOVE   __builtin_memmove
+#define _RWSTD_MEMSET__builtin_memset
+#define _RWSTD_STRLEN__builtin_strlen
+
+#if 4 < __GNUG__ || 3 <= __GNUC_MINOR__
+   // __builtin_memchr() is only available in gcc 4.3 and beyond
+#  define _RWSTD_MEMCHR__builtin_memchr
+#else   // gcc < 4.3
+#  include _RWSTD_CSTRING   // for memchr()
+#endif   // gcc 4.3
+#  else   // gcc < 4.0
+#include _RWSTD_CSTRING   // for memcmp(), ...
+
+#define _RWSTD_MEMCPY_RWSTD_C::memcpy
+#define _RWSTD_MEMCMP_RWSTD_C::memcmp
+#define _RWSTD_MEMMOVE   _RWSTD_C::memmove
+#define _RWSTD_MEMSET_RWSTD_C::memset
+#define _RWSTD_STRLEN_RWSTD_C::strlen
+#define _RWSTD_MEMCHR_RWSTD_C::memchr
+#  endif   // gcc 4.0
+
+#  include _RWSTD_CWCHAR// wmemcmp(), ...
 
 #  ifndef _RWSTD_NO_WMEMCPY
 #define _RWSTD_WMEMCPY   _RWSTD_C::wmemcpy




svn commit: r627212 - in /stdcxx/trunk/include: fstream fstream.cc

2008-02-12 Thread sebor
Author: sebor
Date: Tue Feb 12 17:19:20 2008
New Revision: 627212

URL: http://svn.apache.org/viewvc?rev=627212&view=rev
Log:
2008-02-12  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-308
* include/fstream (~basic_filebuf): Caught and swallowed all exceptions.
* include/fstream.cc (close): Closed file regardless of whether the call
to overflow() or codecvt::unshift() fails or throws, as required by the
resolution of LWG issue 622.

Modified:
stdcxx/trunk/include/fstream
stdcxx/trunk/include/fstream.cc

Modified: stdcxx/trunk/include/fstream
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/fstream?rev=627212&r1=627211&r2=627212&view=diff
==
--- stdcxx/trunk/include/fstream (original)
+++ stdcxx/trunk/include/fstream Tue Feb 12 17:19:20 2008
@@ -279,7 +279,12 @@
 template
 inline basic_filebuf<_CharT, _Traits>::~basic_filebuf ()
 {
-close ();
+_TRY {
+close ();
+}
+_CATCH (...) {
+// LWG issue 622: swallow all exceptions
+}
 
 if (this->_C_own_buf ())
 delete [] this->_C_buffer;

Modified: stdcxx/trunk/include/fstream.cc
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/fstream.cc?rev=627212&r1=627211&r2=627212&view=diff
==
--- stdcxx/trunk/include/fstream.cc (original)
+++ stdcxx/trunk/include/fstream.cc Tue Feb 12 17:19:20 2008
@@ -23,7 +23,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1997-2006 Rogue Wave Software, Inc.
+ * Copyright 1997-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -76,27 +76,52 @@
 basic_filebuf<_CharT, _Traits>::
 close (bool __close_file /* = true */)
 {
+// close_file is false when close() is called from detach()
+
 _RWSTD_ASSERT (this->_C_is_valid ());
 
 if (!is_open ())
 return 0;   // failure
 
-// avoid expensive call to overflow() unless necessary
-if (this->pptr () != this->pbase () && this->_C_is_eof (overflow ()))
-return 0;   // failure
+// close() returns this on success, 0 on failure
+basic_filebuf *__retval = this;
 
-// write out any unshift sequence if necessary
-// (applies to multibyte, state dependent encodings only)
-if (this->_C_out_last () && !_C_unshift ())
-return 0;   // failure
+_TRY {
+// avoid expensive call to overflow() unless necessary
+if (this->pptr () != this->pbase () && this->_C_is_eof (overflow ()))
+__retval = 0;   // failure
+
+// write out any unshift sequence if necessary
+// (applies to multibyte, state dependent encodings only)
+if (__retval && this->_C_out_last () && !_C_unshift ())
+__retval = 0;   // failure
+}
+_CATCH (...) {
+// either overflow() or codecvt::unshift() threw
 
-if (__close_file && _RW::__rw_fclose (_C_file, this->_C_state))
-return 0;   // failure
+if (__close_file) {
+_RW::__rw_fclose (_C_file, this->_C_state);
 
-_C_file= 0;
-_C_cur_pos = _C_beg_pos = pos_type (off_type (-1));
+// zero out the file pointer except when detaching fd
+_C_file= 0;
+_C_cur_pos = _C_beg_pos = pos_type (off_type (-1));
 
-return this;
+}
+
+// rethrow the caught exception
+_RETHROW;
+}
+
+if (__close_file) {
+if (_RW::__rw_fclose (_C_file, this->_C_state))
+__retval = 0;
+
+// zero out the file pointer except when detaching fd
+_C_file= 0;
+_C_cur_pos = _C_beg_pos = pos_type (off_type (-1));
+}
+
+return __retval;
 }
 
 




svn commit: r627221 - /stdcxx/trunk/tests/regress/27.filebuf.members.stdcxx-308.cpp

2008-02-12 Thread sebor
Author: sebor
Date: Tue Feb 12 18:08:45 2008
New Revision: 627221

URL: http://svn.apache.org/viewvc?rev=627221&view=rev
Log:
2008-02-12  Martin Sebor  <[EMAIL PROTECTED]>

* tests/regress/27.filebuf.members.stdcxx-308.cpp: Regression
test exercising STDCXX-308.

Added:
stdcxx/trunk/tests/regress/27.filebuf.members.stdcxx-308.cpp   (with props)

Added: stdcxx/trunk/tests/regress/27.filebuf.members.stdcxx-308.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/regress/27.filebuf.members.stdcxx-308.cpp?rev=627221&view=auto
==
--- stdcxx/trunk/tests/regress/27.filebuf.members.stdcxx-308.cpp (added)
+++ stdcxx/trunk/tests/regress/27.filebuf.members.stdcxx-308.cpp Tue Feb 12 
18:08:45 2008
@@ -0,0 +1,173 @@
+/***
+ *
+ * 27.filebuf.members.stdcxx-308.cpp - regression test for STDCXX-308
+ *   http://issues.apache.org/jira/browse/STDCXX-308
+ *
+ * $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.
+ *
+ * Copyright 2008 Rogue Wave Software, Inc.
+ * 
+ ***
+ *
+ * Test description:
+ *  Sets a maxinum file size limit, forces filebuf to exceed the limit,
+ *  causing the class dtor to fail to flush the excess data. Verifies
+ *  that the dtor closes the associated file descriptor regardless of
+ *  the failure as required by the resolution of LWG issue 622:
+ *  http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#622
+ *
+ ***/
+
+#include// for assert()
+#include // for remove(), size_t
+#include// for filebuf
+
+#if !defined (_WIN32) || defined (__CYGWIN__)
+#  include// for getrlimit(), rlim_t
+#  include  // for close(), write(), ssize_t
+#endif   // !_WIN32 || __CYGWIN__
+
+
+int write_bytes (const char *fname, std::size_t nbytes)
+{
+std::filebuf fb;
+
+if (   0 == fb.pubsetbuf (0, nbytes + 1)
+|| 0 == fb.open (fname, std::ios::out))
+return -1;
+
+#if defined (_RWSTD_VER) && !defined (_RWSTD_NO_EXT_FILEBUF)
+
+// use the filebuf::fd() extension to get the filebuf's
+// associated file descriptor
+const int fd = fb.fd ();
+
+#else   // if defined (RWSTD_NO_EXT_FILEBUF)
+
+// assume fd is the next available file descriptor after
+// STDIN_FILENO, _FILENO_STDOUT, and STDERR_FILENO
+const int fd = 3;
+
+#endif   // RWSTD_NO_EXT_FILEBUF
+
+if (0 < fd) {
+// fill up the filebuf's character buffer without
+// overflowing
+for (std::size_t i = 0; i != nbytes; ++i)
+fb.sputc ('*');
+}
+
+// have filebuf dtor try to flush the object's character
+// buffer and expect it to fail (and flush out only the
+// number specified by RLIMIT_FSIZE)
+
+// return the file descriptor to the caller so that it can
+// verify that it has been closed
+return fd;
+}
+
+
+int main ()
+{
+#if !defined (_WIN32) || defined (__CYGWIN__)
+
+const char fname[] = "testfile.text";
+
+std::remove (fname);
+
+rlimit rl;
+int status;
+
+// retrieve the current file size limits
+status = getrlimit (RLIMIT_FSIZE, &rl);
+
+if (status) {
+std::perror ("getrlimit(RLIMIT_FSIZE, ...)");
+return 1;
+}
+
+// uncomment for debugging
+// std::printf ("file size limits = %ld, %ld\n",
+//  long (rl.rlim_cur), long (rl.rlim_max));
+
+const rlim_t rlim_cur_saved = rl.rlim_cur;
+rl.rlim_cur = 32;
+
+// set a new file size limit
+status = setrlimit (RLIMIT_FSIZE, &rl);
+if (status) {
+std::perror ("setrlimit(RLIMIT_FSIZE, ...)");
+return 1;
+}
+
+// uncomment for debugging
+// status = getrlimit (RLIMIT_FSIZE, &rl);
+
+// if (status) {
+// std::perror ("getrlimit(RLIMIT_FSIZE, ...)");

svn commit: r627603 - /stdcxx/trunk/examples/tutorial/alg7.cpp

2008-02-13 Thread sebor
Author: sebor
Date: Wed Feb 13 14:26:17 2008
New Revision: 627603

URL: http://svn.apache.org/viewvc?rev=627603&view=rev
Log:
2008-02-13  Martin Sebor  <[EMAIL PROTECTED]>

* examples/tutoria/alg7.cpp (partial_sort_example): Removed redundant
list ctor argument to get around an otherwise hard to silence HP aCC
6 remark #4271-D type conversion may lose sign. See STDCXX-727.
(merge_example): Ditto.

Modified:
stdcxx/trunk/examples/tutorial/alg7.cpp

Modified: stdcxx/trunk/examples/tutorial/alg7.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/examples/tutorial/alg7.cpp?rev=627603&r1=627602&r2=627603&view=diff
==
--- stdcxx/trunk/examples/tutorial/alg7.cpp (original)
+++ stdcxx/trunk/examples/tutorial/alg7.cpp Wed Feb 13 14:26:17 2008
@@ -22,7 +22,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -109,7 +109,7 @@
 std::cout << '\n';
 
 // Make a std::list of random integers.
-std::list > aList (15, 0);
+std::list > aList (15);
 std::generate (aList.begin (), aList.end (), randomValue);
 std::copy (aList.begin (), aList.end (), intOut);
 std::cout << '\n';
@@ -179,7 +179,7 @@
 
 // Make a std::list and std::vector of 10 random integers.
 std::vector > aVec (10);
-std::list > aList (10, 0);
+std::list > aList (10);
 std::generate (aVec.begin (), aVec.end (), randomValue);
 std::sort (aVec.begin (), aVec.end ());
 std::generate_n (aList.begin (), 10, randomValue);




svn commit: r627606 - in /stdcxx/trunk/include: loc/_messages.cc loc/_money_get.cc sstream

2008-02-13 Thread sebor
Author: sebor
Date: Wed Feb 13 14:32:19 2008
New Revision: 627606

URL: http://svn.apache.org/viewvc?rev=627606&view=rev
Log:
2008-02-13  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-695
* include/loc/_money_get.cc (_C_get): Introduced a convenience typedef
for size_t, changed the type of the local __sign to int and cast it to
size_t to silence the pesky HP aCC 6 remark #4271-D: type conversion
may lose sign.
* include/loc/_messages.cc (do_get): Same.
* include/sstream (str): Avoided pointer math to silence remark #4271.

Modified:
stdcxx/trunk/include/loc/_messages.cc
stdcxx/trunk/include/loc/_money_get.cc
stdcxx/trunk/include/sstream

Modified: stdcxx/trunk/include/loc/_messages.cc
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_messages.cc?rev=627606&r1=627605&r2=627606&view=diff
==
--- stdcxx/trunk/include/loc/_messages.cc (original)
+++ stdcxx/trunk/include/loc/_messages.cc Wed Feb 13 14:32:19 2008
@@ -22,7 +22,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2007 Rogue Wave Software, Inc.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -78,9 +78,10 @@
 return _RWSTD_REINTERPRET_CAST (const _CharT*, __text);
 }
 
-typedef char_traits CharTraits;
+typedef char_traits _CharTraits;
+typedef _RWSTD_SIZE_T _SizeT;
 
-const _RWSTD_SIZE_T __src_len = CharTraits::length (__text);
+const _SizeT  __src_len = _CharTraits::length (__text);
 const char* const __src_first = __text;
 const char* const __src_last  = __text + __src_len;
 const char*   __src_next  = __src_first;
@@ -105,7 +106,9 @@
 switch (__res) {
 case codecvt_base::ok:
 // shrink the converted string accordingly
-__result_str.resize (__dst_next - __dst_first);
+_RWSTD_ASSERT (__dst_first <= __dst_next);
+
+__result_str.resize (_SizeT (__dst_next - __dst_first));
 return __result_str;
 
 case codecvt_base::noconv:
@@ -122,7 +125,7 @@
 const _Ctype& __ctp =
 _RWSTD_USE_FACET (_Ctype, _RW::__rw_get_locale (__cat));
 
-for (_RWSTD_SIZE_T __i = 0; __i != __src_len; ++__i)
+for (_SizeT __i = 0; __i != __src_len; ++__i)
 __dst_first [__i] = __ctp.widen (__text [__i]);
 
 return __result_str;

Modified: stdcxx/trunk/include/loc/_money_get.cc
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_money_get.cc?rev=627606&r1=627605&r2=627606&view=diff
==
--- stdcxx/trunk/include/loc/_money_get.cc (original)
+++ stdcxx/trunk/include/loc/_money_get.cc Wed Feb 13 14:32:19 2008
@@ -22,7 +22,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 2001-2006 Rogue Wave Software.
+ * Copyright 2001-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -94,7 +94,7 @@
 const char *__grpend   = 0;  // the end of the last group
 
 
-long __sign = 0;// the sign of the result if detected
+int __sign = 0;// the sign of the result if detected (-1, 0, or +1)
 
 // buffer must always start with a sign (__rw_get_num requirement)
 // use a '+' and overwrite it with a '-' if necessary
@@ -102,7 +102,9 @@
 
 const int __fl = __flags.flags ();
 
-for (_RWSTD_SIZE_T __i = 0; !__ebits && __i != sizeof __pat.field; ++__i) {
+typedef _RWSTD_SIZE_T _SizeT;
+
+for (_SizeT __i = 0; !__ebits && __i != sizeof __pat.field; ++__i) {
 
 switch (__pat.field [__i]) {
 
@@ -124,7 +126,7 @@
 && (0 == __cs.size () || !(__fl & _RW::__rw_showbase)))
 break;
 
-_RWSTD_SIZE_T __nc = 0;
+_SizeT __nc = 0;
 
 while (__it != __end && __ctp.is (ctype_base::space, *__it)) {
 ++__it;
@@ -148,7 +150,7 @@
 || __sign < 0 && __ns.size () > 1
 || __sign > 0 && __ps.size () > 1) {
 
-for (_RWSTD_SIZE_T __nc = 0; __nc != __cs.size ();
+for (_SizeT __nc = 0; __nc != __cs.size ();
  ++__nc, ++__it) {
 if (__it == __end || !_Traits::eq (*__it, __cs [__nc])) {
 
@@ -259,7 +261,7 @@
 if (__buf [1]) {
 
 // process the remainder of a multicharacter sign
-co

svn commit: r627612 - /stdcxx/trunk/include/loc/_money_put.cc

2008-02-13 Thread sebor
Author: sebor
Date: Wed Feb 13 15:27:02 2008
New Revision: 627612

URL: http://svn.apache.org/viewvc?rev=627612&view=rev
Log:
2008-02-13  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-729
* _money_put.cc (_C_put): Worked around an HP aCC 6.15/cadvise
bug causing warning #20200-D: potential null pointer dereference.

Modified:
stdcxx/trunk/include/loc/_money_put.cc

Modified: stdcxx/trunk/include/loc/_money_put.cc
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_money_put.cc?rev=627612&r1=627611&r2=627612&view=diff
==
--- stdcxx/trunk/include/loc/_money_put.cc (original)
+++ stdcxx/trunk/include/loc/_money_put.cc Wed Feb 13 15:27:02 2008
@@ -22,7 +22,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -71,21 +71,21 @@
 const _Punct1* __pun1;
 
 if (__intl) {
-__pun0 = 0;
 __pun1 = &_RWSTD_USE_FACET (_Punct1, __flags.getloc ());
 }
 else {
 __pun0 = &_RWSTD_USE_FACET (_Punct0, __flags.getloc ());
-__pun1 = 0;
 }
 
 const ctype<_CharT> &__ctp =
 _RWSTD_USE_FACET (ctype<_CharT>,__flags.getloc ());
 
+const char __signchar = __ctp.narrow (*__s, '\0');
+
 money_base::pattern __fmat;   // negative or positive format
 string_type __sign;   // negative or positive sign
 
-if ('-' == __ctp.narrow (*__s, '\0')) {
+if ('-' == __signchar) {
 if (__intl) {
 __fmat = __pun1->neg_format ();
 __sign = __pun1->negative_sign ();
@@ -106,7 +106,7 @@
 __fmat = __pun0->pos_format ();
 __sign = __pun0->positive_sign ();
 }
-if ('+' == __ctp.narrow (*__s, '\0')) {
+if ('+' == __signchar) {
 ++__s;
 --__n;
 }




svn commit: r627617 - /stdcxx/trunk/src/iso2022.cpp

2008-02-13 Thread sebor
Author: sebor
Date: Wed Feb 13 16:06:04 2008
New Revision: 627617

URL: http://svn.apache.org/viewvc?rev=627617&view=rev
Log:
2008-02-13  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-730
* src/iso2022.cpp (__rw_iso2022jp_designate): Asserted preconditions
to silence HP aCC  warning #20200-D: Potential null pointer dereference.
(__rw_ucs4_to_interm): Corrected a bad conditional pointed out by HP
aCC warning #20206-D: Out of bound access.

Modified:
stdcxx/trunk/src/iso2022.cpp

Modified: stdcxx/trunk/src/iso2022.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/src/iso2022.cpp?rev=627617&r1=627616&r2=627617&view=diff
==
--- stdcxx/trunk/src/iso2022.cpp (original)
+++ stdcxx/trunk/src/iso2022.cpp Wed Feb 13 16:06:04 2008
@@ -22,7 +22,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -738,8 +738,12 @@
 if (_RWSTD_STATIC_CAST (_RWSTD_SIZE_T, to_end - to) < len)
 return CODECVT_PARTIAL;
 
-memcpy (to, esc, len);
-to += len;
+if (len) {
+_RWSTD_ASSERT (to && esc);
+
+memcpy (to, esc, len);
+to += len;
+}
 
 // adjust the state
 state.g_map [2] = reg;
@@ -750,8 +754,12 @@
 if (_RWSTD_STATIC_CAST (_RWSTD_SIZE_T, to_end - to) < len)
 return CODECVT_PARTIAL;
 
-memcpy (to, ss, sslen);
-to += sslen;
+if (sslen) {
+_RWSTD_ASSERT (to && ss);
+
+memcpy (to, ss, sslen);
+to += sslen;
+}
 
 // adjust the single shift indicator
 state.sshift2 = 1;
@@ -761,8 +769,12 @@
 if (_RWSTD_STATIC_CAST (_RWSTD_SIZE_T, to_end - to) < len)
 return CODECVT_PARTIAL;
 
-memcpy (to, esc, len);
-to += len;
+if (len) {
+_RWSTD_ASSERT (to && esc);
+
+memcpy (to, esc, len);
+to += len;
+}
 
 // adjust the state
 state.g_map [0]   = reg;
@@ -1534,7 +1546,7 @@
 // utf8 temporary buffer
 char tmp [_UTF8_MB_CUR_MAX];
 
-for (int i = 0; i < int(sizeof (db_array)/sizeof (unsigned char)); i++) {
+for (size_t i = 0; i < sizeof db_array / sizeof *db_array; ++i) {
 char* ptmp = tmp;
 
 // obtain the database mapping




svn commit: r628605 - /stdcxx/site/status/2008-02.text

2008-02-17 Thread sebor
Author: sebor
Date: Sun Feb 17 19:48:08 2008
New Revision: 628605

URL: http://svn.apache.org/viewvc?rev=628605&view=rev
Log:
2008-02-17  Martin Sebor  <[EMAIL PROTECTED]>

* 2008-02.text: Board report for January 2007. To be copied into

https://svn.apache.org/repos/private/foundation/board/board_agenda_2008_02_20.txt

Added:
stdcxx/site/status/2008-02.text   (with props)

Added: stdcxx/site/status/2008-02.text
URL: 
http://svn.apache.org/viewvc/stdcxx/site/status/2008-02.text?rev=628605&view=auto
==
--- stdcxx/site/status/2008-02.text (added)
+++ stdcxx/site/status/2008-02.text Sun Feb 17 19:48:08 2008
@@ -0,0 +1,51 @@
+This is the third stdcxx Board report since graduating on 11/15.
+Satarting with next report we will be reporting on a quarterly
+schedule.
+
+Notable changes since the last report (2008/1):
+
+  The project activity has picked up quite a bit since the January
+  report, both in terms of the number of commits as well as on the
+  mailing lists. Migration out of Incubator and into TLP (INFRA-1421)
+  has been completed. Some progress has been made on redesigning and
+  reimplementing the project site using Apache Forrest (STDCXX-686).
+
+Future plans:
+
+  We are making progress, albeit slowly, toward the 4.2.1 release.
+  The expected timeframe for this maintenance release in February
+  to March 2008. Next week we are looking forward to attending
+  the Microsoft Open Source Software Labs meeting in Redmond.
+
+Community:
+
+  The active community remains small and dominated by contributors
+  from Rogue Wave, despite efforts to reach out to other developers.
+
+  16 committers  (unchanged)
+  11 PMC members (unchanged)
+
+Mailing List Activity Changes Since December 2007:
+
+  commits: 18 (+4) subscribers,  4.38 (+1.80) posts/day
+  dev: 56 (+4) subscribers,  6.48 (-0.93) posts/day
+  issues:  10  subscribers, 12.95 posts/day
+  user:46 (+6) subscribers,  0.10 (-0.18) posts/day
+
+Bug Tracking Changes Since January 2008:
+
+  Total issues: 729 (+ 36)
+  Outstanding:  273 (+ 10)
+  Resolved:  95 (+  5)
+  Closed:   361 (+ 18)
+Planned releases:
+
+  4.2.1  February/March 2008
+  4.3.0  Summer/Fall 2008
+  5.0Winter 2008
+
+Release history:
+
+  4.2.0  October 29, 2007 (incubating)
+  4.1.3  January 30, 2006 (incubating)
+  4.1.2  September 7, 2005 (snapshot, incubating)

Propchange: stdcxx/site/status/2008-02.text
--
svn:eol-style = native




svn commit: r628606 - /stdcxx/site/status/2008-02.text

2008-02-17 Thread sebor
Author: sebor
Date: Sun Feb 17 19:56:21 2008
New Revision: 628606

URL: http://svn.apache.org/viewvc?rev=628606&view=rev
Log:
2008-02-17  Martin Sebor  <[EMAIL PROTECTED]>

* 2008-02.text: Corrected typos.

Modified:
stdcxx/site/status/2008-02.text

Modified: stdcxx/site/status/2008-02.text
URL: 
http://svn.apache.org/viewvc/stdcxx/site/status/2008-02.text?rev=628606&r1=628605&r2=628606&view=diff
==
--- stdcxx/site/status/2008-02.text (original)
+++ stdcxx/site/status/2008-02.text Sun Feb 17 19:56:21 2008
@@ -1,5 +1,5 @@
 This is the third stdcxx Board report since graduating on 11/15.
-Satarting with next report we will be reporting on a quarterly
+Starting with next report we will be reporting on a quarterly
 schedule.
 
 Notable changes since the last report (2008/1):
@@ -13,9 +13,9 @@
 Future plans:
 
   We are making progress, albeit slowly, toward the 4.2.1 release.
-  The expected timeframe for this maintenance release in February
-  to March 2008. Next week we are looking forward to attending
-  the Microsoft Open Source Software Labs meeting in Redmond.
+  The expected timeframe for this maintenance release is February to
+  March 2008. Next week we look forward to attending the Microsoft
+  Open Source Software Labs meeting in Redmond.
 
 Community:
 
@@ -38,6 +38,7 @@
   Outstanding:  273 (+ 10)
   Resolved:  95 (+  5)
   Closed:   361 (+ 18)
+
 Planned releases:
 
   4.2.1  February/March 2008




svn commit: r628817 - in /stdcxx/trunk/tests: include/rw_braceexp.h self/0.braceexp.cpp src/braceexp.cpp

2008-02-18 Thread sebor
Author: sebor
Date: Mon Feb 18 09:09:00 2008
New Revision: 628817

URL: http://svn.apache.org/viewvc?rev=628817&view=rev
Log:
2008-02-18  Martin Sebor  <[EMAIL PROTECTED]>

* tests/include/rw_braceexp.h: Set svn:eol-style and svn:keywords
properties.
* tests/src/braceexp.cpp: Ditto.
* tests/self/0.braceexp.cpp: Ditto.

Modified:
stdcxx/trunk/tests/include/rw_braceexp.h   (props changed)
stdcxx/trunk/tests/self/0.braceexp.cpp   (contents, props changed)
stdcxx/trunk/tests/src/braceexp.cpp   (contents, props changed)

Propchange: stdcxx/trunk/tests/include/rw_braceexp.h
--
svn:eol-style = native

Propchange: stdcxx/trunk/tests/include/rw_braceexp.h
--
svn:keywords = Id

Modified: stdcxx/trunk/tests/self/0.braceexp.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/self/0.braceexp.cpp?rev=628817&r1=628816&r2=628817&view=diff
==
--- stdcxx/trunk/tests/self/0.braceexp.cpp (original)
+++ stdcxx/trunk/tests/self/0.braceexp.cpp Mon Feb 18 09:09:00 2008
@@ -1,121 +1,121 @@
-/
- *
- * 0.braceexp.cpp - tests exercising the rw_brace_expand() helper
- *
- * $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 // for fprintf(), stderr
-#include// for free()
-#include// for strcmp()
-
-// the number of failed tests
-static int nerrors;
-
-static void
-test (int line, const char* brace_expr, const char* expect)
-{
-char buf [128];
-
-char* result = rw_brace_expand (brace_expr, buf, sizeof (buf), ' ');
-
-const bool equal =   (expect && result)
-   ? !strcmp (expect, result)
-   : expect == result;
-
-if (!equal) {
-
-++nerrors;
-
-fprintf (stderr,
- "%d. rw_brace_expand(\"%s\", ...) failed. "
- "expected \"%s\" got \"%s\"\n",
- line, brace_expr,
- expect ? expect : "(null)",
- result ? result : "(null)");
-}
-
-if (result != buf)
-free (result);
-}
-
-int main ()
-{
-#define TEST(s,e) test (__LINE__, s, e)
-
-TEST ("a", "a");
-TEST ("a\\b", "ab");
-
-TEST ("{0}"  , "{0}");
-TEST ("\\{0}", "{0}");
-TEST ("{\\0}", "{0}");
-TEST ("{0\\}", "{0}");
-
-TEST ("{0..1}", "0 1");
-TEST ("\\{0..1}", "{0..1}");
-TEST ("{\\0..1}", "{0..1}");
-TEST ("{0\\..1}", "{0..1}");
-TEST ("{0..\\1}", "{0..1}");
-TEST ("{0..1\\}", "{0..1}");
-
-TEST ("a{0}",  "a{0}");
-TEST ("a{0}b", "a{0}b");
-TEST ("a\\{0\\}b", "a{0}b");
-TEST ("a\\{0,123,4\\}b", "a{0,123,4}b");
-
-TEST ("{0..a}", "{0..a}");
-TEST ("{a..0}", "{a..0}");
-
-TEST ("{0..0}", "0");
-TEST ("{0..5}", "0 1 2 3 4 5");
-TEST ("{4..2}", "4 3 2");
-TEST ("{a..g}", "a b c d e f g");
-TEST ("{g..c}", "g f e d c");
-TEST ("{A..G}", "A B C D E F G");
-TEST ("{G..C}", "G F E D C");
-
-TEST ("{,}", "");
-TEST ("{abc,def}", "abc def");
-TEST ("{ab\\c,d\\ef}", "abc def");
-TEST ("a

svn commit: r628839 - /stdcxx/trunk/tests/self/0.braceexp.cpp

2008-02-18 Thread sebor
Author: sebor
Date: Mon Feb 18 10:24:47 2008
New Revision: 628839

URL: http://svn.apache.org/viewvc?rev=628839&view=rev
Log:
2008-02-18  Martin Sebor  <[EMAIL PROTECTED]>

* 0.braceexp.cpp (run_bash_tests): New function to verify
rw_brace_expand() passes tests from the Bash test suite.
(main): Added a handful of tests (some failing), called
run_bash_tests.

Modified:
stdcxx/trunk/tests/self/0.braceexp.cpp

Modified: stdcxx/trunk/tests/self/0.braceexp.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/self/0.braceexp.cpp?rev=628839&r1=628838&r2=628839&view=diff
==
--- stdcxx/trunk/tests/self/0.braceexp.cpp (original)
+++ stdcxx/trunk/tests/self/0.braceexp.cpp Mon Feb 18 10:24:47 2008
@@ -25,6 +25,7 @@
  **/
 
 #include 
+#include   // for rw_putenv()
 
 #include // for fprintf(), stderr
 #include// for free()
@@ -60,22 +61,140 @@
 free (result);
 }
 
+
+#define TEST(s,e) test (__LINE__, s, e)
+
+
+
+// runs Bash 3.2 tests -- see bash-3.2/tests/braces.tests
+static void
+run_bash_tests ()
+{
+TEST ("ff{c,b,a}",   "ffc ffb ffa");
+TEST ("f{d,e,f}g",   "fdg feg ffg");
+TEST ("{l,n,m}xyz",  "lxyz nxyz mxyz");
+TEST ("{abc\\,def}", "{abc,def}");
+TEST ("{abc}",   "{abc}");
+
+TEST ("\\{a,b,c,d,e}",  "{a,b,c,d,e}");
+TEST ("{x,y,\\{a,b,c}}","x} y} {a} b} c}");
+TEST ("{x\\,y,\\{abc\\},trie}", "x,y {abc} trie");
+
+TEST ("/usr/{ucb/{ex,edit},lib/{ex,how_ex}}",
+  "/usr/ucb/ex /usr/ucb/edit /usr/lib/ex /usr/lib/how_ex");
+
+// we don't have eval
+// TEST ("\\{`echo a b c | tr ' ' ','`\\}", "{a,b,c}");
+// TEST ("eval echo \\{`echo a b c | tr ' ' ','`\\}",
+//   "a b c");
+
+TEST ("{}","{}");
+TEST ("{ }",   "{ }");
+TEST ("}", "}");
+TEST ("{", "{");
+TEST ("abcd{efgh", "abcd{efgh");
+
+TEST ("foo {1,2} bar", "foo 1 2 bar");
+
+// we don't have eval
+// TEST ("`zecho foo {1,2} bar`",  "foo 1 2 bar");
+// TEST ("$(zecho foo {1,2} bar)", "foo 1 2 bar");
+
+#if 0   // not implemented yet
+
+// set the three variables
+rw_putenv ("var=baz:varx=vx:vary=vy");
+
+TEST ("foo{bar,${var}.}", "foobar foobaz.");
+TEST ("foo{bar,${var}}",  "foobar foobaz");
+
+TEST ("${var}\"{x,y}","bazx bazy");
+TEST ("$var{x,y}","vx vy");
+TEST ("${var}{x,y}",  "bazx bazy");
+
+// unset all three variables
+rw_putenv ("var=:varx=:vary=");
+
+#endif   // 0
+
+TEST ("{1..10}", "1 2 3 4 5 6 7 8 9 10");
+
+// this doesn't work in Bash 3.2
+// TEST ("{0..10,braces}", "0 1 2 3 4 5 6 7 8 9 10 braces");
+
+// but this does
+TEST ("{{0..10},braces}", "0 1 2 3 4 5 6 7 8 9 10 braces");
+TEST ("x{{0..10},braces}y",
+  "x0y x1y x2y x3y x4y x5y x6y x7y x8y x9y x10y xbracesy");
+
+TEST ("{3..3}","3");
+TEST ("x{3..3}y",  "x3y");
+TEST ("{10..1}",   "10 9 8 7 6 5 4 3 2 1");
+TEST ("{10..1}y",  "10y 9y 8y 7y 6y 5y 4y 3y 2y 1y");
+TEST ("x{10..1}y", "x10y x9y x8y x7y x6y x5y x4y x3y x2y x1y");
+
+TEST ("{a..f}", "a b c d e f");
+TEST ("{f..a}", "f e d c b a");
+
+TEST ("{a..A}",
+  "a ` _ ^ ]  [ Z Y X W V U T S R Q P O N M L K J I H G F E D C B A");
+TEST ("{A..a}",
+  "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [  ] ^ _ ` a");
+
+TEST ("{f..f}", "f");
+
+// mixes are incorrectly-formed brace expansions
+TEST ("{1..f}", "{1..f}");
+TEST ("{f..1}", "{f..1}");
+
+TEST ("0{1..9} {10..20}",
+  "01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20");
+
+// do negative numbers work?
+TEST ("{-1..-10}", "-1 -2 -3 -4 -5 -6 -7 -8 -9 -10");
+TEST ("{-20..0}",
+  "-20 -19 -18 

svn commit: r628898 - /stdcxx/site/status/2008-02.text

2008-02-18 Thread sebor
Author: sebor
Date: Mon Feb 18 14:29:37 2008
New Revision: 628898

URL: http://svn.apache.org/viewvc?rev=628898&view=rev
Log:
2008-02-18  Martin Sebor  <[EMAIL PROTECTED]>

* 2008-02.text: Added a note on BIS Export Control Classification.
See http://www.access.gpo.gov/bis/ear/ear_data.html

Modified:
stdcxx/site/status/2008-02.text

Modified: stdcxx/site/status/2008-02.text
URL: 
http://svn.apache.org/viewvc/stdcxx/site/status/2008-02.text?rev=628898&r1=628897&r2=628898&view=diff
==
--- stdcxx/site/status/2008-02.text (original)
+++ stdcxx/site/status/2008-02.text Mon Feb 18 14:29:37 2008
@@ -10,6 +10,11 @@
   has been completed. Some progress has been made on redesigning and
   reimplementing the project site using Apache Forrest (STDCXX-686).
 
+BIS Export Control Classification:
+
+  Apache C++ Standard Library contains no encryption source code nor
+  does it make use of any third party encryption software.
+
 Future plans:
 
   We are making progress, albeit slowly, toward the 4.2.1 release.




svn commit: r629291 - /stdcxx/trunk/tests/src/process.cpp

2008-02-19 Thread sebor
Author: sebor
Date: Tue Feb 19 16:57:58 2008
New Revision: 629291

URL: http://svn.apache.org/viewvc?rev=629291&view=rev
Log:
2008-02-19  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-735
* process.cpp (EINTR, SIGALRM): Defined to the known Linux
value for EDG eccp in strict mode if not already #defined.

Modified:
stdcxx/trunk/tests/src/process.cpp

Modified: stdcxx/trunk/tests/src/process.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/src/process.cpp?rev=629291&r1=629290&r2=629291&view=diff
==
--- stdcxx/trunk/tests/src/process.cpp (original)
+++ stdcxx/trunk/tests/src/process.cpp Tue Feb 19 16:57:58 2008
@@ -51,6 +51,10 @@
 #  define E2BIG   7   /* AIX, HP-UX, Linux, Solaris */
 #endif
 
+#ifndef EINTR
+#  define EINTR   4
+#endif
+
 #ifndef SIGCHLD
 #  if defined (_RWSTD_OS_AIX) || defined (_RWSTD_OS_OSF)
  // AIX, Tru64
@@ -64,6 +68,10 @@
 #endif
 
 // all known Unices
+#ifndef SIGALRM
+#  define SIGALRM  14
+#endif
+
 #ifndef SIGHUP
 #  define SIGHUP   1
 #endif




svn propchange: r629291 - svn:log

2008-02-19 Thread sebor
Author: sebor
Revision: 629291
Modified property: svn:log

Modified: svn:log at Tue Feb 19 17:01:35 2008
--
--- svn:log (original)
+++ svn:log Tue Feb 19 17:01:35 2008
@@ -1,5 +1,5 @@
 2008-02-19  Martin Sebor  <[EMAIL PROTECTED]>
 
STDCXX-735
-   * process.cpp (EINTR, SIGALRM): Defined to the known Linux
-   value for EDG eccp in strict mode if not already #defined.
+   * tests/src/process.cpp (EINTR, SIGALRM): Defined to the known
+   Linux value for EDG eccp in strict mode if not already #defined.



svn commit: r629306 - in /stdcxx/trunk/util: aliases.cpp locale.cpp memchk.cpp

2008-02-19 Thread sebor
Author: sebor
Date: Tue Feb 19 17:35:15 2008
New Revision: 629306

URL: http://svn.apache.org/viewvc?rev=629306&view=rev
Log:
2008-02-19  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-736
* util/locale.cpp [_RWSTD_EDG_ECCP]: Suppressed EDG eccp error #450-D:
the type "long long" is nonstandard, issued for uses of the type in
the Linux pthreadtypes.h system header.
* util/aliases.cpp [_RWSTD_EDG_ECCP]: Same.
* util/memchk.cpp [_RWSTD_EDG_ECCP && !_WIN32](getpagesize): Declared.

Modified:
stdcxx/trunk/util/aliases.cpp
stdcxx/trunk/util/locale.cpp
stdcxx/trunk/util/memchk.cpp

Modified: stdcxx/trunk/util/aliases.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/util/aliases.cpp?rev=629306&r1=629305&r2=629306&view=diff
==
--- stdcxx/trunk/util/aliases.cpp (original)
+++ stdcxx/trunk/util/aliases.cpp Tue Feb 19 17:35:15 2008
@@ -22,10 +22,19 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 2001-2007 Rogue Wave Software, Inc.
+ * Copyright 2001-2008 Rogue Wave Software, Inc.
  * 
  **/
 
+#include 
+
+#ifdef _RWSTD_EDG_ECCP
+   // disable error #450-D: the type "long long" is nonstandard
+   // issued for uses of the type in Linux system headers (e.g.,
+   // pthreadtypes.h)
+#  pragma diag_suppress 450
+#endif   // vanilla EDG eccp demo
+
 #ifdef __linux__
// on Linux define _XOPEN_SOURCE to get CODESET defined in 
 #  define _XOPEN_SOURCE 500   /* SUS conformance */
@@ -33,8 +42,6 @@
 #endif   // __linux__
 
 #include "diagnostic.h"
-
-#include 
 
 #include// for assert()
 #include // for errno

Modified: stdcxx/trunk/util/locale.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/util/locale.cpp?rev=629306&r1=629305&r2=629306&view=diff
==
--- stdcxx/trunk/util/locale.cpp (original)
+++ stdcxx/trunk/util/locale.cpp Tue Feb 19 17:35:15 2008
@@ -26,12 +26,20 @@
  * 
  **/
 
+#include 
+
 #if defined (__linux__) && !defined (_XOPEN_SOURCE) 
// on Linux define _XOPEN_SOURCE to get CODESET defined in 
 #  define _XOPEN_SOURCE 500   /* Single UNIX conformance */
 #endif   // __linux__
 
-#include 
+#ifdef _RWSTD_EDG_ECCP
+   // disable error #450-D: the type "long long" is nonstandard
+   // issued for uses of the type in Linux system headers (e.g.,
+   // pthreadtypes.h)
+#  pragma diag_suppress 450
+#endif   // vanilla EDG eccp demo
+
 #include _RWSTD_SYS_TYPES_H
 
 #if _RWSTD_PATH_SEP == '/'

Modified: stdcxx/trunk/util/memchk.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/util/memchk.cpp?rev=629306&r1=629305&r2=629306&view=diff
==
--- stdcxx/trunk/util/memchk.cpp (original)
+++ stdcxx/trunk/util/memchk.cpp Tue Feb 19 17:35:15 2008
@@ -22,7 +22,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 2001-2006 Rogue Wave Software.
+ * Copyright 2001-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -66,6 +66,17 @@
 #define P_tmpdir   _P_tmpdir
 #  endif
 #endif   // P_tmpdir
+
+
+#if defined (_RWSTD_EDG_ECCP) && !defined (_WIN32)
+
+extern "C" {
+
+int getpagesize ();
+
+}   // extern "C"
+
+#endif   // vanilla EDG eccp demo on UNIX
 
 
 static int page_size ()




svn commit: r630283 - /stdcxx/trunk/src/time_put.cpp

2008-02-22 Thread sebor
Author: sebor
Date: Fri Feb 22 10:37:00 2008
New Revision: 630283

URL: http://svn.apache.org/viewvc?rev=630283&view=rev
Log:
2008-02-22  Martin Sebor  <[EMAIL PROTECTED]>

* time_put.cpp (__rw_get_timepunct): Removed unnecessary
reinterpret_cast in a call to operator delete().

Modified:
stdcxx/trunk/src/time_put.cpp

Modified: stdcxx/trunk/src/time_put.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/src/time_put.cpp?rev=630283&r1=630282&r2=630283&view=diff
==
--- stdcxx/trunk/src/time_put.cpp (original)
+++ stdcxx/trunk/src/time_put.cpp Fri Feb 22 10:37:00 2008
@@ -22,7 +22,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 2001-2006 Rogue Wave Software.
+ * Copyright 2001-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -615,7 +615,7 @@
 _RWSTD_STATIC_CAST(char*, ::operator new (tmpsize));
 memcpy (tmp, pun, sizeof *pun + off);
 
-::operator delete (_RWSTD_REINTERPRET_CAST (char*, pun));
+::operator delete (pun);
 
 pun  = _RWSTD_REINTERPRET_CAST (__rw_time_t*, tmp);
 pmem = _RWSTD_REINTERPRET_CAST (_RWSTD_UINT32_T*, pun);




svn commit: r636534 - /stdcxx/trunk/src/wcodecvt.cpp

2008-03-12 Thread sebor
Author: sebor
Date: Wed Mar 12 15:13:18 2008
New Revision: 636534

URL: http://svn.apache.org/viewvc?rev=636534&view=rev
Log:
2008-03-12  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-435
* src/wcodecvt.cpp (__rw_libc_do_in): Replaces use(s) of mbsrtowcs()
with mbrtowc() to prevent reading past the end of source sequences
that aren't NUL-terminated.

Modified:
stdcxx/trunk/src/wcodecvt.cpp

Modified: stdcxx/trunk/src/wcodecvt.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/src/wcodecvt.cpp?rev=636534&r1=636533&r2=636534&view=diff
==
--- stdcxx/trunk/src/wcodecvt.cpp (original)
+++ stdcxx/trunk/src/wcodecvt.cpp Wed Mar 12 15:13:18 2008
@@ -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, Inc.
+ * Copyright 2001-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -342,9 +342,6 @@
 }
 
 
-//  This returns two result codes:  error and ok. The partial error result
-//  is not  returned because there  is no way  to know whether or  not the
-//  input sequence contains any more valid characters.
 static _STD::codecvt_base::result
 __rw_libc_do_in (_RWSTD_MBSTATE_T &state,
  const char   *from, 
@@ -359,95 +356,59 @@
 
 _STD::codecvt_base::result res = _STD::codecvt_base::ok;
 
-_RWSTD_MBSTATE_T save_state = state;   // saved state before conversion
+// compute the length of the source sequence in bytes and
+// the size of the destination buffer in wide characters
+_RWSTD_SIZE_T src_len  = from_end - from;
+_RWSTD_SIZE_T dst_size = to_limit - to;
+
+// set the initial values to the source and destination pointers
+const char* psrc = from;
+wchar_t*pdst = to;
 
-_RWSTD_SIZE_T src_len = from_end - from;   // source length
-_RWSTD_SIZE_T dst_len = to_limit - to;   // destination length
+while (dst_size && src_len) {
 
-const char*   psrc = from_next ? from_next : "";   // source
-wchar_t*  pdst = to_next;  // destination
-
-#ifndef _RWSTD_NO_MBSRTOWCS
-// mbsrtowcs() requires the input to be a NULL-terminated string
-const _RWSTD_SIZE_T ret = mbsrtowcs (pdst, &psrc, dst_len, &state);
-#else   // if defined (_RWSTD_NO_MBSRTOWCS)
-const _RWSTD_SIZE_T ret = _RWSTD_SIZE_MAX;
-#endif// _RWSTD_NO_MBSRTOWCS
-
-// if an error occurred during the restartable function
-// or if that function is not available
-if (_RWSTD_SIZE_MAX == ret) {
-// the conversion here (besides the previous failure) is done 
-// one character at a time because the non-reentrant/restartable 
-// counterpart of mbsrtowcs() does not provide any information
-// about the size of the input that has been processed.
-_RWSTD_UNUSED (state);
-
-// restore `psrc' value
-psrc = from_next ? from_next : "";
-
-while (dst_len && src_len) {
-
-_RWSTD_SIZE_T tmp;
+// the number of bytes that form the next multibyte character
+_RWSTD_SIZE_T nbytes;
 
 #ifndef _RWSTD_NO_MBRTOWC
-tmp = mbrtowc (pdst, psrc, src_len, &state);
+nbytes = mbrtowc (pdst, psrc, src_len, &state);
 #elif !defined (_RWSTD_NO_MBTOWC)
-tmp = mbtowc (pdst, psrc, src_len);
+nbytes = mbtowc (pdst, psrc, src_len);
 #else
-tmp = _RWSTD_SIZE_MAX;
+nbytes = _RWSTD_SIZE_MAX;
 #endif
 
-// error; -1 result comes only from an illegal sequence
-if (_RWSTD_SIZE_MAX == tmp) {
-res = _STD::codecvt_base::error;
-break;
-}
- 
-// not enough bytes in input to form a valid 
-// character - translates to an ok result
-if (tmp == (_RWSTD_SIZE_T)(-2))
-break;
-
-// the multibyte sequence is the NULL character
-if (tmp == 0) 
-tmp++;
-
-// adjust the pointers
-psrc+= tmp;
-src_len -= tmp;
-++pdst;
---dst_len;
+// -1 indicates an invalid sequence (i.e., error)
+if (nbytes == (_RWSTD_SIZE_T)(-1)) {
+res = _STD::codecvt_base::error;
+break;
 }
-
-// adjust "next" pointers
-from_next = psrc;
-to_next   = pdst;
-
+ 
+// -2 indicates an ambiguous but valid subsequence
+// (i.e., ok)
+if (nbytes == (_RWSTD_SIZE_T)(-2))
+break;
+
+// 0 indicates the NUL character (skip over it)
+if (nbytes == 0) 
+++nbytes;
+
+// > 0 indicates the number of bytes in the successf

svn commit: r636553 - /stdcxx/trunk/tests/regress/22.locale.codecvt.stdcxx-435.cpp

2008-03-12 Thread sebor
Author: sebor
Date: Wed Mar 12 15:48:24 2008
New Revision: 636553

URL: http://svn.apache.org/viewvc?rev=636553&view=rev
Log:
2008-03-12  Martin Sebor  <[EMAIL PROTECTED]>

* tests/regress/22.locale.codecvt.stdcxx-435.cpp: Added regression
test for STDCXX-435.

Added:
stdcxx/trunk/tests/regress/22.locale.codecvt.stdcxx-435.cpp   (with props)

Added: stdcxx/trunk/tests/regress/22.locale.codecvt.stdcxx-435.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/regress/22.locale.codecvt.stdcxx-435.cpp?rev=636553&view=auto
==
--- stdcxx/trunk/tests/regress/22.locale.codecvt.stdcxx-435.cpp (added)
+++ stdcxx/trunk/tests/regress/22.locale.codecvt.stdcxx-435.cpp Wed Mar 12 
15:48:24 2008
@@ -0,0 +1,89 @@
+/
+ *
+ * 22.locale.codecvt.stdcxx-435.cpp - regression test for STDCXX-435
+ *
+ *   http://issues.apache.org/jira/browse/STDCXX-435
+ *
+ * $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 
+#include 
+
+int main ()
+{
+// multibyte locale
+std::locale mbloc;
+
+// names of some well-known multibyte locales
+const char* const names[] = {
+"EN_US.UTF-8",   // AIX
+"en_US.UTF-8",   // AIX, Linux, Solaris
+"en_US.utf8",// HP-UX
+
+// starting with Vista, Windows follows RFC 4646 name format
+// http://msdn2.microsoft.com/en-us/library/ms776260(VS.85).aspx
+"hy-AM",  // Win 2000
+"as-IN",  // Win Vista
+"bn-IN",  // Win XP SP2
+"zh-HK",
+"zh-CN"
+};
+
+// try to find the first multibyte locale on this system
+for (unsigned i = 0; names [i]; ++i) {
+if (std::setlocale (LC_ALL, names [i])) {
+mbloc = std::locale (names [i]);
+break;
+}
+}
+
+// fall back on the "C" locale...
+
+typedef std::codecvt MbCvt;
+
+const MbCvt &cvt = std::use_facet(mbloc);
+
+// source and destination buffers
+const char src[] = "abc";
+wchar_t dst [2] = { L'\0', L'\1' };
+
+const char* from_next;
+
+wchar_t* to_next;
+
+std::mbstate_t state = std::mbstate_t ();
+
+// convert exactly one source character, expect exactly
+// one wide character in the destination buffer
+const std::codecvt_base::result res =
+cvt.in (state,
+src, src + 1, from_next,
+dst, dst + 2, to_next);
+
+assert (cvt.ok == res);
+assert (1 == from_next - src);
+assert (1 == to_next - dst);
+assert ('a' == dst [0] && '\1' == dst [1]);
+}

Propchange: stdcxx/trunk/tests/regress/22.locale.codecvt.stdcxx-435.cpp
--
svn:eol-style = native

Propchange: stdcxx/trunk/tests/regress/22.locale.codecvt.stdcxx-435.cpp
--
svn:keywords = Id




svn commit: r636585 - in /stdcxx/site/forrest: ./ src/documentation/content/xdocs/ src/documentation/content/xdocs/images/ src/documentation/resources/images/

2008-03-12 Thread sebor
Author: sebor
Date: Wed Mar 12 17:18:36 2008
New Revision: 636585

URL: http://svn.apache.org/viewvc?rev=636585&view=rev
Log:
2008-03-12  Gavin  <[EMAIL PROTECTED]>

STDCXX-686
* forrest/src/documentation/content/xdocs/site.xml: Broke down
index page into multiple pages, some of them into a new developers
tab.
* forrest/src/documentation/content/xdocs/index.xml: Same.
* forrest/src/documentation/content/xdocs/tabs.xml: Same.
* forrest/mission.xml: New page.
* forrest/symbols-project-v10.ent: New page.
* forrest/index.xml: New page.
* forrest/news.xml: New page.
* forrest/src/documentation/resources/images/stdcxx.png: Moved from
here...
* forrest/src/documentation/content/xdocs/images/stdcxx.png: ...to
here.

Added:
stdcxx/site/forrest/index.xml   (with props)
stdcxx/site/forrest/mission.xml   (with props)
stdcxx/site/forrest/news.xml   (with props)
stdcxx/site/forrest/src/documentation/content/xdocs/images/stdcxx.png
  - copied unchanged from r618441, 
stdcxx/site/forrest/src/documentation/resources/images/stdcxx.png
stdcxx/site/forrest/symbols-project-v10.ent   (with props)
Removed:
stdcxx/site/forrest/src/documentation/resources/images/stdcxx.png
Modified:
stdcxx/site/forrest/src/documentation/content/xdocs/index.xml
stdcxx/site/forrest/src/documentation/content/xdocs/site.xml
stdcxx/site/forrest/src/documentation/content/xdocs/tabs.xml

Added: stdcxx/site/forrest/index.xml
URL: 
http://svn.apache.org/viewvc/stdcxx/site/forrest/index.xml?rev=636585&view=auto
==
--- stdcxx/site/forrest/index.xml (added)
+++ stdcxx/site/forrest/index.xml Wed Mar 12 17:18:36 2008
@@ -0,0 +1,67 @@
+
+
+http://forrest.apache.org/dtd/document-v20.dtd";>
+
+  
+Apache C++ Standard Library (STDCXX)
+  
+  
+
+Project Roles
+Here is a general rundown on what different groups of people do 
within the Standard c++ project.
+
+  
+  Users
+  
+Stdcxx Users are Developers with read-only access, i.e., without Commit Access 
to the stdcxx Codebase who are using the project.
+  
+  
+The mailing list appropriate for discussions of using the stdcxx project is 
[EMAIL PROTECTED] This is an archived, moderated mailing list open to all 
subscribers.
+You may subscribe by sending a blank email to [EMAIL PROTECTED] To obtain 
additional information about this list send a blank email to [EMAIL PROTECTED]
+
+
+  
+  
+  Contributors
+  Stdcxx Contributors are Developers without commit (or write) 
access to the stdcxx codebase who directly or otherwise make improvements to 
the project codebase, including its Web pages. This includes but is not limited 
to individuals who respond to questions on the project's mailing lists, review 
and provide helpful feedback on patches or commits, submit, provide helpful 
comments on, or triage bug reports, or contribute useful patches of their own. 
Interested contributors may be voted to become Committers after a period of 
valuable activity.
+  Because Contributors have read but not write access to stdcxx 
code repository, they can check stdcxx out and make changes to their local copy 
of stdcxx files but they cannot check them back in. To get their changes 
committed, they must follow the process for Submitting Patches.
+The stdcxx community welcomes new contributors. If you are interested in 
getting involved, the first thing to do after reading the project Web pages is 
to subscribe to the dev mailing list and skimming the archives. If you're 
looking for ideas for where your help might be needed, browse the bug database 
or simply ask on the maling list.
+Committers
+  
+  
+  
+  Committers
+  Stdcxx Committers are Developers with commit (or write) access to 
the stdcxx codebase. For safe changes on trunk all stdcxx committers follow the 
Commit-Then-Review policy (CTR for short). For potentially unsafe changes or 
any changes to branches all stdcxx committers follow the Review-Then-Commit 
policy (RTC for short). Whether a change is safe or not is a judgment call that 
should be made after careful testing of the change on at least two different 
platforms with two different compilers. The list of current committers in 
alphabetical order is below:
+Committers in italics do not yet have a signed Contributor License 
Agreement on file. This indicates a transient state after a committer has been 
voted in but their CLA hasn't been received or processed by the foundation.
+
+An up-to-date list of all Apache committers (or committers-to-be) is being 
maintained by Jim Jagielski on this page.
+
+The mailing list used by stdcxx committers for discussions of the maintenance, 
development, and porting of the stdcxx project is [EMAIL PROTECTED] Th

svn commit: r636590 - /stdcxx/trunk/bin/genxviews

2008-03-12 Thread sebor
Author: sebor
Date: Wed Mar 12 17:44:01 2008
New Revision: 636590

URL: http://svn.apache.org/viewvc?rev=636590&view=rev
Log:
2008-03-12  Martin Sebor  <[EMAIL PROTECTED]>

* genxviews: Added HP aCC 6.16 and 3.80.

Modified:
stdcxx/trunk/bin/genxviews

Modified: stdcxx/trunk/bin/genxviews
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/genxviews?rev=636590&r1=636589&r2=636590&view=diff
==
--- stdcxx/trunk/bin/genxviews (original)
+++ stdcxx/trunk/bin/genxviews Wed Mar 12 17:44:01 2008
@@ -247,6 +247,10 @@
 freebsd-6.2-x86-gcc-3.4.4.html
 
 # HP-UX 
+process_results "HP-UX 11.31" "IPF" "HP aCC 6.16" \
+"hpux-11.31-ia64-acc-6.16-*-*-log.gz.txt" \
+hpux-11.31-ia64-6.16.html
+
 process_results "HP-UX 11.31" "IPF" "HP aCC 6.15" \
 "hpux-11.31-ia64-acc-6.15-*-*-log.gz.txt" \
 hpux-11.31-ia64-6.15.html
@@ -270,6 +274,10 @@
 process_results "HP-UX 11.23" "IPF" "HP aCC 5.57" \
 "hpux-11.23-ia64-acc-5.57-*-*-log.gz.txt" \
 hpux-11.23-ia64-acc-5.57.html
+
+process_results "HP-UX 11.23" "PA-RISC" "HP aCC 3.80" \
+"hpux-11.23-pa-acc-3.80-*-*-log.gz.txt" \
+hpux-11.23-pa-acc-3.80.html
 
 process_results "HP-UX 11.23" "PA-RISC" "HP aCC 3.73" \
 "hpux-11.23-pa-acc-3.73-*-*-log.gz.txt" \




svn commit: r637269 - in /stdcxx/trunk/bin: xbuildgen xcomp.awk

2008-03-14 Thread sebor
Author: sebor
Date: Fri Mar 14 14:15:02 2008
New Revision: 637269

URL: http://svn.apache.org/viewvc?rev=637269&view=rev
Log:
2008-03-14  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-702
* xbuildgen: Moved all buildlog processing to...
* xcomp.awk: ...here, improving the detection of platform details
as well build start times and the numbers of diagnosics (broken
down by library and all other components).
Removed min, max, total, and average statistics from the Logs and
Columns table. The size of the gzipped log is not being reported
yet.
Only builds where the configuration or library build stage failed
are now highlighted in red (including on Windows).

Modified:
stdcxx/trunk/bin/xbuildgen
stdcxx/trunk/bin/xcomp.awk

Modified: stdcxx/trunk/bin/xbuildgen
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/xbuildgen?rev=637269&r1=637268&r2=637269&view=diff
==
--- stdcxx/trunk/bin/xbuildgen (original)
+++ stdcxx/trunk/bin/xbuildgen Fri Mar 14 14:15:02 2008
@@ -20,7 +20,7 @@
 #  implied.   See  the License  for  the  specific language  governing
 #  permissions and limitations under the License.
 #
-#  Copyright 2007 Rogue Wave Software, Inc.
+#  Copyright 2007 - 2008 Rogue Wave Software, Inc.
 #
 
 #
@@ -874,106 +874,6 @@
 exit 2
 fi
 
-
-cat <Logs and Columns
-EOF
-
-
-if [ $components_in_rows -ne 0 ]; then
-cat <$timings_file
-
-Timings
-
-
-  
-
-  log
-  buildtype
-  build and run times (M:SS)
-
-
-  config
-  library
-  examples
-  utilities
-  tests
-  run times
-  total
-
-
-  real
-  user
-  sys
-  real
-  user
-  sys
-  real
-  user
-  sys
-  real
-  user
-  sys
-  real
-  user
-  sys
-  real
-  user
-  sys
-  real
-  user
-  sys
-
-  
-  
-EOF
-
-cat <
-  
-
-  log
-  operatingsystem
-  arch
-  compiler
-  buildtype
-  start date and time
-  age
-  revision
-  sizes
-  diagnostics
-  
-
-
-  library
-  log
-  build
-  errors
-  warnings
-  
-  
-  
-
-
-  gzip
-  text
-  full
-  clean
-  
-  
-  
-  
-  
-  
-
-  
-  
-EOF
-
-fi
-
-
-
 ##
 # expand gzipped logs and extract the relevant portion from each into
 # a smaller text file for fast and easy processing; the names of all
@@ -985,39 +885,6 @@
 # space-separated list of names of text logs processed in loop below
 textlogs=""
 
-# the minimum, maximum, and the sum of library sizes
-libsize_min=99
-libsize_max=0
-libsize_sum=0
-
-# the minimum, maximum, and the sum of compressed log sizes
-gzlogsize_min=99
-gzlogsize_max=0
-gzlogsize_sum=0
-
-# the minimum, maximum, and the sum of uncompressed log sizes
-txtlogsize_min=99
-txtlogsize_max=0
-txtlogsize_sum=0
-
-# the number of logs counted equals logcount (see above)
-
-# the minimum, maximum, and the sum of full build sizes
-fullbuildsize_min=99
-fullbuildsize_max=0
-fullbuildsize_sum=0
-
-# the minimum, maximum, and the sum of clean build sizes
-cleanbuildsize_min=99
-cleanbuildsize_max=0
-cleanbuildsize_sum=0
-
-# the number of build sizes counted
-buildsize_count=0
-
-# the number of successfully built (non-zero size) libraries
-libcount=0
-
 for l in $gzlogs; do
 logcount=$((logcount + 1))
 fname=`basename $l`
@@ -1039,313 +906,7 @@
 
 # continue processing the empty log below
 fi
-
-# determine the size of the compressed and decompressed log
-gzlogsize=`wc -c $l`
-gzlogsize=${gzlogsize% *}
-
-if [ $gzlogsize -lt $gzlogsize_min ]; then
-gzlogsize_min=$gzlogsize
-fi
-
-if [ $gzlogsize -gt $gzlogsize_max ]; then
-gzlogsize_max=$gzlogsize
-fi
-
-gzlogsize_sum=$((gzlogsize_sum + gzlogsize))
-
-gzlogsize=`format_size $gzlogsize`
-
-txtlogsize=`wc -c $txtlog`
-txtlogsize=${txtlogsize% *}
-
-if [ $txtlogsize -lt $txtlogsize_min ]; then
-txtlogsize_min=$txtlogsize
-fi
-
-if [ $txtlogsize -gt $txtlogsize_max ]; then
-txtlogsize_max=$txtlogsize
-fi
-
-txtlogsize_sum=$((txtlogsize_sum + txtlogsize))
-
-txtlogsize=`format_size $txtlogsize`
-
-# extract the date and time the build started
-# t

svn commit: r637274 - /stdcxx/trunk/bin/xcomp.awk

2008-03-14 Thread sebor
Author: sebor
Date: Fri Mar 14 14:34:03 2008
New Revision: 637274

URL: http://svn.apache.org/viewvc?rev=637274&view=rev
Log:
2008-03-14  Martin Sebor  <[EMAIL PROTECTED]>

* xcomp.awk: Escaped a forward slash to make FreeBSD awk happy.

Modified:
stdcxx/trunk/bin/xcomp.awk

Modified: stdcxx/trunk/bin/xcomp.awk
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/xcomp.awk?rev=637274&r1=637273&r2=637274&view=diff
==
--- stdcxx/trunk/bin/xcomp.awk (original)
+++ stdcxx/trunk/bin/xcomp.awk Fri Mar 14 14:34:03 2008
@@ -486,7 +486,7 @@
 
 
 # extract the Windows build date (date /T output)
-/>date  *[/]T *$/ {
+/>date  *\/T *$/ {
 
 getline
 




svn commit: r637279 - /stdcxx/trunk/bin/xcomp.awk

2008-03-14 Thread sebor
Author: sebor
Date: Fri Mar 14 14:36:55 2008
New Revision: 637279

URL: http://svn.apache.org/viewvc?rev=637279&view=rev
Log:
2008-03-14  Martin Sebor  <[EMAIL PROTECTED]>

* xcomp.awk: Closed pipelines to avoid exhausting OPEN_MAX limit.

Modified:
stdcxx/trunk/bin/xcomp.awk

Modified: stdcxx/trunk/bin/xcomp.awk
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/xcomp.awk?rev=637279&r1=637278&r2=637279&view=diff
==
--- stdcxx/trunk/bin/xcomp.awk (original)
+++ stdcxx/trunk/bin/xcomp.awk Fri Mar 14 14:36:55 2008
@@ -149,7 +149,9 @@
 "-" re_buildtype "-" "[1-9][0-9]*-log"
 
 # get today's date
-"LC_ALL=C date" | getline todays_date
+cmd = "LC_ALL=C date"
+cmd | getline todays_date
+close(cmd)
 
 # set the conversion format to two decimal places
 CONVFMT = "%.3g"
@@ -214,6 +216,7 @@
 if (0 < index(pattern, "{")) {
 cmd = "echo " pattern
 cmd | getline pattern
+close(cmd)
 }
 
 # split the (potentially expanded) pattern into an array
@@ -1848,6 +1851,7 @@
 duration = "~/stdcxx/bin/duration -f \"" logdates [fname] \
  "\" \"" todays_date "\""
 duration | getline fullage
+close(duration)
 
 pos  = index(fullage, ", ")
 buildage = substr(fullage, 1, pos - 1)
@@ -1873,6 +1877,8 @@
 # format the size of the expanded log file
 cmd = "du -k " fname
 cmd | getline
+close(cmd)
+
 fullsize = $1
 size = format_size(fullsize * 1024)
 




svn commit: r637290 - in /stdcxx/site/forrest: ./ src/documentation/resources/schema/ src/documentation/xdocs/ src/documentation/xdocs/developers/

2008-03-14 Thread sebor
Author: sebor
Date: Fri Mar 14 15:09:20 2008
New Revision: 637290

URL: http://svn.apache.org/viewvc?rev=637290&view=rev
Log:
2008-03-14  Gavin <[EMAIL PROTECTED]>

STDCXX-686
* forrest/mission.xml: Moved...
* forrest/src/documentation/xdocs/mission.xml: ..to here.
* forrest/symbols-project-v10.ent: Moved...
* forrest/src/documentation/resources/schema/symbols-project-v10.ent:
...here.
* forrest/index.xml: Moved...
* forrest/src/documentation/xdocs/developers/index.xml: ...here.
* forrest/news.xml: Moved...
* forrest/src/documentation/xdocs/news.xml: ...here.

Added:

stdcxx/site/forrest/src/documentation/resources/schema/symbols-project-v10.ent
  - copied unchanged from r636585, 
stdcxx/site/forrest/symbols-project-v10.ent
stdcxx/site/forrest/src/documentation/xdocs/
stdcxx/site/forrest/src/documentation/xdocs/developers/
stdcxx/site/forrest/src/documentation/xdocs/developers/index.xml
  - copied unchanged from r636585, stdcxx/site/forrest/index.xml
stdcxx/site/forrest/src/documentation/xdocs/mission.xml
  - copied unchanged from r636585, stdcxx/site/forrest/mission.xml
stdcxx/site/forrest/src/documentation/xdocs/news.xml
  - copied unchanged from r636585, stdcxx/site/forrest/news.xml
Removed:
stdcxx/site/forrest/index.xml
stdcxx/site/forrest/mission.xml
stdcxx/site/forrest/news.xml
stdcxx/site/forrest/symbols-project-v10.ent



svn commit: r637295 - /stdcxx/trunk/bin/xcomp.awk

2008-03-14 Thread sebor
Author: sebor
Date: Fri Mar 14 15:26:46 2008
New Revision: 637295

URL: http://svn.apache.org/viewvc?rev=637295&view=rev
Log:
2008-03-14  Martin Sebor  <[EMAIL PROTECTED]>

* bin/xcomp.awk (print_timingstable): Highlighted totals in bold.

Modified:
stdcxx/trunk/bin/xcomp.awk

Modified: stdcxx/trunk/bin/xcomp.awk
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/xcomp.awk?rev=637295&r1=637294&r2=637295&view=diff
==
--- stdcxx/trunk/bin/xcomp.awk (original)
+++ stdcxx/trunk/bin/xcomp.awk Fri Mar 14 15:26:46 2008
@@ -1931,9 +1931,9 @@
 
 function print_timingstable()
 {
-thead = \
-"\n"   \
-"  \n" \
+thead = \
+"\n" \
+"  \n"   \
 "\n"\
 "  "  \
 "log\n"\
@@ -1954,7 +1954,7 @@
 "  "   \
 "run times\n"  \
 "  "  \
-"total\n"  \
+"total\n"   \
 "\n"   \
 "\n"\
 "  real\n" \
@@ -2016,9 +2016,19 @@
 usrtim  = format_time(atimes [2])
 systim  = format_time(atimes [3])
 
-timecells = timecells "" realtim ""
-timecells = timecells "" usrtim ""
-timecells = timecells "" systim ""
+# highlight total times in bold
+if ("total" == stage) {
+pfx = ""
+sfx = ""
+}
+else {
+pfx = ""
+sfx = ""
+}
+
+timecells = timecells "" pfx realtim sfx ""
+timecells = timecells "" pfx usrtim  sfx ""
+timecells = timecells "" pfx systim  sfx ""
 }
 else {
 timecells = timecells ""




svn propchange: r637269 - svn:log

2008-03-14 Thread sebor
Author: sebor
Revision: 637269
Modified property: svn:log

Modified: svn:log at Fri Mar 14 15:28:40 2008
--
--- svn:log (original)
+++ svn:log Fri Mar 14 15:28:40 2008
@@ -1,10 +1,10 @@
 2008-03-14  Martin Sebor  <[EMAIL PROTECTED]>
 
STDCXX-702
-   * xbuildgen: Moved all buildlog processing to...
-   * xcomp.awk: ...here, improving the detection of platform details
-   as well build start times and the numbers of diagnosics (broken
-   down by library and all other components).
+   * bin/xbuildgen: Moved all buildlog processing to...
+   * bin/xcomp.awk: ...here, improving the detection of platform details
+   as well build start times and the numbers of diagnosics (broken down
+   by library and all other components).
Removed min, max, total, and average statistics from the Logs and
Columns table. The size of the gzipped log is not being reported
yet.



svn propchange: r637279 - svn:log

2008-03-14 Thread sebor
Author: sebor
Revision: 637279
Modified property: svn:log

Modified: svn:log at Fri Mar 14 15:29:16 2008
--
--- svn:log (original)
+++ svn:log Fri Mar 14 15:29:16 2008
@@ -1,3 +1,3 @@
 2008-03-14  Martin Sebor  <[EMAIL PROTECTED]>
 
-   * xcomp.awk: Closed pipelines to avoid exhausting OPEN_MAX limit.
+   * bin/xcomp.awk: Closed pipelines to avoid exhausting OPEN_MAX limit.



svn propchange: r637274 - svn:log

2008-03-14 Thread sebor
Author: sebor
Revision: 637274
Modified property: svn:log

Modified: svn:log at Fri Mar 14 15:29:45 2008
--
--- svn:log (original)
+++ svn:log Fri Mar 14 15:29:45 2008
@@ -1,3 +1,3 @@
 2008-03-14  Martin Sebor  <[EMAIL PROTECTED]>
 
-   * xcomp.awk: Escaped a forward slash to make FreeBSD awk happy.
+   * bin/xcomp.awk: Escaped a forward slash to make FreeBSD awk happy.



svn propchange: r608678 - svn:log

2008-03-14 Thread sebor
Author: sebor
Revision: 608678
Modified property: svn:log

Modified: svn:log at Fri Mar 14 15:30:31 2008
--
--- svn:log (original)
+++ svn:log Fri Mar 14 15:30:31 2008
@@ -1,6 +1,6 @@
 2008-01-03  Martin Sebor  <[EMAIL PROTECTED]>
 
-   * xcomp.awk (sectcomponents): Added an array of lists of component
+   * bin/xcomp.awk (sectcomponents): Added an array of lists of component
names for each section with each list maintaining the same order as
in the logs. 
(print_section): Used the sectcomponents array to print components



svn propchange: r608297 - svn:log

2008-03-14 Thread sebor
Author: sebor
Revision: 608297
Modified property: svn:log

Modified: svn:log at Fri Mar 14 15:31:10 2008
--
--- svn:log (original)
+++ svn:log Fri Mar 14 15:31:10 2008
@@ -1,7 +1,7 @@
 2008-01-02  Martin Sebor  <[EMAIL PROTECTED]>
 
-   * xcomp.awk: Added a pattern to extract date formatted in the Windows
-   format (the output of date /T).
+   * bin/xcomp.awk: Added a pattern to extract date formatted in the
+   Windows format (the output of date /T).
(get_date): Handled badly formatted/empty dates more robustly.
(get_buildtype): Handled build types with the [redundant] "win32" bit
indicating Windows threads.



svn commit: r637301 - /stdcxx/trunk/bin/xcomp.awk

2008-03-14 Thread sebor
Author: sebor
Date: Fri Mar 14 16:20:32 2008
New Revision: 637301

URL: http://svn.apache.org/viewvc?rev=637301&view=rev
Log:
2008-03-14  Martin Sebor  <[EMAIL PROTECTED]>

* bin/xcomp.awk (get_gzlogfname): New function to removed directory
prefix from log file and replace the temporary PID suffix with the
original .gz extension.
(print_logtable, print_timingstable): Called get_gzlogfname().

Modified:
stdcxx/trunk/bin/xcomp.awk

Modified: stdcxx/trunk/bin/xcomp.awk
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/xcomp.awk?rev=637301&r1=637300&r2=637301&view=diff
==
--- stdcxx/trunk/bin/xcomp.awk (original)
+++ stdcxx/trunk/bin/xcomp.awk Fri Mar 14 16:20:32 2008
@@ -1723,6 +1723,26 @@
 }
 
 
+function get_gzlogfname(fname)
+{
+# strip directory prefix from file name
+pos = match(fname, ".*/")
+if (0 < pos)
+fref = substr(fname, RLENGTH + 1)
+else
+fref = fname
+
+# replace the temporary PID suffix with ".gz"
+pos = match(fref, "\\.[1-9][0-9]*$")
+if (0 < pos)
+fref = substr(fref, 1, pos - 1)
+
+fref = fref ".gz"
+
+return fref
+}
+
+
 function print_logtable()
 {
 thead = \
@@ -1801,7 +1821,9 @@
 else
 print ""
 
-print "  " i ""
+# strip directory prefix from file name
+loghref = get_gzlogfname(fname)
+print "  " i ""
 
 
 # extract and format the operating system name and version
@@ -1995,7 +2017,9 @@
 else
 print ""
 
-print "  " i ""
+# strip directory prefix from file name
+loghref = get_gzlogfname(fname)
+print "  " i ""
 
 buildtype = get_buildtype(fname)
 print "  " buildtype ""




svn commit: r637303 - /stdcxx/trunk/bin/xcomp.awk

2008-03-14 Thread sebor
Author: sebor
Date: Fri Mar 14 16:33:37 2008
New Revision: 637303

URL: http://svn.apache.org/viewvc?rev=637303&view=rev
Log:
2008-03-14  Martin Sebor  <[EMAIL PROTECTED]>

* bin/xcomp.awk (get_gzlogfname): Replaced .txt suffix with
the hopefully now correct .gz.txt.

Modified:
stdcxx/trunk/bin/xcomp.awk

Modified: stdcxx/trunk/bin/xcomp.awk
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/xcomp.awk?rev=637303&r1=637302&r2=637303&view=diff
==
--- stdcxx/trunk/bin/xcomp.awk (original)
+++ stdcxx/trunk/bin/xcomp.awk Fri Mar 14 16:33:37 2008
@@ -1737,7 +1737,8 @@
 if (0 < pos)
 fref = substr(fref, 1, pos - 1)
 
-fref = fref ".gz"
+# replace the trailing .txt suffix with .gz.txt
+sub("\\.txt$", ".gz.txt", fref)
 
 return fref
 }




svn commit: r637671 - in /stdcxx/trunk/doc/stdlibref: basic-ios.html lists.html

2008-03-16 Thread sebor
Author: sebor
Date: Sun Mar 16 15:18:53 2008
New Revision: 637671

URL: http://svn.apache.org/viewvc?rev=637671&view=rev
Log:
2008-03-16  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-770
* doc/stdlibref/basic-ios.html (copyfmt): Added Table 40: copyfmt()
Postconditions.
(init): Added Table 41: init() Postconditions.
* doc/stdlibref/lists.html: Added references to Tables 40 and 41.

Modified:
stdcxx/trunk/doc/stdlibref/basic-ios.html
stdcxx/trunk/doc/stdlibref/lists.html

Modified: stdcxx/trunk/doc/stdlibref/basic-ios.html
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/doc/stdlibref/basic-ios.html?rev=637671&r1=637670&r2=637671&view=diff
==
--- stdcxx/trunk/doc/stdlibref/basic-ios.html (original)
+++ stdcxx/trunk/doc/stdlibref/basic-ios.html Sun Mar 16 15:18:53 2008
@@ -15,7 +15,7 @@
 implied.   See  the License  for  the  specific language  governing
 permissions and limitations under the License.
 
-Copyright 1999-2007 Rogue Wave Software, Inc.
+Copyright 1999-2008 Rogue Wave Software, Inc.
 -->
 
 
@@ -250,6 +250,49 @@
 Before copying any parts of rhs, calls each registered 
callback pair (fn, index) as (*fn)(erase_event,*this, 
index). After all parts but exceptions() are replaced, 
calls each callback pair that was copied from rhs as 
(*fn)(copy_event,*this, index).
 
 
+Table 40: copyfmt() 
Postconditions
+
+
+  Element
+  Value
+
+
+  rdbuf()
+  unchanged
+
+
+  tie()
+  rhs.tie()
+
+
+  rdstate()
+  unchanged
+
+
+  exceptions()
+  rhs.exceptions()
+
+
+  flags()
+  rhs.flags()
+
+
+  width()
+  rhs.width()
+
+
+  precision()
+  rhs.precision()
+
+
+  fill()
+  rhs.fill()
+
+
+  getloc()
+  rhs.getloc()
+
+
 
 bool 
 eof() const; 
@@ -310,20 +353,52 @@
 void 
 init(basic_streambuf<charT,traits>* sb); 
 
-Performs the following initialization:
-
-rdbuf()  sb
-tie()0
-rdstate()goodbit if sb is not null otherwise badbit
-exceptions() goodbit
-flags()  skipws | dec
-width()  0
-precision()  6
-fill()   the space character
-getloc() a copy of the locale returned by
- locale::locale()
-
+Performs initialization according to the following table:
 
+
+Table 41: init() 
Postconditions
+
+
+  Element
+  Value
+
+
+  rdbuf()
+  sb
+
+
+  tie()
+  0
+
+
+  rdstate()
+  sb ? goodbit : badbit
+
+
+  exceptions()
+  goodbit
+
+
+  flags()
+  skipws | dec
+
+
+  width()
+  0
+
+
+  precision()
+  6
+
+
+  fill()
+  widen(' ')
+
+
+  getloc()
+  locale::global()
+
+
 
 
 char 

Modified: stdcxx/trunk/doc/stdlibref/lists.html
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/doc/stdlibref/lists.html?rev=637671&r1=637670&r2=637671&view=diff
==
--- stdcxx/trunk/doc/stdlibref/lists.html (original)
+++ stdcxx/trunk/doc/stdlibref/lists.html Sun Mar 16 15:18:53 2008
@@ -15,7 +15,7 @@
 implied.   See  the License  for  the  specific language  governing
 permissions and limitations under the License.
 
-Copyright 1999-2007 Rogue Wave Software, Inc.
+Copyright 1999-2008 Rogue Wave Software, Inc.
 -->
 
 
@@ -72,6 +72,11 @@
 Table 37: Recognized modified 
formatting characters .
 Table 38: Formatting functions and 
manipulators in wcout
 Table 39: Extensions of this 
implementation to the C++ Standard Library 
+
+Table 40: copyfmt() 
Postconditions
+
+Table 41: init() 
Postconditions
+
 
 
 




svn commit: r638391 - /stdcxx/trunk/tests/src/fmt_bits.cpp

2008-03-18 Thread sebor
Author: sebor
Date: Tue Mar 18 07:51:38 2008
New Revision: 638391

URL: http://svn.apache.org/viewvc?rev=638391&view=rev
Log:
2008-03-16  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-765
* tests/src/fmt_bits.cpp (_rw_bmpfmt): NUL-terminated string so that
it can be appended to using the %{+} directive, taking care not to
make the NUL a part of the formatted string.
(_rw_fmtflags): Same.
(_rw_fmtevent): Same.
(_rw_fmtlc): Same.

Modified:
stdcxx/trunk/tests/src/fmt_bits.cpp

Modified: stdcxx/trunk/tests/src/fmt_bits.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/src/fmt_bits.cpp?rev=638391&r1=638390&r2=638391&view=diff
==
--- stdcxx/trunk/tests/src/fmt_bits.cpp (original)
+++ stdcxx/trunk/tests/src/fmt_bits.cpp Tue Mar 18 07:51:38 2008
@@ -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-2008 Rogue Wave Software. Inc.
  * 
  **/
 
@@ -134,10 +134,16 @@
 // verify that buffer wasn't overflowed
 RW_ASSERT (buffersize <= sizeof buffer);
 
+// NUL-terminate string so that it can be appended to using
+// the %{+} directive, taking care not to make the NUL a part
+// of the formatted string
 FmtSpec newspec (spec);
 newspec.fl_pound = 0;
 
-return _rw_fmtstr (newspec, buf, buffer, buffersize);
+const int len = _rw_fmtstr (newspec, buf, buffer, buffersize + 1);
+--buf.endoff;
+
+return 0 < len ? len - 1 : len;
 }
 
 //
@@ -192,7 +198,7 @@
 
 int len = _rw_bmpfmt (spec, buf, names, count, bits);
 
-if (base && base != 8 && base != 10 && base != 16) {
+if (0 < len && base && base != 8 && base != 10 && base != 16) {
 
 // for numeric bases other than those required by the standard,
 // use the text "base (%d)" to show the extended numeric base
@@ -204,9 +210,19 @@
 
 #endif   // _RWSTD_NO_EXT_BIN_IO
 
-len = rw_asnprintf (buf.pbuf, buf.pbufsize,
-"%{+} | %{?}std::ios::%{;}base(%d)",
-spec.fl_pound, base);
+const int n = rw_asnprintf (buf.pbuf, buf.pbufsize,
+"%{+} | %{?}std::ios::%{;}base(%d)",
+spec.fl_pound, base);
+
+if (0 < n) {
+// adjust length and the end offset after appending above
+len+= n;
+buf.endoff += n;
+}
+else {
+// error (most likely ENOMEM)
+len = n;
+}
 }
 
 return len;
@@ -303,9 +319,26 @@
 : std::ios::erase_event   == event ? "erase_event"
 : 0;
 
-return rw_asnprintf (buf.pbuf, buf.pbufsize,
- "%{+}%{?}std::ios::%{;}%{?}%s%{:}event(%d)%{;}",
- spec.fl_pound, 0 != str, str, event);
+// NUL-terminate before appending below
+FmtSpec newspec (spec);
+newspec.fl_pound = 0;
+
+int len = _rw_fmtstr (newspec, buf, "", 1);
+
+if (1 == len) {
+// back up before the terminating NUL
+buf.endoff -= 1;
+
+// append name of event
+len = rw_asnprintf (buf.pbuf, buf.pbufsize,
+"%{+}%{?}std::ios::%{;}%{?}%s%{:}event(%d)%{;}",
+spec.fl_pound, 0 != str, str, event);
+
+if (0 < len)
+buf.endoff += len;
+}
+
+return len;
 }
 
 //
@@ -329,8 +362,25 @@
 
 }
 
-if (str)
-return rw_asnprintf (buf.pbuf, buf.pbufsize, "%{+}%s", str);
+if (str) {
+// NUL-terminate before appending below
+FmtSpec newspec (spec);
+newspec.fl_pound = 0;
+
+int len = _rw_fmtstr (newspec, buf, "", 1);
+
+if (1 == len) {
+// back up before the terminating NUL
+buf.endoff -= 1;
+
+len = rw_asnprintf (buf.pbuf, buf.pbufsize, "%{+}%s", str);
+
+if (0 < len)
+buf.endoff += len;
+}
+
+return len;
+}
 
 static const Bitnames names [] = {
 BITNAME (std::locale, all),




svn commit: r638417 - /stdcxx/trunk/bin/genxviews

2008-03-18 Thread sebor
Author: sebor
Date: Tue Mar 18 08:33:53 2008
New Revision: 638417

URL: http://svn.apache.org/viewvc?rev=638417&view=rev
Log:
2008-03-18  Martin Sebor  <[EMAIL PROTECTED]>

* genxviews: Added MSVC 9 builds on Windows 2003 and Windows XP.

Modified:
stdcxx/trunk/bin/genxviews

Modified: stdcxx/trunk/bin/genxviews
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/genxviews?rev=638417&r1=638416&r2=638417&view=diff
==
--- stdcxx/trunk/bin/genxviews (original)
+++ stdcxx/trunk/bin/genxviews Tue Mar 18 08:33:53 2008
@@ -467,6 +467,10 @@
 "win_xp-2-x86-icl-9.1-*-*-log.gz.txt" \
  win_xp_2-x86-icl-9.1.html
 
+process_results "Windows XP, SP1" "EM64T" "MSVC 9.0" \
+"win_xp-1-em64t-msvc-9.0-*-*-log.gz.txt" \
+ win_xp_1-em64t-msvc-9.0.html
+
 process_results "Windows XP, SP1" "EM64T" "MSVC 8.0" \
 "win_xp-1-em64t-msvc-8.0-*-*-log.gz.txt" \
  win_xp_1-em64t-msvc-8.0.html
@@ -474,6 +478,10 @@
 process_results "Windows XP, SP1" "EM64T" "Intel C++ 10.0" \
 "win_xp-1-em64t-icl-10.0-*-*-log.gz.txt" \
  win_xp_1-em64t-icl-10.0.html
+
+process_results "Windows 2003, SP1" "EM64T" "MSVC 9.0" \
+"win_2003-1-em64t-msvc-9.0-*-*-log.gz.txt" \
+ win_2003_1-em64t-msvc-9.0.html
 
 process_results "Windows 2003, SP1" "EM64T" "MSVC 8.0" \
 "win_2003-1-em64t-msvc-8.0-*-*-log.gz.txt" \




svn commit: r638493 - /stdcxx/trunk/include/rw/_mutex.h

2008-03-18 Thread sebor
Author: sebor
Date: Tue Mar 18 11:30:27 2008
New Revision: 638493

URL: http://svn.apache.org/viewvc?rev=638493&view=rev
Log:
2008-03-18  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-595
* _mutex.h [_RWSTD_POSIX_THREADS && _RWSTD_EDG_ECCP
&& _RWSTD_OS_LINUX && _RWSTD_NO_LONG_LONG]:  Disabled EDG eccp
error #450-D: the type "long long" is nonstandard when using the
vanilla EDG eccp in strict mode (i.e., w/o long long support).

Modified:
stdcxx/trunk/include/rw/_mutex.h

Modified: stdcxx/trunk/include/rw/_mutex.h
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_mutex.h?rev=638493&r1=638492&r2=638493&view=diff
==
--- stdcxx/trunk/include/rw/_mutex.h (original)
+++ stdcxx/trunk/include/rw/_mutex.h Tue Mar 18 11:30:27 2008
@@ -26,7 +26,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -78,6 +78,14 @@
 #  define _RWSTD_MUTEX_Tmutex_t
 
 #elif defined (_RWSTD_POSIX_THREADS)
+
+#  ifdefined (_RWSTD_EDG_ECCP) && defined (_RWSTD_OS_LINUX) \
+  && defined (_RWSTD_NO_LONG_LONG)
+ // disable error #450-D: the type "long long" is nonstandard
+ // when using the vanilla EDG eccp in strict mode (i.e., w/o
+ // long long support)
+#pragma diag_suppress 450
+#  endif   // EDG eccp on Linux
 
 // LinuxThreads man page:
 //   "Variables of type pthread_mutex_t can also be initialized




svn commit: r638501 - /stdcxx/trunk/include/loc/_num_get.h

2008-03-18 Thread sebor
Author: sebor
Date: Tue Mar 18 11:46:06 2008
New Revision: 638501

URL: http://svn.apache.org/viewvc?rev=638501&view=rev
Log:
2008-03-18  Martin Sebor  <[EMAIL PROTECTED]>

* _num_get.h [LONG_MAX <= SHRT_MAX] (__rw_check_overflow_short):
Silenced unused parameter warnings/remarks.
[LONG_MAX <= INT_MAX] (__rw_check_overflow_int): Same.

Modified:
stdcxx/trunk/include/loc/_num_get.h

Modified: stdcxx/trunk/include/loc/_num_get.h
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_num_get.h?rev=638501&r1=638500&r2=638501&view=diff
==
--- stdcxx/trunk/include/loc/_num_get.h (original)
+++ stdcxx/trunk/include/loc/_num_get.h Tue Mar 18 11:46:06 2008
@@ -292,11 +292,15 @@
 __err |= _RW::__rw_failbit;
 return short (_RWSTD_SHRT_MAX);
 }
-else
+
+#else   // if LONG_MAX <= SHRT_MAX
+
+_RWSTD_UNUSED (__flags);
+_RWSTD_UNUSED (__err);
 
 #endif   // _RWSTD_SHRT_MAX < _RWSTD_LONG_MAX
 
-return _RWSTD_STATIC_CAST (short, __lval);
+return _RWSTD_STATIC_CAST (short, __lval);
 }
 
 inline int
@@ -330,11 +334,15 @@
 __err |= _RW::__rw_failbit;
 return int (_RWSTD_INT_MAX);
 }
-else
+
+#else   // if LONG_MAX <= INT_MAX
+
+_RWSTD_UNUSED (__flags);
+_RWSTD_UNUSED (__err);
 
 #endif   // _RWSTD_INT_MAX < _RWSTD_LONG_MAX
 
-return _RWSTD_STATIC_CAST (int, __lval);
+return _RWSTD_STATIC_CAST (int, __lval);
 }
 
 }   // namespace __rw




svn commit: r638502 - /stdcxx/trunk/include/loc/_num_get.h

2008-03-18 Thread sebor
Author: sebor
Date: Tue Mar 18 11:47:21 2008
New Revision: 638502

URL: http://svn.apache.org/viewvc?rev=638502&view=rev
Log:
2008-03-18  Martin Sebor  <[EMAIL PROTECTED]>

* include/loc/_num_get.h: Bumped up year in copyright notice.

Modified:
stdcxx/trunk/include/loc/_num_get.h

Modified: stdcxx/trunk/include/loc/_num_get.h
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/loc/_num_get.h?rev=638502&r1=638501&r2=638502&view=diff
==
--- stdcxx/trunk/include/loc/_num_get.h (original)
+++ stdcxx/trunk/include/loc/_num_get.h Tue Mar 18 11:47:21 2008
@@ -25,7 +25,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 2001-2006 Rogue Wave Software.
+ * Copyright 2001-2008 Rogue Wave Software, Inc.
  * 
  **/
 




svn propchange: r638501 - svn:log

2008-03-18 Thread sebor
Author: sebor
Revision: 638501
Modified property: svn:log

Modified: svn:log at Tue Mar 18 11:48:07 2008
--
--- svn:log (original)
+++ svn:log Tue Mar 18 11:48:07 2008
@@ -1,5 +1,5 @@
 2008-03-18  Martin Sebor  <[EMAIL PROTECTED]>
 
-   * _num_get.h [LONG_MAX <= SHRT_MAX] (__rw_check_overflow_short):
-   Silenced unused parameter warnings/remarks.
+   * include/loc/_num_get.h [LONG_MAX <= SHRT_MAX]
+   (__rw_check_overflow_short): Silenced unused parameter warnings/remarks.
[LONG_MAX <= INT_MAX] (__rw_check_overflow_int): Same.



svn propchange: r638493 - svn:log

2008-03-18 Thread sebor
Author: sebor
Revision: 638493
Modified property: svn:log

Modified: svn:log at Tue Mar 18 12:01:20 2008
--
--- svn:log (original)
+++ svn:log Tue Mar 18 12:01:20 2008
@@ -1,7 +1,7 @@
 2008-03-18  Martin Sebor  <[EMAIL PROTECTED]>
 
STDCXX-595
-   * _mutex.h [_RWSTD_POSIX_THREADS && _RWSTD_EDG_ECCP
+   * include/rw/_mutex.h [_RWSTD_POSIX_THREADS && _RWSTD_EDG_ECCP
&& _RWSTD_OS_LINUX && _RWSTD_NO_LONG_LONG]:  Disabled EDG eccp
error #450-D: the type "long long" is nonstandard when using the
vanilla EDG eccp in strict mode (i.e., w/o long long support).



svn commit: r638674 - /stdcxx/trunk/util/collate.cpp

2008-03-18 Thread sebor
Author: sebor
Date: Tue Mar 18 18:31:11 2008
New Revision: 638674

URL: http://svn.apache.org/viewvc?rev=638674&view=rev
Log:
2008-03-18  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-281
* collate.cpp (preprocess_collate): Break out of a loop on EOF
to avoid an infinite loop.

Modified:
stdcxx/trunk/util/collate.cpp

Modified: stdcxx/trunk/util/collate.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/util/collate.cpp?rev=638674&r1=638673&r2=638674&view=diff
==
--- stdcxx/trunk/util/collate.cpp (original)
+++ stdcxx/trunk/util/collate.cpp Tue Mar 18 18:31:11 2008
@@ -1560,7 +1560,7 @@
 {
 int nesting_level = 0;
 
-while (true) {
+do {
 // fetch next token
 next = scanner_.next_token();
 
@@ -1680,8 +1680,9 @@
 break;
 }
 }
-
+while (Scanner::tok_end_tokens != next.token);
 }
+
 
 // The task of preprocess_order is to parse and model the content of the 
 // order sections in the input files




svn propchange: r638674 - svn:log

2008-03-18 Thread sebor
Author: sebor
Revision: 638674
Modified property: svn:log

Modified: svn:log at Tue Mar 18 18:31:51 2008
--
--- svn:log (original)
+++ svn:log Tue Mar 18 18:31:51 2008
@@ -1,5 +1,5 @@
 2008-03-18  Martin Sebor  <[EMAIL PROTECTED]>
 
STDCXX-281
-   * collate.cpp (preprocess_collate): Break out of a loop on EOF
+   * util/collate.cpp (preprocess_collate): Break out of a loop on EOF
to avoid an infinite loop.



svn propchange: r611451 - svn:log

2008-03-18 Thread sebor
Author: sebor
Revision: 611451
Modified property: svn:log

Modified: svn:log at Tue Mar 18 18:41:54 2008
--
--- svn:log (original)
+++ svn:log Tue Mar 18 18:41:54 2008
@@ -1 +1,5 @@
-stdcxx has graduated to a TLP, moving svn to /repos/asf/stdcxx/
+2008-01-12  William A. Rowe, Jr.  <[EMAIL PROTECTED]>
+
+   * /repos/asf/incubator/stdcxx: stdcxx has graduated to a TLP,
+   moved svn to...
+   * /repos/asf/stdcxx: ...here.



svn propchange: r611451 - svn:log

2008-03-18 Thread sebor
Author: sebor
Revision: 611451
Modified property: svn:log

Modified: svn:log at Tue Mar 18 18:41:54 2008
--
--- svn:log (original)
+++ svn:log Tue Mar 18 18:41:54 2008
@@ -1 +1,5 @@
-stdcxx has graduated to a TLP, moving svn to /repos/asf/stdcxx/
+2008-01-12  William A. Rowe, Jr.  <[EMAIL PROTECTED]>
+
+   * /repos/asf/incubator/stdcxx: stdcxx has graduated to a TLP,
+   moved svn to...
+   * /repos/asf/stdcxx: ...here.



svn commit: r638676 - /stdcxx/trunk/util/collate.cpp

2008-03-18 Thread sebor
Author: sebor
Date: Tue Mar 18 18:44:18 2008
New Revision: 638676

URL: http://svn.apache.org/viewvc?rev=638676&view=rev
Log:
2008-03-18  Martin Sebor  <[EMAIL PROTECTED]>

* util/collate.cpp: Updated year of copyright.

Modified:
stdcxx/trunk/util/collate.cpp

Modified: stdcxx/trunk/util/collate.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/util/collate.cpp?rev=638676&r1=638675&r2=638676&view=diff
==
--- stdcxx/trunk/util/collate.cpp (original)
+++ stdcxx/trunk/util/collate.cpp Tue Mar 18 18:44:18 2008
@@ -22,7 +22,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 2001-2006 Rogue Wave Software.
+ * Copyright 2001-2008 Rogue Wave Software, Inc.
  * 
  **/
 




svn commit: r639003 - /stdcxx/trunk/etc/config/acc.config

2008-03-19 Thread sebor
Author: sebor
Date: Wed Mar 19 13:43:49 2008
New Revision: 639003

URL: http://svn.apache.org/viewvc?rev=639003&view=rev
Log:
2008-03-19  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-695
STDCXX-788
* etc/config/acc.config (WARNFLAGS): Disabled useless HP aCC 6 remarks
4296: arithmetic operation on boolean type, and 4297: boolean value is
used as array index.
Also disabled remark 3348: declaration hides constant or variable, due
to a compiler bug (hopefully fixed by the time 6.20 comes out). 

Modified:
stdcxx/trunk/etc/config/acc.config

Modified: stdcxx/trunk/etc/config/acc.config
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/etc/config/acc.config?rev=639003&r1=639002&r2=639003&view=diff
==
--- stdcxx/trunk/etc/config/acc.config (original)
+++ stdcxx/trunk/etc/config/acc.config Wed Mar 19 13:43:49 2008
@@ -22,7 +22,7 @@
 # implied.   See  the License  for  the  specific language  governing
 # permissions and limitations under the License.
 #
-# Copyright 1999-2007 Rogue Wave Software, Inc.
+# Copyright 1999-2008 Rogue Wave Software, Inc.
 #
 
 
@@ -46,9 +46,7 @@
 
 ifeq ($(aCC_MAJOR),06)
 
-# disable aCC 6.x (EDG front end) warnings emitted with +w:
-WARNFLAGS  += +W2193 +W2236 +W2261 +W2340 +W2401 +W2487
-
+# disabled warnings:
 # 2193 zero used for undefined preprocessing identifier
 # 2236 controlling expression is constant
 # 2261 access control not specified (%sq by default)
@@ -56,8 +54,12 @@
 # 2401 destructor for base class %t is not virtual
 # 2487 inline %n cannot be explicitly instantiated
 
+# disable aCC 6.x (EDG front end) warnings emitted with +w:
+WARNFLAGS  += +W2193 +W2236 +W2261 +W2340 +W2401 +W2487
+
 ifeq ($(shell [ $(aCC_MINOR) -gt 10 ] && echo 1),1)
 
+# disabled remarks:
 # 4227 padding struct with N bytes to align member
 # 4229 64 bit migration: conversion from "long" to "int" may truncate value
 # 4231 64 bit migration: conversion between types of different sizes
@@ -70,8 +72,24 @@
 # 4285 operator= does not have a check for the source and destination
 # 4286 return non-const handle to non-public data member
 
+# remarks disabled as useless (even according to HP):
+# 4296 arithmetic operation on boolean type
+# 4297 boolean value is used as array index
+
 WARNFLAGS += +W4227 +W4229 +W4231 +W4235 +W4237 +W4249 \
- +W4255 +W4272 +W4284 +W4285 +W4286
+ +W4255 +W4272 +W4284 +W4285 +W4286 +W4296 \
+ +W4297
+
+ifeq ($(shell [ $(aCC_MINOR) -lt 20 ] && echo 1),1)
+
+# disabled due to STDCXX-694 (hopefully fixed by the time 6.20 comes out)
+# 3348 declaration hides constant or variable
+
+WARNFLAGS += +W3348
+
+endif   # aCC < 6.20
+
+
 endif   # aCC > 6.10
 endif   # aCC 6.x
 




svn commit: r639048 - /stdcxx/trunk/src/iostore.cpp

2008-03-19 Thread sebor
Author: sebor
Date: Wed Mar 19 15:56:18 2008
New Revision: 639048

URL: http://svn.apache.org/viewvc?rev=639048&view=rev
Log:
2008-03-19  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-766
* src/iostore.cpp (_C_copyfmt): Copied the tied stream and locale.

Modified:
stdcxx/trunk/src/iostore.cpp

Modified: stdcxx/trunk/src/iostore.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/src/iostore.cpp?rev=639048&r1=639047&r2=639048&view=diff
==
--- stdcxx/trunk/src/iostore.cpp (original)
+++ stdcxx/trunk/src/iostore.cpp Wed Mar 19 15:56:18 2008
@@ -23,7 +23,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -192,6 +192,8 @@
 streamsize prec; // new precision
 streamsize wide; // new width
 unsigned   except;   // new exceptions
+void*  ptie; // tied ostream
+locale loc;  // new locale
 
 char srcbuf [16];// buffer to copy `src' to
 
@@ -205,6 +207,9 @@
 
 if (rhs._C_usr) {
 
+// copy pointer to the tied ostream, if any
+ptie = rhs._C_usr->_C_tie;
+
 // for convenience
 const _C_usr_data* const rusr = rhs._C_usr;
 
@@ -235,6 +240,8 @@
 // zero out array to prevent (bogus) gcc warnings
 // about the variable being used uninitialized
 memset (a_size, 0, sizeof a_size);
+
+ptie = 0;
 }
 
 // copy the rest of rhs state (save for exceptions)
@@ -243,6 +250,7 @@
 prec   = rhs._C_prec;
 wide   = rhs._C_wide;
 except = rhs._C_except;
+loc= rhs._C_loc;
 
 // copy additional data (rhs's fill char) to the small
 // temporary buffer only if it fits
@@ -273,7 +281,7 @@
 operator delete (_C_usr->_C_parray);
 operator delete (_C_usr->_C_cbarray);
 }
-else if (ia || pa || cba) {
+else if (ia || pa || cba || ptie) {
 // allocation may throw
 _C_usr = new _C_usr_data ();
 
@@ -302,7 +310,7 @@
 _RETHROW;
 }
 
-if (ia || pa || cba) {
+if (ia || pa || cba || ptie) {
 
 // assing allocated and copied arrays and their sizes
 _C_usr->_C_iarray  = ia;
@@ -313,6 +321,8 @@
 _C_usr->_C_psize   = a_size [1];
 _C_usr->_C_cbsize  = a_size [2];
 
+_C_usr->_C_tie = ptie;
+
 _C_usr->_C_fire= &ios_base::_C_fire_event;
 }
 else {
@@ -325,6 +335,7 @@
 _C_fmtfl = fmtfl & flagmask | _C_fmtfl & ~flagmask;
 _C_prec  = prec;
 _C_wide  = wide;
+_C_loc   = loc;
 
 // copy additional data (fill character) -- will be atomic
 // only if size is sufficiently small; since this is used




svn commit: r639050 - /stdcxx/trunk/tests/regress/27.basic.ios.copyfmt.stdcxx-766.cpp

2008-03-19 Thread sebor
Author: sebor
Date: Wed Mar 19 15:57:14 2008
New Revision: 639050

URL: http://svn.apache.org/viewvc?rev=639050&view=rev
Log:
2008-03-19  Martin Sebor  <[EMAIL PROTECTED]>

* tests/regress/27.basic.ios.copyfmt.stdcxx-766.cpp: Added
a regression test for STDCXX-766.

Added:
stdcxx/trunk/tests/regress/27.basic.ios.copyfmt.stdcxx-766.cpp   (with 
props)

Added: stdcxx/trunk/tests/regress/27.basic.ios.copyfmt.stdcxx-766.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/regress/27.basic.ios.copyfmt.stdcxx-766.cpp?rev=639050&view=auto
==
--- stdcxx/trunk/tests/regress/27.basic.ios.copyfmt.stdcxx-766.cpp (added)
+++ stdcxx/trunk/tests/regress/27.basic.ios.copyfmt.stdcxx-766.cpp Wed Mar 19 
15:57:14 2008
@@ -0,0 +1,78 @@
+/**
+ *
+ * 27.basic.ios.copyfmt.stdcxx-766.cpp - regression test for STDCXX-766
+ *
+ * http://issues.apache.org/jira/browse/STDCXX-766
+ *
+ * $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 
+#include 
+#include 
+
+
+int main ()
+{
+struct: std::streambuf { } xsb, ysb;
+std::ostream xstrm (0);
+std::ostream ystrm (0);
+
+std::ios x (&xsb);
+std::ios y (&ysb);
+
+x.tie (&xstrm);
+
+const std::ios::iostate x_rdstate = x.rdstate ();
+const std::streambuf* const x_rdbuf   = x.rdbuf ();
+
+const std::locale loc =
+std::locale (std::locale::classic (), new std::numpunct());
+
+// set up y to be different from x
+y.tie (&ystrm);
+y.exceptions (y.eofbit);
+y.setf (y.boolalpha);
+y.precision (x.precision () + 1);
+y.width (x.width () + 1);
+y.fill (x.fill () + 1);
+y.imbue (loc);
+
+// verify test preconditions
+assert (x.tie ()!= y.tie ());
+assert (x.getloc () != y.getloc ());
+
+x.copyfmt (y);
+
+// verify copyfmt() postconditions
+assert (x.rdbuf ()  == x_rdbuf);
+assert (x.tie ()== y.tie ());
+assert (x.rdstate ()== x_rdstate);
+assert (x.exceptions () == y.exceptions ());
+assert (x.flags ()  == y.flags ());
+assert (x.precision ()  == y.precision ());
+assert (x.width ()  == y.width ());
+assert (x.fill ()   == y.fill ());
+assert (x.getloc () == y.getloc ());
+}

Propchange: stdcxx/trunk/tests/regress/27.basic.ios.copyfmt.stdcxx-766.cpp
--
svn:eol-style = native

Propchange: stdcxx/trunk/tests/regress/27.basic.ios.copyfmt.stdcxx-766.cpp
--
svn:keywords = Id




svn commit: r639361 - /stdcxx/trunk/examples/manual/random_shuffle.cpp

2008-03-20 Thread sebor
Author: sebor
Date: Thu Mar 20 10:12:00 2008
New Revision: 639361

URL: http://svn.apache.org/viewvc?rev=639361&view=rev
Log:
2008-03-20  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-789
* examples/manual/random_shuffle.cpp (main): Set fixed floating
point format to suppress the decimal point in iostream output.

Modified:
stdcxx/trunk/examples/manual/random_shuffle.cpp

Modified: stdcxx/trunk/examples/manual/random_shuffle.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/examples/manual/random_shuffle.cpp?rev=639361&r1=639360&r2=639361&view=diff
==
--- stdcxx/trunk/examples/manual/random_shuffle.cpp (original)
+++ stdcxx/trunk/examples/manual/random_shuffle.cpp Thu Mar 20 10:12:00 2008
@@ -22,23 +22,24 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
 #include// for random_shuffle
-#include // for cout, endl
+#include // for cout
 #include // for ostream_iterator
 #include   // for string
 
-#include 
+// #include 
 
 
 int main ()
 {
 // Create a string of doubles (unusual? maybe, but why not...)
-typedef std::basic_string,
-  std::allocator > Bizarre;
+typedef std::char_traits Traits;
+typedef std::allocator   Allocator;
+typedef std::basic_string Bizarre;
 
 // Initialize a Bizarre with an array of values.
 const Bizarre::value_type a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
@@ -50,6 +51,7 @@
 
 // Suppress decimal point in output.
 std::cout.precision (0);
+std::cout.setf (std::cout.fixed, std::cout.floatfield);
 
 // Print out elements in original (sorted) order.
 std::cout << "Elements before random_shuffle: \n ";
@@ -61,7 +63,7 @@
 // Print out the mixed up elements.
 std::cout << "\n\nElements after random_shuffle: \n ";
 std::copy (b.begin (), b.end (), Iter (std::cout, " "));
-std::cout << std::endl;
+std::cout << '\n';
 
 return 0;
 }




svn commit: r639452 - /stdcxx/trunk/util/aliases.cpp

2008-03-20 Thread sebor
Author: sebor
Date: Thu Mar 20 13:52:19 2008
New Revision: 639452

URL: http://svn.apache.org/viewvc?rev=639452&view=rev
Log:
2008-03-20  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-750
* util/aliases.cpp (get_installed_locales): Replaced malloc() with
a new expression to avoid having to check the returned value and
to silence HP cadvise warning #20200-D: Potential null pointer
dereference is detected.
Changed the type of locals to silence HP aCC 6.16 remark #4298-D:
addition result could be truncated before cast to bigger sized
type.

Modified:
stdcxx/trunk/util/aliases.cpp

Modified: stdcxx/trunk/util/aliases.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/util/aliases.cpp?rev=639452&r1=639451&r2=639452&view=diff
==
--- stdcxx/trunk/util/aliases.cpp (original)
+++ stdcxx/trunk/util/aliases.cpp Thu Mar 20 13:52:19 2008
@@ -543,12 +543,12 @@
 {
 static char* slocname = 0;
 
-static int size   = 0; // the number of elements in the array
-static int total_size = 5120;  // the size of the array
+static std::size_t size   = 0;  // number of elements in array
+static std::size_t total_size = 5120;   // the size of the array
 
 // allocate first time through
 if (!slocname) {
-slocname = (char*)std::malloc (16384);
+slocname = new char [16384];
 *slocname = '\0';
 }
 




svn commit: r639764 - /stdcxx/trunk/bin/genxviews

2008-03-21 Thread sebor
Author: sebor
Date: Fri Mar 21 12:06:36 2008
New Revision: 639764

URL: http://svn.apache.org/viewvc?rev=639764&view=rev
Log:
2008-03-21  Martin Sebor  <[EMAIL PROTECTED]>

* bin/genxviews: Set /bin/sh as the interpreter and invoked
Bash if the interpreter is a different shell and Bash exists.
Added the -v (verbose) command line option and some output.
Added the -V (version) command line option to specify the
stdcxx version and branch to generate cross-build results for.
(output): New function.

Modified:
stdcxx/trunk/bin/genxviews

Modified: stdcxx/trunk/bin/genxviews
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/genxviews?rev=639764&r1=639763&r2=639764&view=diff
==
--- stdcxx/trunk/bin/genxviews (original)
+++ stdcxx/trunk/bin/genxviews Fri Mar 21 12:06:36 2008
@@ -1,4 +1,4 @@
-#!/usr/local/bin/bash
+#!/bin/sh
 #
 # $Id: genxviews 601595 2007-12-06 01:33:50Z sebor $
 #
@@ -22,13 +22,78 @@
 #
 
 
+if [ "$BASH_VERSION" = "" ]; then
+# this is not Bash; try to invoke it
+if [ -x /usr/local/bin/bash ]; then
+exec /usr/local/bin/bash $*
+fi
+fi
+
+
+# process command line options
+while getopts "dqvD:o:" opt_name; do
+case $opt_name in
+# options with no arguments
+
+d)  # dry run (do not invoke xbuildgen)
+dryrun=1
+;;
+
+q) # quiet mode
+   quiet=1
+   ;;
+
+v) # verbose mode
+   verbose=1
+   ;;
+
+# options with arguments
+
+D)  # output directory
+outdir=$OPTARG
+;;
+
+o)  # argument is the name of output file (stdout by default)
+outfile=$OPTARG
+;;
+
+V)  # specify stdcxx branch/version to generate cross-build
+# result views for (trunk by default)
+version=$OPTARG
+;;
+
+ esac;
+done
+
+
+# set the Subversion and output directories based on version
+if [ "$version" == "" ]; then
+
+# Subversion (sub)directory under stdcxx/
+svndir="trunk"
+
+# set output directory unless already set on the command line
+if [ "$outdir" = "" ]; then
+outdir="$HOME/public_html/stdcxx/results"
+fi
+else
+# Subversion (sub)directory under stdcxx/
+svndir="branches/$version"
+
+# set output directory unless already set on the command line
+if [ "$outdir" = "" ]; then
+outdir="$HOME/public_html/stdcxx-$version/results"
+fi
+fi
+
+
 # extract the script's revision number
 myrev='$Revision$'
 myrev=${myrev#'$Revision: '}   # strip leading text
 myrev=${myrev%' $'}# strip trailing text
 
 # form the URL to this version of the script in the repository
-myurl='$HeadURL: https://svn.apache.org/repos/asf/stdcxx/trunk/bin/genxviews $'
+myurl='$HeadURL: http://svn.apache.org/repos/asf/stdcxx/$svndir/bin/genxviews 
$'
 myurl=${myurl#'$HeadURL: '}   # strip leading text
 myurl=${myurl##*asf/} # strip svn prefix
 myurl=${myurl%' $'}   # strip trailing text
@@ -45,42 +110,40 @@
 # program to invoke to process detailed results
 CROSS=$HOME/stdcxx/bin/xbuildgen
 
-# output directory
-outdir=$HOME/public_html/stdcxx/results
-
+# show the command line to invoke xbuildgen without actually
+# invoking the script
 dryrun=0
-quiet=0
 
-# start the clock measuring the amount of wall clock time to process
-# all logs and generate the page
-start_time=`LC_ALL=C date`
-
-
-# process command line options
-while getopts "dqD:o:" opt_name; do
-case $opt_name in
-# options with no arguments
+# enable quiet mode?
+quiet=0
 
-d)  # dry run (do not invoke xbuildgen)
-dryrun=1
-;;
+# write verbose progress output to stdout?
+verbose=0
 
-q) # quiet mode
-   quiet=1
-   ;;
+##
 
-# options with arguments
+# write to output file when specified or to stdout otherwise
+output ()
+{
+if [ $# -eq 0 ]; then
+# no arguments provided, copy its own stdin to outfile
+if [ -z $outfile ]; then
+cat
+else
+cat >>$outfile
+fi
+elif [ -z $outfile ]; then
+echo "$*"
+else
+echo "$*" >>$outfile
+fi
+}
 
-D)  # output directory
-outdir=$OPTARG
-;;
+##
 
-o)  # argument is the name of output file (stdout by default)
-outfile=$OPTARG
-;;
-
- 

svn commit: r639795 - /stdcxx/trunk/bin/xbuildgen

2008-03-21 Thread sebor
Author: sebor
Date: Fri Mar 21 13:16:20 2008
New Revision: 639795

URL: http://svn.apache.org/viewvc?rev=639795&view=rev
Log:
2008-03-21  Martin Sebor  <[EMAIL PROTECTED]>

* bin/xbuildgen: Set /bin/sh as the interpreter and invoked
Bash if the interpreter is a different shell and Bash exists.
Added the -V (version) command line option to specify the
stdcxx version and branch to generate cross-build results for.

Modified:
stdcxx/trunk/bin/xbuildgen

Modified: stdcxx/trunk/bin/xbuildgen
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/xbuildgen?rev=639795&r1=639794&r2=639795&view=diff
==
--- stdcxx/trunk/bin/xbuildgen (original)
+++ stdcxx/trunk/bin/xbuildgen Fri Mar 21 13:16:20 2008
@@ -1,4 +1,4 @@
-#!/usr/local/bin/bash
+#!/bin/sh
 #
 # $Id: xbuildgen 601917 2007-12-06 23:46:48Z sebor $
 #
@@ -66,8 +66,18 @@
 #  Generate a report for the specified list of tests with
 #  tests listed in columns and builds in rows.
 #
+# -V 
+#  Stdcxx version (branch) to generate results for.
+#  When omitted, trunk is assumed.
+#
 
 
+if [ "$BASH_VERSION" = "" ]; then
+# this is not Bash; try to invoke it
+if [ -x /usr/local/bin/bash ]; then
+exec /usr/local/bin/bash $*
+fi
+fi
 
 ##
 # global constants
@@ -529,7 +539,7 @@
 ##
 
 # process command line options
-while getopts ":hnsv:e:l:o:T:t:" opt_name; do
+while getopts ":hnsv:e:l:o:T:t:V:" opt_name; do
 case $opt_name in
 # options with no arguments 
 
@@ -575,6 +585,11 @@
 components_in_rows=0
 ;;
 
+V)  # specify stdcxx branch/version to generate cross-build
+# result views for (trunk by default)
+version=$OPTARG
+;;
+
 *) echo "$myname: unknown option : -$opt_name" >&2;
echo
print_help
@@ -862,7 +877,11 @@
 ##
 
 # the location of the logs
-logdir="http://people.apache.org/~sebor/stdcxx/results";
+if [ -z $version ]; then
+logdir="http://people.apache.org/~sebor/stdcxx/results";
+else
+logdir="http://people.apache.org/~sebor/stdcxx-$version/results";
+fi
 
 # the name of a temporary file containing the build timings
 timings_file=$TMP/.stdcxx-timings.$$




svn commit: r639851 - in /stdcxx/trunk/bin: genxviews xbuildgen

2008-03-21 Thread sebor
Author: sebor
Date: Fri Mar 21 14:22:08 2008
New Revision: 639851

URL: http://svn.apache.org/viewvc?rev=639851&view=rev
Log:
2008-03-21  Martin Sebor  <[EMAIL PROTECTED]>

* bin/xbuildgen: Corrected how Bash is invoked to prevent infinite
recursion and preserve parameter quoting.
Changed output subdirectory for .html files to builds/.
* bin/genxviews: Same.
Added the -V option (version) and removed -q (quiet mode).

Modified:
stdcxx/trunk/bin/genxviews
stdcxx/trunk/bin/xbuildgen

Modified: stdcxx/trunk/bin/genxviews
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/genxviews?rev=639851&r1=639850&r2=639851&view=diff
==
--- stdcxx/trunk/bin/genxviews (original)
+++ stdcxx/trunk/bin/genxviews Fri Mar 21 14:22:08 2008
@@ -22,16 +22,25 @@
 #
 
 
-if [ "$BASH_VERSION" = "" ]; then
+if [ "$BASH" = "" ]; then
 # this is not Bash; try to invoke it
 if [ -x /usr/local/bin/bash ]; then
-exec /usr/local/bin/bash $*
+/usr/local/bin/bash $0 "$@"
+exit $?
 fi
 fi
 
 
+# show the command line to invoke xbuildgen without actually
+# invoking the script
+dryrun=0
+
+# write verbose progress output to stdout?
+verbose=0
+
+
 # process command line options
-while getopts "dqvD:o:" opt_name; do
+while getopts "dvD:o:V:" opt_name; do
 case $opt_name in
 # options with no arguments
 
@@ -39,10 +48,6 @@
 dryrun=1
 ;;
 
-q) # quiet mode
-   quiet=1
-   ;;
-
 v) # verbose mode
verbose=1
;;
@@ -74,7 +79,7 @@
 
 # set output directory unless already set on the command line
 if [ "$outdir" = "" ]; then
-outdir="$HOME/public_html/stdcxx/results"
+outdir="$HOME/public_html/stdcxx/results/builds"
 fi
 else
 # Subversion (sub)directory under stdcxx/
@@ -82,10 +87,15 @@
 
 # set output directory unless already set on the command line
 if [ "$outdir" = "" ]; then
-outdir="$HOME/public_html/stdcxx-$version/results"
+outdir="$HOME/public_html/stdcxx-$version/results/builds"
 fi
+
+verarg="-V$version"
 fi
 
+# program to invoke to process detailed results
+CROSS=$HOME/stdcxx/bin/xbuildgen
+
 
 # extract the script's revision number
 myrev='$Revision$'
@@ -107,18 +117,9 @@
 myurl="$myurl?view=markup&rev=$myrev"
 
 
-# program to invoke to process detailed results
-CROSS=$HOME/stdcxx/bin/xbuildgen
-
-# show the command line to invoke xbuildgen without actually
-# invoking the script
-dryrun=0
-
-# enable quiet mode?
-quiet=0
-
-# write verbose progress output to stdout?
-verbose=0
+if [ $verbose -ne 0 ]; then
+echo "$myname: using output directory: \"$outdir\""
+fi
 
 ##
 
@@ -146,14 +147,12 @@
 start_time=`LC_ALL=C date`
 
 
-cd $outdir
-
+cd $outdir/..
 
-if [ $quiet -eq 0 ]; then
 
-readonly scripturl="$myname"
+readonly scripturl="$myname"
 
-cat<
   
 

svn commit: r640121 - /stdcxx/trunk/include/ansi/limits.h

2008-03-22 Thread sebor
Author: sebor
Date: Sat Mar 22 16:30:13 2008
New Revision: 640121

URL: http://svn.apache.org/viewvc?rev=640121&view=rev
Log:
2008-03-22  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-768
* include/ansi/limits.h: Used the gcc extension #include_next to
include the compiler's  header and to prevent a gcc 4.3
error: no include path in which to search for limits.h.

Modified:
stdcxx/trunk/include/ansi/limits.h

Modified: stdcxx/trunk/include/ansi/limits.h
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/ansi/limits.h?rev=640121&r1=640120&r2=640121&view=diff
==
--- stdcxx/trunk/include/ansi/limits.h (original)
+++ stdcxx/trunk/include/ansi/limits.h Sat Mar 22 16:30:13 2008
@@ -22,7 +22,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -106,7 +106,13 @@
 #pragma GCC system_header
 #  endif
 
-#  include _RWSTD_ANSI_C_LIMITS_H
+#  ifdef __GNUC__
+ // use the gcc extension to #include the compiler's limits.h
+#include_next 
+#  else
+#include _RWSTD_ANSI_C_LIMITS_H
+#  endif   // gcc
+
 #endif   // _RWSTD_NO_DEPRECATED_C_HEADERS
 
 #if defined (__hpux__) || defined (__hpux) || defined (hpux)




svn commit: r640122 - /stdcxx/trunk/include/ansi/climits

2008-03-22 Thread sebor
Author: sebor
Date: Sat Mar 22 16:45:59 2008
New Revision: 640122

URL: http://svn.apache.org/viewvc?rev=640122&view=rev
Log:
2008-03-22  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-768
* include/ansi/climits: Used gcc's #include_next to include
the compiler's  header and to prevent the gcc 4.3
error: no include path in which to search for limits.h.

Modified:
stdcxx/trunk/include/ansi/climits

Modified: stdcxx/trunk/include/ansi/climits
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/ansi/climits?rev=640122&r1=640121&r2=640122&view=diff
==
--- stdcxx/trunk/include/ansi/climits (original)
+++ stdcxx/trunk/include/ansi/climits Sat Mar 22 16:45:59 2008
@@ -23,7 +23,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -103,7 +103,12 @@
 
 #else   // if defined (_RWSTD_NO_PURE_C_HEADERS)
 
-#include _RWSTD_ANSI_C_LIMITS_H
+#  ifdef __GNUC__
+ // use the gcc extension to #include the compiler's limits.h
+#include_next 
+#  else
+#include _RWSTD_ANSI_C_LIMITS_H
+#  endif   // gcc
 
 #endif  // _RWSTD_NO_PURE_C_HEADERS
 




svn commit: r640477 - /stdcxx/trunk/bin/xbuildgen

2008-03-24 Thread sebor
Author: sebor
Date: Mon Mar 24 10:34:58 2008
New Revision: 640477

URL: http://svn.apache.org/viewvc?rev=640477&view=rev
Log:
2008-03-24  Martin Sebor  <[EMAIL PROTECTED]>

* bin/xbuildgen (logdir): Corrected the pathname of the directory
containing gzipped build log files from results/builds to just
results/.

Modified:
stdcxx/trunk/bin/xbuildgen

Modified: stdcxx/trunk/bin/xbuildgen
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/xbuildgen?rev=640477&r1=640476&r2=640477&view=diff
==
--- stdcxx/trunk/bin/xbuildgen (original)
+++ stdcxx/trunk/bin/xbuildgen Mon Mar 24 10:34:58 2008
@@ -880,9 +880,9 @@
 
 # the location of the logs
 if [ -z $version ]; then
-logdir="http://people.apache.org/~sebor/stdcxx/results/builds";
+logdir="http://people.apache.org/~sebor/stdcxx/results";
 else
-    logdir="http://people.apache.org/~sebor/stdcxx-$version/results/builds";
+logdir="http://people.apache.org/~sebor/stdcxx-$version/results";
 fi
 
 # the name of a temporary file containing the build timings




svn commit: r640483 - /stdcxx/trunk/bin/xcomp.awk

2008-03-24 Thread sebor
Author: sebor
Date: Mon Mar 24 10:54:05 2008
New Revision: 640483

URL: http://svn.apache.org/viewvc?rev=640483&view=rev
Log:
2008-03-24  Martin Sebor  <[EMAIL PROTECTED]>

* bin/xcomp.awk (print_section): Prepended "../" to the log file name
since build logs are stored in the parent directory of the one that
contains the cross-build results.

Modified:
stdcxx/trunk/bin/xcomp.awk

Modified: stdcxx/trunk/bin/xcomp.awk
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/xcomp.awk?rev=640483&r1=640482&r2=640483&view=diff
==
--- stdcxx/trunk/bin/xcomp.awk (original)
+++ stdcxx/trunk/bin/xcomp.awk Mon Mar 24 10:54:05 2008
@@ -1240,8 +1240,10 @@
 
 # insert the .gz suffix before the final .txt suffix
 # to form the name of the original gzipped log file
+# prepend "../" to the file name since the logs are
+# in the parent directory
 loggzfname = substr(loggzfname, 1, index(loggzfname, ".txt") - 1)
-loggzfname = loggzfname ".gz.txt"
+loggzfname = "../" loggzfname ".gz.txt"
 
 colnos = colnos "  "
 colnos = colnos "" i ""




svn commit: r640489 - /stdcxx/trunk/bin/xcomp.awk

2008-03-24 Thread sebor
Author: sebor
Date: Mon Mar 24 11:06:32 2008
New Revision: 640489

URL: http://svn.apache.org/viewvc?rev=640489&view=rev
Log:
2008-03-24  Martin Sebor  <[EMAIL PROTECTED]>

* bin/xcomp.awk (print_section): Consistently prepended "../" to the
log file name since build logs are stored in the parent directory of
the one that contains the cross-build results.

Modified:
stdcxx/trunk/bin/xcomp.awk

Modified: stdcxx/trunk/bin/xcomp.awk
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/bin/xcomp.awk?rev=640489&r1=640488&r2=640489&view=diff
==
--- stdcxx/trunk/bin/xcomp.awk (original)
+++ stdcxx/trunk/bin/xcomp.awk Mon Mar 24 11:06:32 2008
@@ -1233,20 +1233,11 @@
 
 logname = logfnames [i]
 
-# strip the leading directory prefix, if any
-pos = match(logname, "/[^/]+$")
-if (0 < pos)
-loggzfname = substr(logname, pos + 1)
-
-# insert the .gz suffix before the final .txt suffix
-# to form the name of the original gzipped log file
-# prepend "../" to the file name since the logs are
-# in the parent directory
-loggzfname = substr(loggzfname, 1, index(loggzfname, ".txt") - 1)
-loggzfname = "../" loggzfname ".gz.txt"
+# strip directory prefix from file name
+loghref = get_gzlogfname(logname)
 
-colnos = colnos "  "
-colnos = colnos "" i ""
+colnos = colnos "  "
+colnos = colnos "" i ""
 
 buildtype = get_buildtype(logname)
 buildmode = buildmodes [buildtype]
@@ -1742,7 +1733,7 @@
 # replace the trailing .txt suffix with .gz.txt
 sub("\\.txt$", ".gz.txt", fref)
 
-return fref
+return "../" fref
 }
 
 




svn commit: r640582 - /stdcxx/trunk/include/rw/_array.h

2008-03-24 Thread sebor
Author: sebor
Date: Mon Mar 24 14:16:59 2008
New Revision: 640582

URL: http://svn.apache.org/viewvc?rev=640582&view=rev
Log:
2008-03-24  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-748
* include/rw/_array.h (__rw_array::__rw_array): Initialized _C_size
after initializing _C_data to silence a bogus HP aCC 6.16/cadvise
warning #20200-D: Potential null pointer dereference is detected.

Modified:
stdcxx/trunk/include/rw/_array.h

Modified: stdcxx/trunk/include/rw/_array.h
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/rw/_array.h?rev=640582&r1=640581&r2=640582&view=diff
==
--- stdcxx/trunk/include/rw/_array.h (original)
+++ stdcxx/trunk/include/rw/_array.h Mon Mar 24 14:16:59 2008
@@ -113,42 +113,44 @@
 
 template 
 inline __rw_array<_TypeT>::__rw_array (size_type __n)
-: _C_size (__n)
 {
-if (__n) {
+if (__n)
 _C_data = _RWSTD_STATIC_CAST (pointer,
   ::operator new (__n * sizeof *_C_data));
-}
 else
 _C_data = 0;
+
+_C_size = __n;
 }
 
 
 template 
 inline __rw_array<_TypeT>::__rw_array (const_reference __val, size_type __n)
-: _C_size (__n)
 {
 if (__n) {
 _C_data = _RWSTD_STATIC_CAST (pointer,
   ::operator new (__n * sizeof *_C_data));
-_STD::uninitialized_fill_n (begin (), size (), __val);
+_STD::uninitialized_fill_n (_C_data, __n, __val);
 }
 else
 _C_data = 0;
+
+_C_size = __n;
 }
 
 
 template 
 inline __rw_array<_TypeT>::__rw_array (const_pointer __data, size_type __n)
-: _C_size (__n)
 { 
 if (__n) {
 _C_data = _RWSTD_STATIC_CAST (pointer,
   ::operator new (__n * sizeof *_C_data));
-_STD::uninitialized_copy (__data, __data + __n, begin ());
+_STD::uninitialized_copy (__data, __data + __n, _C_data);
 }
 else
 _C_data = 0;
+
+_C_size = __n;
 }
 
 




svn commit: r640615 - /stdcxx/trunk/etc/config/xfail.txt

2008-03-24 Thread sebor
Author: sebor
Date: Mon Mar 24 15:35:35 2008
New Revision: 640615

URL: http://svn.apache.org/viewvc?rev=640615&view=rev
Log:
2008-03-24  Martin Sebor  <[EMAIL PROTECTED]>

* etc/config/xfail.txt: Added documentation.

Modified:
stdcxx/trunk/etc/config/xfail.txt

Modified: stdcxx/trunk/etc/config/xfail.txt
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/etc/config/xfail.txt?rev=640615&r1=640614&r2=640615&view=diff
==
--- stdcxx/trunk/etc/config/xfail.txt (original)
+++ stdcxx/trunk/etc/config/xfail.txt Mon Mar 24 15:35:35 2008
@@ -11,7 +11,17 @@
 #   pattern in the format below. All fields are required, as are all
 #   the components the  field.
 #
-#::= 
+#  ::= 
+#
+#  ::=   aix | freebsd | hpux | irix |  | solaris
+#  | tru64 | 
+#   ::= linux_redhat | linux_suse
+# ::= win_2000 | win_2003 | win_xp | win_vista
+#
+#::= alpha | amd64 | em64t | ia64 | pa | ppc | sparc | x86
+#
+#::=   acc | compaq | eccp | gcc | icc | icl | mipspro
+#  | msvc | vacpp
 #
 
 # Known example failures




svn commit: r640618 - /stdcxx/trunk/etc/config/xfail.txt

2008-03-24 Thread sebor
Author: sebor
Date: Mon Mar 24 15:38:04 2008
New Revision: 640618

URL: http://svn.apache.org/viewvc?rev=640618&view=rev
Log:
2008-03-24  Martin Sebor  <[EMAIL PROTECTED]>

* etc/config/xfail.txt (2.smartptr.shared): Added an expected
compilation failure with HP aCC 3 due to STDCXX-615.

Modified:
stdcxx/trunk/etc/config/xfail.txt

Modified: stdcxx/trunk/etc/config/xfail.txt
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/etc/config/xfail.txt?rev=640618&r1=640617&r2=640618&view=diff
==
--- stdcxx/trunk/etc/config/xfail.txt (original)
+++ stdcxx/trunk/etc/config/xfail.txt Mon Mar 24 15:38:04 2008
@@ -51,4 +51,5 @@
 #   --    --
 2.smartptr.shared   aix-*-*-vacpp-6.0-{11,15}?  COMP  STDCXX-360
 2.smartptr.shared   aix-*-*-vacpp-9.0-* COMP  STDCXX-360
+2.smartptr.shared   hpux-*-*-acc-3.*-*  COMP  STDCXX-615
 19.exceptions.mtaix-5.3-*-vacpp-9.0-{12,15}?HUP   STDCXX-644




svn commit: r640851 - /stdcxx/trunk/tests/iostream/27.stringbuf.virtuals.cpp

2008-03-25 Thread sebor
Author: sebor
Date: Tue Mar 25 08:16:24 2008
New Revision: 640851

URL: http://svn.apache.org/viewvc?rev=640851&view=rev
Log:
2008-03-25  Martin Sebor  <[EMAIL PROTECTED]>

* tests/iostream/27.stringbuf.virtuals.cpp (test_seekoff): Added
a link to LWG issue 563.

Modified:
stdcxx/trunk/tests/iostream/27.stringbuf.virtuals.cpp

Modified: stdcxx/trunk/tests/iostream/27.stringbuf.virtuals.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/iostream/27.stringbuf.virtuals.cpp?rev=640851&r1=640850&r2=640851&view=diff
==
--- stdcxx/trunk/tests/iostream/27.stringbuf.virtuals.cpp (original)
+++ stdcxx/trunk/tests/iostream/27.stringbuf.virtuals.cpp Tue Mar 25 08:16:24 
2008
@@ -1045,8 +1045,8 @@
 // the implemented behavior considers end to be the "high
 // mark" mentioned in DR 432 rather than epptr()
 
-// FIXME: add a reference to the LWG issue that fixes this
-// as soon as one has been opened
+// see LWG issue 563:
+// http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#563
 TEST ("abc", out,0,  0, end, out,3, 0, 0, MAYBE_1);
 TEST ("abc", out,0,  1, end, out, NPOS, 0, 0, MAYBE_1);
 TEST ("abc", out,0, -1, end, out,2, 0, 0, MAYBE_1);




svn commit: r640856 - /stdcxx/branches/4.2.x/tests/iostream/27.stringbuf.virtuals.cpp

2008-03-25 Thread sebor
Author: sebor
Date: Tue Mar 25 08:23:51 2008
New Revision: 640856

URL: http://svn.apache.org/viewvc?rev=640856&view=rev
Log:
2008-03-25  Martin Sebor  <[EMAIL PROTECTED]>

Merged rev 640851 from trunk.
* tests/iostream/27.stringbuf.virtuals.cpp (test_seekoff): Added
a link to LWG issue 563.

Modified:
stdcxx/branches/4.2.x/tests/iostream/27.stringbuf.virtuals.cpp

Modified: stdcxx/branches/4.2.x/tests/iostream/27.stringbuf.virtuals.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/tests/iostream/27.stringbuf.virtuals.cpp?rev=640856&r1=640855&r2=640856&view=diff
==
--- stdcxx/branches/4.2.x/tests/iostream/27.stringbuf.virtuals.cpp (original)
+++ stdcxx/branches/4.2.x/tests/iostream/27.stringbuf.virtuals.cpp Tue Mar 25 
08:23:51 2008
@@ -1045,8 +1045,8 @@
 // the implemented behavior considers end to be the "high
 // mark" mentioned in DR 432 rather than epptr()
 
-// FIXME: add a reference to the LWG issue that fixes this
-// as soon as one has been opened
+// see LWG issue 563:
+// http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#563
 TEST ("abc", out,0,  0, end, out,3, 0, 0, MAYBE_1);
 TEST ("abc", out,0,  1, end, out, NPOS, 0, 0, MAYBE_1);
 TEST ("abc", out,0, -1, end, out,2, 0, 0, MAYBE_1);




svn commit: r640876 - /stdcxx/trunk/tests/tr1.util/2.smartptr.shared.cpp

2008-03-25 Thread sebor
Author: sebor
Date: Tue Mar 25 09:10:13 2008
New Revision: 640876

URL: http://svn.apache.org/viewvc?rev=640876&view=rev
Log:
2008-03-25  Martin Sebor  <[EMAIL PROTECTED]>

STDCXX-615
* tests/tr1.util/2.smartptr.shared.cpp (test_copy_ctor): Avoided using
volatile qualified types with HP aCC 3 without the new +hpxstd98 option
to work around a compiler bug.

Modified:
stdcxx/trunk/tests/tr1.util/2.smartptr.shared.cpp

Modified: stdcxx/trunk/tests/tr1.util/2.smartptr.shared.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/tr1.util/2.smartptr.shared.cpp?rev=640876&r1=640875&r2=640876&view=diff
==
--- stdcxx/trunk/tests/tr1.util/2.smartptr.shared.cpp (original)
+++ stdcxx/trunk/tests/tr1.util/2.smartptr.shared.cpp Tue Mar 25 09:10:13 2008
@@ -23,7 +23,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -322,13 +322,35 @@
 
 #endif   // ILL_FORMED
 
+
 {   // template  shared_ptr(const shared_ptr&)
 Derived* const pd = new Derived;
 
-std::tr1::shared_ptr > ptr_d (pd);
-std::tr1::shared_ptr >  ptr_0 (ptr_d);
-std::tr1::shared_ptr >  ptr_1 (ptr_d);
-std::tr1::shared_ptr >ptr_b (ptr_d);
+#if!defined (_RWSTD_HP_aCC_MAJOR) || 6 <= _RWSTD_HP_aCC_MAJOR \
+|| 3 == _RWSTD_HP_aCC_MAJOR && __hpxstd98
+
+typedef volatile Derived v_Derived_i;
+typedef volatile Base_0  v_Base_0_i;
+typedef volatile Base_1  v_Base_1_i;
+typedef volatile Basev_Base_i;
+
+#else   // HP aCC
+
+// volatile disabled for HP aCC 3 without the +hpxstd98
+// option available starting with aCC 3.74 to work around
+// a compiler bug (see STDCXX-615)
+
+typedef /* volatile */ Derived v_Derived_i;
+typedef /* volatile */ Base_0  v_Base_0_i;
+typedef /* volatile */ Base_1  v_Base_1_i;
+typedef /* volatile */ Basev_Base_i;
+
+#endif   // HP aCC
+
+std::tr1::shared_ptr ptr_d (pd);
+std::tr1::shared_ptr  ptr_0 (ptr_d);
+std::tr1::shared_ptr  ptr_1 (ptr_d);
+std::tr1::shared_ptrptr_b (ptr_d);
 
 rw_assert (pd == ptr_d.get (), 0, __LINE__,
"shared_ptr(Derived* = %#p).get() == %#p, got %#p",
@@ -338,19 +360,19 @@
"shared_ptr(const shared_ptr(%#p))"
".get() == %#p, got %#p",
ptr_d.get (),
-   (volatile Base_0*)ptr_d.get (), ptr_0.get ());
+   (v_Base_0_i*)ptr_d.get (), ptr_0.get ());

 rw_assert (ptr_d.get () == ptr_1.get (), 0, __LINE__,
"shared_ptr(const shared_ptr(%#p))"
".get() == %#p, got %#p",
ptr_d.get (),
-   (volatile Base_1*)ptr_d.get (), ptr_1.get ());
+   (v_Base_1_i*)ptr_d.get (), ptr_1.get ());
 
 rw_assert (ptr_d.get () == ptr_b.get (), 0, __LINE__,
"shared_ptr(const shared_ptr(%#p))"
".get() == %#p, got %#p",
ptr_d.get (),
-   (volatile Base*)ptr_d.get (), ptr_b.get ());
+   (v_Base_i*)ptr_d.get (), ptr_b.get ());
 
 rw_assert (4  == ptr_d.use_count (), 0, __LINE__, "");
 rw_assert (ptr_d.use_count () == ptr_0.use_count (), 0, __LINE__, "");




svn propchange: r589912 - svn:log

2008-03-25 Thread sebor
Author: sebor
Revision: 589912
Modified property: svn:log

Modified: svn:log at Tue Mar 25 15:56:25 2008
--
--- svn:log (original)
+++ svn:log Tue Mar 25 15:56:25 2008
@@ -1,5 +1,5 @@
 2007-10-29  Martin Sebor  <[EMAIL PROTECTED]>
 
STDCXX-624
-   * NO_INT_TRAPS.cpp (main): Worked even harder to foil optimizers
-   and trigger a trap (such as SIGFPE) for integer arithmetic.
+   * etc/config/src/NO_INT_TRAPS.cpp (main): Worked even harder to foil
+   optimizers and trigger a trap (such as SIGFPE) for integer arithmetic.



svn commit: r641091 - /stdcxx/trunk/tests/regress/18.limits.traps.stdcxx-624.cpp

2008-03-25 Thread sebor
Author: sebor
Date: Tue Mar 25 17:12:57 2008
New Revision: 641091

URL: http://svn.apache.org/viewvc?rev=641091&view=rev
Log:
2008-03-25  Martin Sebor  <[EMAIL PROTECTED]>

* tests/regress/18.limits.traps.stdcxx-624.cpp: Added a regression
test for STDCXX-624.

Added:
stdcxx/trunk/tests/regress/18.limits.traps.stdcxx-624.cpp   (with props)

Added: stdcxx/trunk/tests/regress/18.limits.traps.stdcxx-624.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/regress/18.limits.traps.stdcxx-624.cpp?rev=641091&view=auto
==
--- stdcxx/trunk/tests/regress/18.limits.traps.stdcxx-624.cpp (added)
+++ stdcxx/trunk/tests/regress/18.limits.traps.stdcxx-624.cpp Tue Mar 25 
17:12:57 2008
@@ -0,0 +1,81 @@
+/
+ *
+ * 18.limits.traps.stdcxx-624.cpp - regression test for STDCXX-624
+ *
+ * $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// for assert()
+#include// for SIGFPE and signal()
+#include// for strtod()
+#include // for numeric_limits
+
+
+char digits[] = " +0.?23456789e+01";
+
+volatile int  result;
+
+
+extern "C" {
+
+void handle_FPE (int)
+{
+// if we get here (presumably in response to SIGFPE triggered
+// by a trap in integer arithmetic) verify that numeric_limits
+// traps is non-zero and successfuly exit the process
+assert (std::numeric_limits::traps);
+
+std::exit (0);
+}
+
+}   // extern "C"
+
+
+int main ()
+{
+// prevent clever optimizers from figuring out that (zero == 0)
+digits [4] = '0';
+const int zero = (int)std::strtod (digits, 0);
+
+// compute a non-zero integer value
+digits [4] = '1';
+const int non_zero = (int)std::strtod (digits, 0);
+
+// set up a handler for the FPE signal only when traps is true
+// otherwise expect to be able to perform integer arithmetic
+// without a signal
+if (std::numeric_limits::traps)
+std::signal (SIGFPE, handle_FPE);
+
+// if this traps (generates SIGFPE), verify (in the signal handler)
+// that integer arithmetic is expected to trap
+result  = non_zero / zero;
+result += non_zero % zero;
+
+// if we get this far, verify that integer arithmetic is known not
+// to trap
+assert (!std::numeric_limits::traps);
+
+(void)&result;
+
+return 0;
+}

Propchange: stdcxx/trunk/tests/regress/18.limits.traps.stdcxx-624.cpp
--
svn:eol-style = native

Propchange: stdcxx/trunk/tests/regress/18.limits.traps.stdcxx-624.cpp
--
svn:keywords = Id




svn commit: r641116 - /stdcxx/trunk/tests/self/0.new.cpp

2008-03-25 Thread sebor
Author: sebor
Date: Tue Mar 25 19:28:44 2008
New Revision: 641116

URL: http://svn.apache.org/viewvc?rev=641116&view=rev
Log:
2008-03-25  Martin Sebor  <[EMAIL PROTECTED]>

* tests/self/0.new.cpp (run_test): Disabled diagnostics issued by
the replacement operator new and delete defined by the test driver
in response to deliberate errors caused by this test.

Modified:
stdcxx/trunk/tests/self/0.new.cpp

Modified: stdcxx/trunk/tests/self/0.new.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/tests/self/0.new.cpp?rev=641116&r1=641115&r2=641116&view=diff
==
--- stdcxx/trunk/tests/self/0.new.cpp (original)
+++ stdcxx/trunk/tests/self/0.new.cpp Tue Mar 25 19:28:44 2008
@@ -22,7 +22,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -469,6 +469,11 @@
 {
 #ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
 
+// disable diagnostics issued by the replacement operator new
+// and delete defined by the test driver in response to deliberate
+// errors caused by this test
+rw_enable (rw_error, false);
+
 #  define TEST(name)\
 if (rw_opt_no_ ## name) \
 rw_note (0, 0, __LINE__, "%s test disabled", #name);\
@@ -493,12 +498,7 @@
 }
 
 /**/
-/*
-void* operator new (size_t n) throw (std::bad_alloc)
-{
-return 0;
-}
-*/
+
 int main (int argc, char** argv)
 {
 return rw_test (argc, argv, __FILE__,




svn commit: r641117 - /stdcxx/branches/4.2.x/tests/self/0.new.cpp

2008-03-25 Thread sebor
Author: sebor
Date: Tue Mar 25 19:32:31 2008
New Revision: 641117

URL: http://svn.apache.org/viewvc?rev=641117&view=rev
Log:
2008-03-25  Martin Sebor  <[EMAIL PROTECTED]>

Merged rev 641116 from trunk.
* tests/self/0.new.cpp (run_test): Disabled diagnostics issued by
the replacement operator new and delete defined by the test driver
in response to deliberate errors caused by this test.

Modified:
stdcxx/branches/4.2.x/tests/self/0.new.cpp

Modified: stdcxx/branches/4.2.x/tests/self/0.new.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/tests/self/0.new.cpp?rev=641117&r1=641116&r2=641117&view=diff
==
--- stdcxx/branches/4.2.x/tests/self/0.new.cpp (original)
+++ stdcxx/branches/4.2.x/tests/self/0.new.cpp Tue Mar 25 19:32:31 2008
@@ -22,7 +22,7 @@
  * implied.   See  the License  for  the  specific language  governing
  * permissions and limitations under the License.
  *
- * Copyright 1994-2006 Rogue Wave Software.
+ * Copyright 1994-2008 Rogue Wave Software, Inc.
  * 
  **/
 
@@ -469,6 +469,11 @@
 {
 #ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
 
+// disable diagnostics issued by the replacement operator new
+// and delete defined by the test driver in response to deliberate
+// errors caused by this test
+rw_enable (rw_error, false);
+
 #  define TEST(name)\
 if (rw_opt_no_ ## name) \
 rw_note (0, 0, __LINE__, "%s test disabled", #name);\
@@ -493,12 +498,7 @@
 }
 
 /**/
-/*
-void* operator new (size_t n) throw (std::bad_alloc)
-{
-return 0;
-}
-*/
+
 int main (int argc, char** argv)
 {
 return rw_test (argc, argv, __FILE__,




svn commit: r641478 - /stdcxx/trunk/include/ansi/climits

2008-03-26 Thread sebor
Author: sebor
Date: Wed Mar 26 11:51:14 2008
New Revision: 641478

URL: http://svn.apache.org/viewvc?rev=641478&view=rev
Log:
2008-03-26  Martin Sebor  <[EMAIL PROTECTED]>

* include/ansi/climits [__GNUC__ >= 3]: Silenced gcc warnings
issued for uses of the #include_next extension introduced in
the process of resolving STDCXX-768.

Modified:
stdcxx/trunk/include/ansi/climits

Modified: stdcxx/trunk/include/ansi/climits
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/include/ansi/climits?rev=641478&r1=641477&r2=641478&view=diff
==
--- stdcxx/trunk/include/ansi/climits (original)
+++ stdcxx/trunk/include/ansi/climits Wed Mar 26 11:51:14 2008
@@ -30,7 +30,6 @@
 #ifndef _RWSTD_CLIMITS_INCLUDED
 #define _RWSTD_CLIMITS_INCLUDED
 
-
 #include 
 
 
@@ -104,6 +103,11 @@
 #else   // if defined (_RWSTD_NO_PURE_C_HEADERS)
 
 #  ifdef __GNUC__
+#if __GNUC__ >= 3
+   // silence gcc warnings about #include_next below
+#  pragma GCC system_header
+#endif   // gcc >= 3
+
  // use the gcc extension to #include the compiler's limits.h
 #include_next 
 #  else




svn commit: r641531 - /stdcxx/trunk/src/punct.cpp

2008-03-26 Thread sebor
Author: sebor
Date: Wed Mar 26 12:59:44 2008
New Revision: 641531

URL: http://svn.apache.org/viewvc?rev=641531&view=rev
Log:
2008-03-26  Martin Sebor  <[EMAIL PROTECTED]>

* src/punct.cpp (__rw_get_stdio_fmat): Remove unused
vestigial local variable left behind after resolving
STDCXX-763 in rev 637393.

Modified:
stdcxx/trunk/src/punct.cpp

Modified: stdcxx/trunk/src/punct.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/src/punct.cpp?rev=641531&r1=641530&r2=641531&view=diff
==
--- stdcxx/trunk/src/punct.cpp (original)
+++ stdcxx/trunk/src/punct.cpp Wed Mar 26 12:59:44 2008
@@ -616,8 +616,6 @@
 if (fmtflags & _RWSTD_IOS_SHOWPOINT)
 *pbuf++ = '#';
 
-const int fltfld = fmtflags & _RWSTD_IOS_FLOATFIELD;
-
 // follows resolution of lwg issue 231
 if (0 <= prec) {
 




svn commit: r641549 - /stdcxx/trunk/src/locale_body.cpp

2008-03-26 Thread sebor
Author: sebor
Date: Wed Mar 26 13:23:58 2008
New Revision: 641549

URL: http://svn.apache.org/viewvc?rev=641549&view=rev
Log:
2008-03-26  Martin Sebor  <[EMAIL PROTECTED]>

* src/locale_body.cpp (_C_manage): Used the C++ const_cast to cast
away volatile in favor of the C-style variant introduced in a patch
for STDCXX-792 (rev 640746) to avoid gcc -Wcast-qual warning: cast
from type 'volatile int*' to type 'int*' casts away constness.

Modified:
stdcxx/trunk/src/locale_body.cpp

Modified: stdcxx/trunk/src/locale_body.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/trunk/src/locale_body.cpp?rev=641549&r1=641548&r2=641549&view=diff
==
--- stdcxx/trunk/src/locale_body.cpp (original)
+++ stdcxx/trunk/src/locale_body.cpp Wed Mar 26 13:23:58 2008
@@ -805,15 +805,20 @@
 
 if (!global) {
 
+// volatile to prevent optimizers from turning
+// the while statement below into an infinite loop
 static volatile int ginit /* = 0 */;
 
 // cast ginit to int& (STDCXX-792)
 // casting should be removed after fixing STDCXX-794
-if (!ginit && 1 == _RWSTD_ATOMIC_PREINCREMENT ((int&)ginit, 
false)) {
+if (!ginit && 1 == _RWSTD_ATOMIC_PREINCREMENT (
+_RWSTD_CONST_CAST (int&, ginit), false)) {
 global  = _C_manage (0, "C");
 ginit  += 1000;
 }
 else {
+// ginit must be volatile to prevent optimizers
+// from turning this into an infinite loop
 while (ginit < 1000);
 }
 }




  1   2   3   4   5   >