STDCXX examples fails and reasons [MSVC]

2007-06-21 Thread Farid Zaripov
  The list of the fails and reasons here:
http://people.apache.org/~faridz/examples.html
 
  I think that OUTPUT status is not a fail (and examples with that
status are not counted
as failed in unix-like platforms, but they are counted as failed on
Windows platform except cygwin).
 
  I've fixed the fail reasons of the messages example:
http://svn.apache.org/viewvc?view=revrev=549546
http://svn.apache.org/viewvc?view=revrev=549550
 
Farid.


Re: STDCXX examples fails and reasons [MSVC]

2007-06-21 Thread Martin Sebor

Farid Zaripov wrote:

  The list of the fails and reasons here:
http://people.apache.org/~faridz/examples.html


Thanks!

 
  I think that OUTPUT status is not a fail (and examples with that

status are not counted
as failed in unix-like platforms, but they are counted as failed on
Windows platform except cygwin).


Oh. We need to fix that. The OUTPUT state is just a note that there
is no reference output to compare the actual output against. The
examples that have no reference output file are designed to produce
platform-specific output. We should try to limit such examples as
much as possible but in some cases (such as limits.cpp) it's not
entirely possible.

 
  I've fixed the fail reasons of the messages example:

http://svn.apache.org/viewvc?view=revrev=549546
http://svn.apache.org/viewvc?view=revrev=549550


Great!

For the rest, we should open issues in Jira so we don't forget
to get back to them. limits.cpp should produce the qnan for
Quiet NAN and snan for Signaling NAN on all platforms. (We
already have an issue for rwexcept: STDCXX-293). time_get
looks like a bug (or lack of functionality) in our library,
and time_put like a bug in our infrastructure (I assume the
example assumes a certain time zone and it's being run in
another). The latter could (should?) be fixed by setting
the TZ environment variable time zone to the expected zone
before invoking this example.

codecvt1 should probably be disabled for now (until we figure
out how to get it to work) and it should also be renamed to
something more descriptive. Testing three hardwired encodings
doesn't seem like a good idea for a simple example, so maybe
we could split it up into codecvt-sjis.cpp, codecvt-eucjp,
and codecvt-utf8.cpp.

Let me know your thoughts.

Martin


[jira] Commented: (STDCXX-353) [Cygwin] localedef errors: UCS value of symbolic character out of range

2007-06-21 Thread Martin Sebor (JIRA)

[ 
https://issues.apache.org/jira/browse/STDCXX-353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12506980
 ] 

Martin Sebor commented on STDCXX-353:
-

So it sounds like the original issue is resolved and can be closed and we 
should open a new one for the errors you discovered.

 [Cygwin] localedef errors: UCS value of symbolic character out of range
 ---

 Key: STDCXX-353
 URL: https://issues.apache.org/jira/browse/STDCXX-353
 Project: C++ Standard Library
  Issue Type: Bug
  Components: Locales
Affects Versions: 4.1.3
 Environment: Cygwin
Reporter: Mark Brown
Assignee: Farid Zaripov

 On Cygwin, locale successfully builds all locales except zh_CN.GB18030 and 
 zh_TW.EUC-TW:
 $ nice make -C../bin locales -k
 make: Entering directory `/home/mbrown/stdcxx-gcc-4.1.1-15s/bin'
 ./localedef -w -c -f /home/mbrown/stdcxx/etc/nls/charmaps/GB18030 -i 
 /home/mbrown/stdcxx/etc/nls/src/zh_CN 
 /home/mbrown/stdcxx-gcc-4.1.1-15s/nls/zh_CN.GB18030
 Error 315: UCS value 66304 of symbolic character U00010300 out of range.
 make: *** [zh_CN.GB18030] Error 4
 ./localedef -w -c -f /home/mbrown/stdcxx/etc/nls/charmaps/EUC-TW -i 
 /home/mbrown/stdcxx/etc/nls/src/zh_TW 
 /home/mbrown/stdcxx-gcc-4.1.1-15s/nls/zh_TW.EUC-TW
 Error 315: UCS value 131083 of symbolic character U0002000B out of range.
 make: *** [zh_TW.EUC-TW] Error 4
 make: Target `locales' not remade because of errors.
 make: Leaving directory `/home/mbrown/stdcxx-gcc-4.1.1-15s/bin'

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Assigned: (STDCXX-293) __rw::__rw_throw(): operator delete[] called without corresponding operator new[] call

2007-06-21 Thread Farid Zaripov (JIRA)

 [ 
https://issues.apache.org/jira/browse/STDCXX-293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Farid Zaripov reassigned STDCXX-293:


Assignee: Farid Zaripov

 __rw::__rw_throw(): operator delete[] called without corresponding operator 
 new[] call
 --

 Key: STDCXX-293
 URL: https://issues.apache.org/jira/browse/STDCXX-293
 Project: C++ Standard Library
  Issue Type: Bug
  Components: 18. Language Support, 19. Diagnostics
Affects Versions: 4.1.3
 Environment: All
Reporter: Farid Zaripov
Assignee: Farid Zaripov

 The test below fails:
 ---
 #include cstddef  // for std::size_t
 #include assert.h // for assert
 #include rw/_error.h  // for __rw_throw_proc, 
 _RWSTD_ERROR_LOCALE_BAD_CAT
 void* operator new[] (std::size_t)
 {
 assert (!operator new[] unexpectedly called);
 return 0;
 }
 void operator delete[] (void*)
 {
 assert (!operator delete[] called without operator new[]);
 }
 int main ()
 {
 __rw::__rw_throw (_RWSTD_ERROR_LOCALE_BAD_CAT + 1, __FILE__, main);
 return 0;
 }
 ---
 Assertion failed: !operator delete[] called without operator new[], file 
 .\tes
 t.cpp, line 13
 This application has requested the Runtime to terminate it in an unusual way.
 Please contact the application's support team for more information.
 ---
 The details are here: 
 http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/200609.mbox/[EMAIL
  PROTECTED]

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (STDCXX-452) std::numpunct not thread safe

2007-06-21 Thread Martin Sebor (JIRA)
std::numpunct not thread safe
-

 Key: STDCXX-452
 URL: https://issues.apache.org/jira/browse/STDCXX-452
 Project: C++ Standard Library
  Issue Type: Bug
  Components: 22. Localization
Affects Versions: 4.1.2
 Environment: all
Reporter: Martin Sebor
Priority: Blocker
 Attachments: 22.locale.numpunct.mt.html

The 22.locale.numpunct.mt thread safety tests aborts at runtime indicating that 
there is a thread safety issue in the locale implementation. Running the test 
through the Intel Thread Checker reveals possible causes of the problem.

$ tcheck_cl -v  make 22.locale.numpunct.mt  tcheck_cl -f html -o 
22.locale.numpunct.mt ./22.locale.numpunct.mt --nthreads=2 --nloops=1000
Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
Copyright (c) 2007 Intel Corporation. All rights reserved.
make: `22.locale.numpunct.mt' is up to date.
Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
Copyright (c) 2007 Intel Corporation. All rights reserved.
Building project

Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.numpunct.mt 
--nthreads=2 --nloops=1000

# INFO (S1) (10 lines):
# TEXT: 
# COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 
20070320, __EDG_VERSION__ = 306
# ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
# FILE: 22.locale.numpunct.mt.cpp
# COMPILED: Jun 13 2007, 14:05:31
# COMMENT: thread safety


# CLAUSE: lib.locale.numpunct

# NOTE (S2) (5 lines):
# TEXT: executing locale -a  /tmp/tmpfile-FZLyTh
# CLAUSE: lib.locale.numpunct
# FILE: process.cpp
# LINE: 274

# INFO (S1) (3 lines):
# TEXT: testing std::numpunctcharT with 2 threads, 1000 iterations each, in 
locales { aa_DJ aa_DJ.iso88591 aa_DJ.utf8 aa_ER [EMAIL PROTECTED] 
aa_ER.utf8 [EMAIL PROTECTED] aa_ET aa_ET.utf8 af_ZA af_ZA.iso88591 
af_ZA.utf8 am_ET am_ET.utf8 an_ES an_ES.iso885915 an_ES.utf8 
ar_AE ar_AE.iso88596 ar_AE.utf8 ar_BH ar_BH.iso88596 ar_BH.utf8 
ar_DZ ar_DZ.iso88596 ar_DZ.utf8 ar_EG ar_EG.iso88596 ar_EG.utf8 
ar_IN ar_IN.utf8 ar_IQ }
# CLAUSE: lib.locale.numpunct

# INFO (S1) (3 lines):
# TEXT: exercising std::numpunctchar
# CLAUSE: lib.locale.numpunct

/amd/devco/sebor/stdcxx/tests/localization/22.locale.numpunct.mt.cpp:128: void 
*thread_func(void *): Assertion '0 == rw_strncmp (fn.c_str (), 
data-falsename_)' failed.
/build/sebor/stdcxx-icc-9.1_049-15S/tests/./22.locale.numpunct.mt[0x8ad9fc]

Application finished

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (STDCXX-452) std::numpunct not thread safe

2007-06-21 Thread Martin Sebor (JIRA)

 [ 
https://issues.apache.org/jira/browse/STDCXX-452?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Sebor updated STDCXX-452:


Affects Version/s: 4.1.3

 std::numpunct not thread safe
 -

 Key: STDCXX-452
 URL: https://issues.apache.org/jira/browse/STDCXX-452
 Project: C++ Standard Library
  Issue Type: Bug
  Components: 22. Localization
Affects Versions: 4.1.3, 4.1.2
 Environment: all
Reporter: Martin Sebor
Priority: Blocker
 Attachments: 22.locale.numpunct.mt.html


 The 22.locale.numpunct.mt thread safety tests aborts at runtime indicating 
 that there is a thread safety issue in the locale implementation. Running the 
 test through the Intel Thread Checker reveals possible causes of the problem.
 $ tcheck_cl -v  make 22.locale.numpunct.mt  tcheck_cl -f html -o 
 22.locale.numpunct.mt ./22.locale.numpunct.mt --nthreads=2 --nloops=1000
 Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
 Copyright (c) 2007 Intel Corporation. All rights reserved.
 make: `22.locale.numpunct.mt' is up to date.
 Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
 Copyright (c) 2007 Intel Corporation. All rights reserved.
 Building project
 Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.numpunct.mt 
 --nthreads=2 --nloops=1000
 # INFO (S1) (10 lines):
 # TEXT: 
 # COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 
 20070320, __EDG_VERSION__ = 306
 # ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
 # FILE: 22.locale.numpunct.mt.cpp
 # COMPILED: Jun 13 2007, 14:05:31
 # COMMENT: thread safety
 
 # CLAUSE: lib.locale.numpunct
 # NOTE (S2) (5 lines):
 # TEXT: executing locale -a  /tmp/tmpfile-FZLyTh
 # CLAUSE: lib.locale.numpunct
 # FILE: process.cpp
 # LINE: 274
 # INFO (S1) (3 lines):
 # TEXT: testing std::numpunctcharT with 2 threads, 1000 iterations each, in 
 locales { aa_DJ aa_DJ.iso88591 aa_DJ.utf8 aa_ER [EMAIL PROTECTED] 
 aa_ER.utf8 [EMAIL PROTECTED] aa_ET aa_ET.utf8 af_ZA 
 af_ZA.iso88591 af_ZA.utf8 am_ET am_ET.utf8 an_ES an_ES.iso885915 
 an_ES.utf8 ar_AE ar_AE.iso88596 ar_AE.utf8 ar_BH ar_BH.iso88596 
 ar_BH.utf8 ar_DZ ar_DZ.iso88596 ar_DZ.utf8 ar_EG ar_EG.iso88596 
 ar_EG.utf8 ar_IN ar_IN.utf8 ar_IQ }
 # CLAUSE: lib.locale.numpunct
 # INFO (S1) (3 lines):
 # TEXT: exercising std::numpunctchar
 # CLAUSE: lib.locale.numpunct
 /amd/devco/sebor/stdcxx/tests/localization/22.locale.numpunct.mt.cpp:128: 
 void *thread_func(void *): Assertion '0 == rw_strncmp (fn.c_str (), 
 data-falsename_)' failed.
 /build/sebor/stdcxx-icc-9.1_049-15S/tests/./22.locale.numpunct.mt[0x8ad9fc]
 Application finished

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (STDCXX-453) std::moneypunct not thread safe

2007-06-21 Thread Martin Sebor (JIRA)
std::moneypunct not thread safe
---

 Key: STDCXX-453
 URL: https://issues.apache.org/jira/browse/STDCXX-453
 Project: C++ Standard Library
  Issue Type: Bug
  Components: 22. Localization
Affects Versions: 4.1.3
Reporter: Martin Sebor
Priority: Critical
 Attachments: 22.locale.moneypunct.mt.html

The 22.locale.moneypunct.mt thread safety tests aborts at runtime indicating 
that there is a thread safety issue in the locale implementation. Running the 
test through the Intel Thread Checker reveals possible causes of the problem. 

$ tcheck_cl -v  make 22.locale.moneypunct.mt  tcheck_cl -f html -o 
22.locale.moneypunct.mt ./22.locale.moneypunct.mt --nthreads=2 --nloops=1000
Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
Copyright (c) 2007 Intel Corporation. All rights reserved.
icc -cxxlib-nostd -g   -w1  -I/amd/devco/sebor/stdcxx/include/ansi 
-D_RWSTDDEBUG   -D_REENTRANT -I/amd/devco/sebor/stdcxx/include 
-I/build/sebor/stdcxx-icc-9.1_049-15S/include 
-I/amd/devco/sebor/stdcxx/tests/include  
-L/build/sebor/stdcxx-icc-9.1_049-15S/rwtest -lrwtest15S -cxxlib-nostd  
-lpthread  -L/build/sebor/stdcxx-icc-9.1_049-15S/lib   
/amd/devco/sebor/stdcxx/tests/localization/22.locale.moneypunct.mt.cpp 
/build/sebor/stdcxx-icc-9.1_049-15S/lib/libstd15S.a 
/build/sebor/stdcxx-icc-9.1_049-15S/rwtest/librwtest15S.a  -lstd15S -lcxaguard 
-lsupc++ -lm -o 22.locale.moneypunct.mt
Intel(R) Thread Checker 3.1 command line instrumentation driver (24400)
Copyright (c) 2007 Intel Corporation. All rights reserved.
Building project
Instrumenting
 11% 22.locale.moneypunct.mt ( All Functions 
):
.
 33% libc-2.3.4.so   ( Minimal ):
 44% libcxaguard.so.5 ( Minimal ):..
 55% libdl-2.3.4.so  ( Minimal ):..
 66% libgcc_s-3.4.6-20060404.so.1 ( Minimal ):..
 77% libimf.so   ( Minimal ):
 88% libm-2.3.4.so   ( Minimal ):..
100% libpthread-2.3.4.so ( Minimal ):..

Running:  /build/sebor/stdcxx-icc-9.1_049-15S/tests/22.locale.moneypunct.mt 
--nthreads=2 --nloops=1000

# INFO (S1) (10 lines):
# TEXT: 
# COMPILER: Intel C++, __INTEL_COMPILER = 910, __INTEL_COMPILER_BUILD_DATE = 
20070320, __EDG_VERSION__ = 306
# ENVIRONMENT: x86_64/LP64 running linux-elf 2.4.20 with glibc 2.3
# FILE: 22.locale.moneypunct.mt.cpp
# COMPILED: Jun 13 2007, 14:05:31
# COMMENT: thread safety


# CLAUSE: lib.locale.moneypunct

# NOTE (S2) (5 lines):
# TEXT: executing locale -a  /tmp/tmpfile-EUSjge
# CLAUSE: lib.locale.moneypunct
# FILE: process.cpp
# LINE: 274

# INFO (S1) (3 lines):
# TEXT: testing std::moneypunctcharT with 2 threads, 1000 iterations each, in 
locales { aa_DJ aa_DJ.iso88591 aa_DJ.utf8 aa_ER [EMAIL PROTECTED] 
aa_ER.utf8 [EMAIL PROTECTED] aa_ET aa_ET.utf8 af_ZA af_ZA.iso88591 
af_ZA.utf8 am_ET am_ET.utf8 an_ES an_ES.iso885915 an_ES.utf8 
ar_AE ar_AE.iso88596 ar_AE.utf8 ar_BH ar_BH.iso88596 ar_BH.utf8 
ar_DZ ar_DZ.iso88596 ar_DZ.utf8 ar_EG ar_EG.iso88596 ar_EG.utf8 
ar_IN ar_IN.utf8 ar_IQ }
# CLAUSE: lib.locale.moneypunct

# INFO (S1) (3 lines):
# TEXT: exercising std::moneypunctchar
# CLAUSE: lib.locale.moneypunct

/amd/devco/sebor/stdcxx/tests/localization/22.locale.moneypunct.mt.cpp:167: 
void *thread_func(void *): Assertion 'fd == data-frac_digits_' failed.
/amd/devco/sebor/stdcxx/tests/localization/22.locale.moneypunct.mt.cpp:167: 
void *thread_func(void *): Assertion 'fd == data-frac_digits_' failed.
/build/sebor/stdcxx-icc-9.1_049-15S/tests/./22.locale.moneypunct.mt[0x/build/sebor/stdcxx-icc-9.1_049-15S/tests/./22.locale.moneypunct.mt[0x8b9470]
8b9470]

Application finished


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



STDCXX progress to graduation

2007-06-21 Thread William A. Rowe, Jr.
[How's that for optimism? please not corrected stdcxx-dev list address]

I'm including general in this thread to give the incubator community
some small insight into stdcxx's efforts and next steps to graduate.

As far as I can see there are no remaining obstacles.

   http://incubator.apache.org/stdcxx/

is of a caliber higher than expected in open source efforts, the new
steady contributors are recognized quickly with commit access (and later
then with 'PMC membership' in the form of their PPMC), and diversity is
increasing (we wish it were broader, but I suspect this project with
the visibility of full ASF status will attract additional committers
who might have been hedging their bets on whether or not the project
would survive incubation.)

It's survived, the community appears healthy - most code-discussion
occurs in the actual jira incidents that the discussion applies to,
and things are as quiet as expected for a mature implementation of
a reference standard.  Even issues raised by board/IPMC have been
addressed quickly and sufficiently.  (The issue with two-classes of
CTR and RTC committers is resolved, while The Committers in italics
do not have a signed Contributor License Agreement on file. comment
does not and will not become applicable, and can be removed the next
time that file is touched.)

If anyone has concerns about stdcxx's graduation, please share them
with the [EMAIL PROTECTED] community.

Bill



RE: STDCXX progress to graduation

2007-06-21 Thread Noel J. Bergman
William A. Rowe, Jr. wrote:

 diversity is increasing (we wish it were broader, but I suspect this
 project with the visibility of full ASF status will attract additional
 committers who might have been hedging their bets on whether or not
 the project would survive incubation.)

What effect do you believe GPLv3 will have, now that the FSF is acknowledging 
that GPL projects may freely take advantage of Apache Licensed code?

 things are as quiet as expected for a mature implementation of
 a reference standard.

Any concern that because of the maturity, it could stagnate and lose community?

--- Noel




Re: svn commit: r549586 - /incubator/stdcxx/trunk/src/exception.cpp

2007-06-21 Thread Martin Sebor

Hi Farid,

As you astutely observed in a previous discussion of the issue
(at the link below), __rw_free_what_buf() should be extern
_RWSTD_EXPORT, to be accessible by user in overridden
__rw_throw_proc() otherwise there will be no way for users
to avoid a leak in their replacement __rw_throw_proc().

http://www.mail-archive.com/stdcxx-dev@incubator.apache.org/msg02192.html

Also, while it's too late to fix it for this commit, the ChangeLog
entry is missing a reference to the Jira issue number it resolves.
Please remember to include it future changes, especially those to
the library.

Thanks
Martin

[EMAIL PROTECTED] wrote:

Author: faridz
Date: Thu Jun 21 11:51:41 2007
New Revision: 549586

URL: http://svn.apache.org/viewvc?view=revrev=549586
Log:
2007-06-21 Farid Zaripov [EMAIL PROTECTED]

* exception.cpp (__rw_throw): Don't delete allocated what string 
because of
__rw_throw_proc() takes ownership and must delete what string.

Modified:
incubator/stdcxx/trunk/src/exception.cpp

Modified: incubator/stdcxx/trunk/src/exception.cpp
URL: 
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/src/exception.cpp?view=diffrev=549586r1=549585r2=549586
==
--- incubator/stdcxx/trunk/src/exception.cpp (original)
+++ incubator/stdcxx/trunk/src/exception.cpp Thu Jun 21 11:51:41 2007
@@ -827,9 +827,6 @@
 
 // throw_proc takes ownership of allocated string

 __rw_throw_proc (id, what);
-
-// if throw_proc returns, delete allocated what string
-__rw_free_what_buf (what);
 }
 }
 







Re: STDCXX progress to graduation

2007-06-21 Thread William A. Rowe, Jr.
Noel J. Bergman wrote:
 William A. Rowe, Jr. wrote:
 
 diversity is increasing (we wish it were broader, but I suspect this
 project with the visibility of full ASF status will attract additional
 committers who might have been hedging their bets on whether or not
 the project would survive incubation.)
 
 What effect do you believe GPLv3 will have, now that the FSF is acknowledging 
 that GPL projects may freely take advantage of Apache Licensed code?

I suspect most GPL authors already felt quite free to combine and ship
AL code in their GPL developer toolchains, when useful.  Most J2 stacks
haven't bothered to replace every .jar, they consume AL libraries when
it suits their purpose.

It would be really cool to see some of the FLOSS C++ groups to both
consume and contribute to stdcxx, we'll see what happens.  As far as
other packagers blending proprietary and open source solutions, the
very nature of an 'incubating' ASF project says we don't yet give it
our full confidence, so a packager is behind the curve to rely on any
project until it's graduated.  We'll learn what the real delta is some
year after stdcxx has graduated.

 things are as quiet as expected for a mature implementation of
 a reference standard.
 
 Any concern that because of the maturity, it could stagnate and lose 
 community?

Not at this time.  Because it is widely deployed, there will be a long
term demand.  Because it's transparent to the developer, and in debugging
their apps they can drill right into flaws within stdcxx, I suspect we
will see bug feedback folks turn patchers turn contributors turn project
members for years, as long as C++ is a widely adopted language.

Bill


Re: svn commit: r548112 - /incubator/stdcxx/trunk/tests/support/18.exception.cpp

2007-06-21 Thread Martin Sebor

Farid Zaripov wrote:

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Monday, June 18, 2007 12:11 AM

To: [EMAIL PROTECTED]
Subject: svn commit: r548112 - 
/incubator/stdcxx/trunk/tests/support/18.exception.cpp


Author: sebor
Date: Sun Jun 17 14:10:51 2007
New Revision: 548112


[...]

  The test fails to compile on MSVC after that patch.
The proposed patch below:


Darn! The #else branch is of course wrong. It should have been
what you said. Sorry about that. Passing SIGABRT as the second
argument to sigsetjmp() doesn't make sense since it's treated
as just a Boolean flag so I also agree with that change. I see
I messed up in all kinds of ways here...

Martin



Index: 18.exception.cpp
===
--- 18.exception.cpp(revision 549121)
+++ 18.exception.cpp(working copy)
@@ -57,14 +57,18 @@
 #  include setjmp.h// for siglongjmp(), sigsetjmp()
 
 #  define RW_JMP_BUF jmp_buf

-#  define RW_SETJMP(env) sigsetjmp (env, SIGABRT)
+#  define RW_SETJMP(env) sigsetjmp (env, 0)
 #  define RW_LONGJMP(env, val)   siglongjmp (env, val)
 #else   // if !defined (_RWSTD_OS_LINUX)
 #  include csetjmp// for longjmp(), setjmp()
 
 #  define RW_JMP_BUF std::jmp_buf

-#  define RW_SETJMP(env) std::sigsetjmp (env, SIGABRT)
-#  define RW_LONGJMP(env, val)   std::siglongjmp (env, val)
+#  ifdef setjmp
+#define RW_SETJMP(env)   setjmp (env)
+#  else
+#define RW_SETJMP(env)   std::setjmp (env)
+#  endif
+#  define RW_LONGJMP(env, val)   std::longjmp (env, val)
 #endif   // _RWSTD_OS_LINUX
 
 
/***

***/

  #ifdef setjmp is needed because of setjmp defined as macro on MSVC.
Or even better would be #include setjmp.h instead of csetjmp and
don't use the namespace std.

Farid.




Re: Windows build error(s)

2007-06-21 Thread Martin Sebor

Farid Zaripov wrote:

-Original Message-
From: Martin Sebor [mailto:[EMAIL PROTECTED] On Behalf Of Martin Sebor
Sent: Saturday, June 16, 2007 7:44 PM
To: stdcxx-dev@incubator.apache.org
Subject: Windows build error(s)

Looks like we're having some problems in Intel C++ builds on 
Windows (see the error below). Farid, do you know about this?



[...]
### Building solution / Creating HTML log Solution build 
script Checking arguments...

Loading solution...
D:\bman5\builds\33687223\source-buildspace\etc\config\windows\
build.wsf(226,
10) (null): Call was rejected by callee.


  I've found how to handle this error here:
http://msdn2.microsoft.com/en-us/library/ms228772(vs.80).aspx

  Unfortunately, jscript don't present the possibility to install COM
message filter,
so I've just perform the call in a loop with sleep:
http://svn.apache.org/viewvc?view=revrev=548682


This looks like an infinite loop. It might fix the problem with
the build but I worry that it could cause trouble under some other
error conditions. The MSDN fix also looks quite different (not to
mention much more complicated). Isn't there some middle ground
between the two approaches? E.g., could we loop only a limited
number of times and only when the error was caused by the timing
issue discussed on the MSDN page (if we can reliably detect it)?

Martin


Re: svn commit: r548112 - /incubator/stdcxx/trunk/tests/support/18.exception.cpp

2007-06-21 Thread Martin Sebor

Since this was my mess I decided to go ahead and apply your
patch: http://svn.apache.org/viewvc?view=revrev=549653.

Thanks!
Martin

Martin Sebor wrote:

Farid Zaripov wrote:

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Monday, June 
18, 2007 12:11 AM

To: [EMAIL PROTECTED]
Subject: svn commit: r548112 - 
/incubator/stdcxx/trunk/tests/support/18.exception.cpp


Author: sebor
Date: Sun Jun 17 14:10:51 2007
New Revision: 548112


[...]

  The test fails to compile on MSVC after that patch.
The proposed patch below:


Darn! The #else branch is of course wrong. It should have been
what you said. Sorry about that. Passing SIGABRT as the second
argument to sigsetjmp() doesn't make sense since it's treated
as just a Boolean flag so I also agree with that change. I see
I messed up in all kinds of ways here...

Martin



Index: 18.exception.cpp
===
--- 18.exception.cpp(revision 549121)
+++ 18.exception.cpp(working copy)
@@ -57,14 +57,18 @@
 #  include setjmp.h// for siglongjmp(), sigsetjmp()
 
 #  define RW_JMP_BUF jmp_buf

-#  define RW_SETJMP(env) sigsetjmp (env, SIGABRT)
+#  define RW_SETJMP(env) sigsetjmp (env, 0)
 #  define RW_LONGJMP(env, val)   siglongjmp (env, val)
 #else   // if !defined (_RWSTD_OS_LINUX)
 #  include csetjmp// for longjmp(), setjmp()
 
 #  define RW_JMP_BUF std::jmp_buf

-#  define RW_SETJMP(env) std::sigsetjmp (env, SIGABRT)
-#  define RW_LONGJMP(env, val)   std::siglongjmp (env, val)
+#  ifdef setjmp
+#define RW_SETJMP(env)   setjmp (env)
+#  else
+#define RW_SETJMP(env)   std::setjmp (env)
+#  endif
+#  define RW_LONGJMP(env, val)   std::longjmp (env, val)
 #endif   // _RWSTD_OS_LINUX
 
 
/***

***/

  #ifdef setjmp is needed because of setjmp defined as macro on MSVC.
Or even better would be #include setjmp.h instead of csetjmp and
don't use the namespace std.

Farid.