svn commit: r1035812 - /stdcxx/site/status/2010-11.txt
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
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
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/
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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/
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
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
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
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
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/
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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); } }