[jira] Updated: (STDCXX-511) locale tests crash if unable to get at least one user provided locale

2007-09-04 Thread Travis Vitek (JIRA)

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

Travis Vitek updated STDCXX-511:


Attachment: fix.patch

2007-09-4 Travis Vitek [EMAIL PROTECTED]

STDCXX-511
22.locale.numpunct.mt.cpp (run_test): fatal assert if unable to
create at least one locale
22.locale.ctype.mt.cpp (run_test): ditto

 locale tests crash if unable to get at least one user provided locale
 -

 Key: STDCXX-511
 URL: https://issues.apache.org/jira/browse/STDCXX-511
 Project: C++ Standard Library
  Issue Type: Bug
  Components: Tests
Affects Versions: trunk
Reporter: Travis Vitek
Assignee: Travis Vitek
Priority: Minor
 Fix For: 4.2

 Attachments: fix.patch


 Running a locale test with the '--locale' option that has no valid locale 
 names will cause the test to crash. An example...
 C:\build\stdcxx\win32.vc8\msvc-8.0\15d\tests22.locale.time.put.mt.exe 
 --locales=x
 # INFO (S1) (10 lines):
 # TEXT:
 # COMPILER: MSVC, _MSC_VER = 1400
 # ENVIRONMENT: i86 running win32
 # FILE: 22.locale.time.put.mt.cpp
 # COMPILED: Aug  3 2007, 13:55:51
 # COMMENT: thread safety
 
 # CLAUSE: lib.locale.time.put
 # INFO (S1) (3 lines):
 # TEXT: testing std::time_putcharT with 2 threads, 10 iterations each, 
 in locales { x }
 # CLAUSE: lib.locale.time.put
 # INFO (S1) (3 lines):
 # TEXT: exercising std::time_putchar
 # CLAUSE: lib.locale.time.put
 This application has requested the Runtime to terminate it in an unusual way.
 Please contact the application's support team for more information.

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



[jira] Assigned: (STDCXX-542) message catalog assert/crash after opening multiple

2007-09-04 Thread Travis Vitek (JIRA)

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

Travis Vitek reassigned STDCXX-542:
---

Assignee: Travis Vitek

 message catalog assert/crash after opening multiple
 ---

 Key: STDCXX-542
 URL: https://issues.apache.org/jira/browse/STDCXX-542
 Project: C++ Standard Library
  Issue Type: Bug
  Components: 22. Localization
 Environment: Windows
Reporter: Travis Vitek
Assignee: Travis Vitek

 The below code asserts/crashes reliably on windows, but runs to completion on 
 at least one other platform. Note that I copied the rwstdmessages.dll from 
 the examples directory to simplify the testcase.
 C:\build\stdcxx\build\msvc-8.0\15d\teststype t.cpp
 #include iostream
 #include locale
 #include cassert
 // note same problem occurs even if catalog files are
 // different.
 #ifdef _WIN32
 #  define CATALOG0 rwstdmessages.dll
 #  define CATALOG1 rwstdmessages.dll
 #else
 #  define CATALOG0 ./rwstdmessages.cat
 #  define CATALOG1 ./rwstdmessages.cat
 #endif
 int main (int argc, char *argv[])
 {
 typedef std::messageschar messagesT;
 const std::locale loc;
 const messagesT msgs =
 std::use_facetmessagesT(loc);
 const messagesT::catalog cat0 =
 msgs.open (CATALOG0, loc);
 assert(! (cat0  0)); // ensure open succeeded
 const messagesT::catalog cat1 =
 msgs.open (CATALOG1, loc);
 assert(! (cat1  0)); // ensure open succeeded
 msgs.close (cat1); // crash/assert here
 msgs.close (cat0);
 return 0;
 }
 C:\build\stdcxx\build\msvc-8.0\15d\testst
 C:\build\stdcxx\include\rw/_iterbase.h:436: class __rw::__rw_cat *__thiscall 
 __rw::__rw_debug_iterclass std::vectorclass __rw::__rw_cat *,class 
 std::allocatorclass __rw::__rw_cat * ,class __rw::__rw_cat * *,class 
 __rw::__rw_cat * *::operator *(void) const: Assertion '_C_is_dereferenceable 
 ()'
  failed.
 This application has requested the Runtime to terminate it in an unusual way.
 Please contact the application's support team for more information.

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



[jira] Updated: (STDCXX-542) message catalog assert/crash after opening multiple

2007-09-04 Thread Travis Vitek (JIRA)

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

Travis Vitek updated STDCXX-542:


Fix Version/s: 4.2.1
Affects Version/s: 4.1.2
   4.1.3
   4.1.4

2007-09-04 Travis Vitek [EMAIL PROTECTED]

STDCXX-542
catalog.cpp (catclose): check bounds before index to avoid out of
bound access

Index: catalog.cpp
===
--- catalog.cpp (revision 570205)
+++ catalog.cpp (working copy)
@@ -134,7 +134,7 @@
 delete __rw_catlist[i];
 __rw_catlist[i] = 0;
 CatVector::size_type j;
-for (j = i+1; __rw_catlist[j]  j  __rw_catlist.size(); j++)
+for (j = i+1; j  __rw_catlist.size()  __rw_catlist[j]; j++)
   __rw_catlist[j-1] = __rw_catlist[j];
 if (j  __rw_catlist.size())
   __rw_catlist[j] = 0;


 message catalog assert/crash after opening multiple
 ---

 Key: STDCXX-542
 URL: https://issues.apache.org/jira/browse/STDCXX-542
 Project: C++ Standard Library
  Issue Type: Bug
  Components: 22. Localization
Affects Versions: 4.1.2, 4.1.3, 4.1.4
 Environment: Windows
Reporter: Travis Vitek
Assignee: Travis Vitek
 Fix For: 4.2.1


 The below code asserts/crashes reliably on windows, but runs to completion on 
 at least one other platform. Note that I copied the rwstdmessages.dll from 
 the examples directory to simplify the testcase.
 C:\build\stdcxx\build\msvc-8.0\15d\teststype t.cpp
 #include iostream
 #include locale
 #include cassert
 // note same problem occurs even if catalog files are
 // different.
 #ifdef _WIN32
 #  define CATALOG0 rwstdmessages.dll
 #  define CATALOG1 rwstdmessages.dll
 #else
 #  define CATALOG0 ./rwstdmessages.cat
 #  define CATALOG1 ./rwstdmessages.cat
 #endif
 int main (int argc, char *argv[])
 {
 typedef std::messageschar messagesT;
 const std::locale loc;
 const messagesT msgs =
 std::use_facetmessagesT(loc);
 const messagesT::catalog cat0 =
 msgs.open (CATALOG0, loc);
 assert(! (cat0  0)); // ensure open succeeded
 const messagesT::catalog cat1 =
 msgs.open (CATALOG1, loc);
 assert(! (cat1  0)); // ensure open succeeded
 msgs.close (cat1); // crash/assert here
 msgs.close (cat0);
 return 0;
 }
 C:\build\stdcxx\build\msvc-8.0\15d\testst
 C:\build\stdcxx\include\rw/_iterbase.h:436: class __rw::__rw_cat *__thiscall 
 __rw::__rw_debug_iterclass std::vectorclass __rw::__rw_cat *,class 
 std::allocatorclass __rw::__rw_cat * ,class __rw::__rw_cat * *,class 
 __rw::__rw_cat * *::operator *(void) const: Assertion '_C_is_dereferenceable 
 ()'
  failed.
 This application has requested the Runtime to terminate it in an unusual way.
 Please contact the application's support team for more information.

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



[jira] Resolved: (STDCXX-542) message catalog assert/crash after opening multiple

2007-09-04 Thread Travis Vitek (JIRA)

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

Travis Vitek resolved STDCXX-542.
-

Resolution: Fixed

 message catalog assert/crash after opening multiple
 ---

 Key: STDCXX-542
 URL: https://issues.apache.org/jira/browse/STDCXX-542
 Project: C++ Standard Library
  Issue Type: Bug
  Components: 22. Localization
Affects Versions: 4.1.2, 4.1.3, 4.1.4
 Environment: Windows
Reporter: Travis Vitek
Assignee: Travis Vitek
 Fix For: 4.2.1


 The below code asserts/crashes reliably on windows, but runs to completion on 
 at least one other platform. Note that I copied the rwstdmessages.dll from 
 the examples directory to simplify the testcase.
 C:\build\stdcxx\build\msvc-8.0\15d\teststype t.cpp
 #include iostream
 #include locale
 #include cassert
 // note same problem occurs even if catalog files are
 // different.
 #ifdef _WIN32
 #  define CATALOG0 rwstdmessages.dll
 #  define CATALOG1 rwstdmessages.dll
 #else
 #  define CATALOG0 ./rwstdmessages.cat
 #  define CATALOG1 ./rwstdmessages.cat
 #endif
 int main (int argc, char *argv[])
 {
 typedef std::messageschar messagesT;
 const std::locale loc;
 const messagesT msgs =
 std::use_facetmessagesT(loc);
 const messagesT::catalog cat0 =
 msgs.open (CATALOG0, loc);
 assert(! (cat0  0)); // ensure open succeeded
 const messagesT::catalog cat1 =
 msgs.open (CATALOG1, loc);
 assert(! (cat1  0)); // ensure open succeeded
 msgs.close (cat1); // crash/assert here
 msgs.close (cat0);
 return 0;
 }
 C:\build\stdcxx\build\msvc-8.0\15d\testst
 C:\build\stdcxx\include\rw/_iterbase.h:436: class __rw::__rw_cat *__thiscall 
 __rw::__rw_debug_iterclass std::vectorclass __rw::__rw_cat *,class 
 std::allocatorclass __rw::__rw_cat * ,class __rw::__rw_cat * *,class 
 __rw::__rw_cat * *::operator *(void) const: Assertion '_C_is_dereferenceable 
 ()'
  failed.
 This application has requested the Runtime to terminate it in an unusual way.
 Please contact the application's support team for more information.

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



[jira] Resolved: (STDCXX-531) create test 22.locale.messages.mt.cpp

2007-09-04 Thread Travis Vitek (JIRA)

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

Travis Vitek resolved STDCXX-531.
-

Resolution: Fixed

Ready for review.

 create test 22.locale.messages.mt.cpp 
 --

 Key: STDCXX-531
 URL: https://issues.apache.org/jira/browse/STDCXX-531
 Project: C++ Standard Library
  Issue Type: Sub-task
  Components: 22. Localization, Thread Safety
Affects Versions: 4.1.2, 4.1.3, 4.1.4
Reporter: Travis Vitek
Assignee: Travis Vitek
 Fix For: 4.2

 Attachments: 22.locale.messages.mt.cpp




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



[jira] Assigned: (STDCXX-542) message catalog assert/crash after opening multiple

2007-09-04 Thread Martin Sebor (JIRA)

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

Martin Sebor reassigned STDCXX-542:
---

Assignee: Farid Zaripov  (was: Travis Vitek)

This looks related to STDCXX-508. Assigned to Farid.

Farid, if it's basically the same thing it might make sense to fix it for 4.2.

 message catalog assert/crash after opening multiple
 ---

 Key: STDCXX-542
 URL: https://issues.apache.org/jira/browse/STDCXX-542
 Project: C++ Standard Library
  Issue Type: Bug
  Components: 22. Localization
Affects Versions: 4.1.2, 4.1.3, 4.1.4
 Environment: Windows
Reporter: Travis Vitek
Assignee: Farid Zaripov
 Fix For: 4.2.1


 The below code asserts/crashes reliably on windows, but runs to completion on 
 at least one other platform. Note that I copied the rwstdmessages.dll from 
 the examples directory to simplify the testcase.
 C:\build\stdcxx\build\msvc-8.0\15d\teststype t.cpp
 #include iostream
 #include locale
 #include cassert
 // note same problem occurs even if catalog files are
 // different.
 #ifdef _WIN32
 #  define CATALOG0 rwstdmessages.dll
 #  define CATALOG1 rwstdmessages.dll
 #else
 #  define CATALOG0 ./rwstdmessages.cat
 #  define CATALOG1 ./rwstdmessages.cat
 #endif
 int main (int argc, char *argv[])
 {
 typedef std::messageschar messagesT;
 const std::locale loc;
 const messagesT msgs =
 std::use_facetmessagesT(loc);
 const messagesT::catalog cat0 =
 msgs.open (CATALOG0, loc);
 assert(! (cat0  0)); // ensure open succeeded
 const messagesT::catalog cat1 =
 msgs.open (CATALOG1, loc);
 assert(! (cat1  0)); // ensure open succeeded
 msgs.close (cat1); // crash/assert here
 msgs.close (cat0);
 return 0;
 }
 C:\build\stdcxx\build\msvc-8.0\15d\testst
 C:\build\stdcxx\include\rw/_iterbase.h:436: class __rw::__rw_cat *__thiscall 
 __rw::__rw_debug_iterclass std::vectorclass __rw::__rw_cat *,class 
 std::allocatorclass __rw::__rw_cat * ,class __rw::__rw_cat * *,class 
 __rw::__rw_cat * *::operator *(void) const: Assertion '_C_is_dereferenceable 
 ()'
  failed.
 This application has requested the Runtime to terminate it in an unusual way.
 Please contact the application's support team for more information.

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



[jira] Reopened: (STDCXX-542) message catalog assert/crash after opening multiple

2007-09-04 Thread Martin Sebor (JIRA)

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

Martin Sebor reopened STDCXX-542:
-


An issue is not Resolved until a fix for it has been committed. Reopened.

 message catalog assert/crash after opening multiple
 ---

 Key: STDCXX-542
 URL: https://issues.apache.org/jira/browse/STDCXX-542
 Project: C++ Standard Library
  Issue Type: Bug
  Components: 22. Localization
Affects Versions: 4.1.2, 4.1.3, 4.1.4
 Environment: Windows
Reporter: Travis Vitek
Assignee: Farid Zaripov
 Fix For: 4.2.1


 The below code asserts/crashes reliably on windows, but runs to completion on 
 at least one other platform. Note that I copied the rwstdmessages.dll from 
 the examples directory to simplify the testcase.
 C:\build\stdcxx\build\msvc-8.0\15d\teststype t.cpp
 #include iostream
 #include locale
 #include cassert
 // note same problem occurs even if catalog files are
 // different.
 #ifdef _WIN32
 #  define CATALOG0 rwstdmessages.dll
 #  define CATALOG1 rwstdmessages.dll
 #else
 #  define CATALOG0 ./rwstdmessages.cat
 #  define CATALOG1 ./rwstdmessages.cat
 #endif
 int main (int argc, char *argv[])
 {
 typedef std::messageschar messagesT;
 const std::locale loc;
 const messagesT msgs =
 std::use_facetmessagesT(loc);
 const messagesT::catalog cat0 =
 msgs.open (CATALOG0, loc);
 assert(! (cat0  0)); // ensure open succeeded
 const messagesT::catalog cat1 =
 msgs.open (CATALOG1, loc);
 assert(! (cat1  0)); // ensure open succeeded
 msgs.close (cat1); // crash/assert here
 msgs.close (cat0);
 return 0;
 }
 C:\build\stdcxx\build\msvc-8.0\15d\testst
 C:\build\stdcxx\include\rw/_iterbase.h:436: class __rw::__rw_cat *__thiscall 
 __rw::__rw_debug_iterclass std::vectorclass __rw::__rw_cat *,class 
 std::allocatorclass __rw::__rw_cat * ,class __rw::__rw_cat * *,class 
 __rw::__rw_cat * *::operator *(void) const: Assertion '_C_is_dereferenceable 
 ()'
  failed.
 This application has requested the Runtime to terminate it in an unusual way.
 Please contact the application's support team for more information.

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



[FYI] Jira issue life cycle

2007-09-04 Thread Martin Sebor

FYI: Here's a workflow diagram showing the life cycle of Jira
issues:

http://www.atlassian.com/software/jira/docs/latest/default_workflow.html

The life cycle of most stdcxx issues goes something like this:

  (Create)
|
V
  +-+
  |Open |
  +-+
|  ^
|  |
| (Stop Progress when not actively working on the issue.)
|  |
  (Start Progress when you start actively working on the issue.)
|  |
V  |
  +---+
  |In Progress|
  +---+
|   |
|   |
| (Resolve after committing a patch and successfully testing
|  it on a subset of platforms.)
|   |
|   V
| ++
| |Resolved|
| ++
|   |
|   |
  (Close after a test for the bug has been committed and confirmed
   to pass on available platforms.)
|   |
V   V
  +--+
  |Closed|
  +--+

Note that most issues shouldn't be Resolved as Fixed until a patch
for them has been committed and verified. They can be closed after
a test for the bug has been added to test suite (if it doesn't
exist at the time the issue is created) and after nightly builds
have confirmed that the test passes.

Martin


[jira] Reopened: (STDCXX-413) 22.locale.money.get.cpp doesn't test international monetary formats

2007-09-04 Thread Martin Sebor (JIRA)

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

Martin Sebor reopened STDCXX-413:
-


Reopened until the patch has been committed.

I have rerun the test with the patch and I see twice as many active assertions 
as before but I note that the test simply runs the same number of test cases 
twice (toggling the Intl flag between the runs). Travis, can you confirm that 
with the patch applied the test exercises STDCXX-412?

 22.locale.money.get.cpp doesn't test international monetary formats
 ---

 Key: STDCXX-413
 URL: https://issues.apache.org/jira/browse/STDCXX-413
 Project: C++ Standard Library
  Issue Type: Bug
  Components: Tests
Affects Versions: 4.1.3
Reporter: Mark Brown
Assignee: Travis Vitek
 Fix For: 4.2

 Attachments: money.get.patch


 The test 22.locale.money.get.cpp doesn't exercise international monetary 
 formats. See:
 -Original Message-
 From: [EMAIL PROTECTED]
 Sent: Sat, 12 May 2007 15:42:16 -0600
 To: stdcxx-dev@incubator.apache.org
 Subject: Re: svn commit: r537492 - 
 /incubator/stdcxx/trunk/doc/stdlibref/money-get.html
 Mark Brown wrote:
  -Original Message-
  From: [EMAIL PROTECTED]
  Sent: Sat, 12 May 2007 14:09:34 -0600
  To: stdcxx-dev@incubator.apache.org
  Subject: Re: svn commit: r537492 -
  /incubator/stdcxx/trunk/doc/stdlibref/money-get.html
 
  Mark Brown wrote:
  Martin,
 
  Thanks for fixing it! I have a question about the new code: Could you
  show an example of an international monetary string that would be
  correctly parsed by the facet? I tried a few but none of them could be
  parsed. For instance, USD 1234 gives this output:
  USD 1234 --  -- 0
  The same happens with g++ and STLport so I suspect I must be doing
  something wrong. Removing the space between the currency symbol and the
  number didn't make a difference.
  Hmm, I guess I should have tested the internationalized behavior before
  I put it in. I think the code is correct as is and your input should be
  correctly parsed by the facet (and produce 1234 on output). I'm not sure
  what's going on. Stepping through the code it looks like the money_get
  facet ends up retrieving the wrong specialization of moneypunct, i.e.,
  moneypunctchar, false when it needs moneypunctchar, true. What's
  puzzling is that both libstdc++ and STLport behave the same. It seems
  like too much of a coincidence for all three implementations to suffer
  from the same bug.
 
  In any event, thanks for bringing it to our attention! Can you open an
  issue for this as well so we don't forget to investigate it in case I
  don't get around to it soon?
  
  I can certainly do that. I should also mention that while investigating 
  this problem I found a test that's supposed to test this functionality: 
  22.locale.money.get.cpp. The test fails 20 out of 1934 assertions but none 
  of them look like they have anything to do with parsing international 
  monetary values. It doesn't look like they are being tested at all...
 Yeah, I noticed it too. I'm in the process of enhancing the test to
 exercise the international formats as well. If you don't mind creating
 another issue for the test, just for tracking purposes, that would be
 swell!
 Martin

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



[jira] Reopened: (STDCXX-532) create test 22.locale.codecvt.mt.cpp

2007-09-04 Thread Martin Sebor (JIRA)

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

Martin Sebor reopened STDCXX-532:
-


The attached test has some C++ conformance issues and doesn't compile with gcc. 
See the errors below. Reopened until the problems have been resolved and until 
the corrected test has been committed.

22.locale.codecvt.mt.cpp: In function `void test_codecvt(const std::locale, 
const MyBufferinternT, const MyBufferchar, const 
MyCodecvtData_TinternT, MyCodecvtData::CvtId)':
22.locale.codecvt.mt.cpp:211: error: expected initializer before result
22.locale.codecvt.mt.cpp:217: error: `result' was not declared in this scope
22.locale.codecvt.mt.cpp:235: error: expected initializer before result
22.locale.codecvt.mt.cpp:242: error: `result' was not declared in this scope
22.locale.codecvt.mt.cpp:264: error: expected initializer before result
22.locale.codecvt.mt.cpp:270: error: `result' was not declared in this scope
22.locale.codecvt.mt.cpp: In function `void test_codecvt(const std::locale, 
const MyBufferinternT, const MyBuffer
char, const MyCodecvtData_TinternT, MyCodecvtData::CvtId) [with internT = 
char]':22.locale.codecvt.mt.cpp:331:   instantiated from here
22.locale.codecvt.mt.cpp:201: warning: unused variable 'from'
22.locale.codecvt.mt.cpp:202: warning: unused variable 'from_end'
22.locale.codecvt.mt.cpp:203: warning: unused variable 'from_next'
22.locale.codecvt.mt.cpp:206: warning: unused variable 'to_limit'
22.locale.codecvt.mt.cpp:230: warning: unused variable 'to_limit'
22.locale.codecvt.mt.cpp:254: warning: unused variable 'from'
22.locale.codecvt.mt.cpp:255: warning: unused variable 'from_end'
22.locale.codecvt.mt.cpp:256: warning: unused variable 'from_next'
22.locale.codecvt.mt.cpp:259: warning: unused variable 'to_limit'
22.locale.codecvt.mt.cpp:289: warning: comparison between signed and unsigned 
integer expressions
22.locale.codecvt.mt.cpp: In function `void test_codecvt(const std::locale, 
const MyBufferinternT, const MyBuffer
char, const MyCodecvtData_TinternT, MyCodecvtData::CvtId) [with internT = 
wchar_t]':
22.locale.codecvt.mt.cpp:336:   instantiated from here
22.locale.codecvt.mt.cpp:201: warning: unused variable 'from'
22.locale.codecvt.mt.cpp:202: warning: unused variable 'from_end'
22.locale.codecvt.mt.cpp:203: warning: unused variable 'from_next'
22.locale.codecvt.mt.cpp:206: warning: unused variable 'to_limit'
22.locale.codecvt.mt.cpp:336:   instantiated from here
22.locale.codecvt.mt.cpp:230: warning: unused variable 'to_limit'
22.locale.codecvt.mt.cpp:254: warning: unused variable 'from'
22.locale.codecvt.mt.cpp:255: warning: unused variable 'from_end'
22.locale.codecvt.mt.cpp:256: warning: unused variable 'from_next'
22.locale.codecvt.mt.cpp:259: warning: unused variable 'to_limit'
22.locale.codecvt.mt.cpp:289: warning: comparison between signed and unsigned 
integer expressions


 create test 22.locale.codecvt.mt.cpp 
 -

 Key: STDCXX-532
 URL: https://issues.apache.org/jira/browse/STDCXX-532
 Project: C++ Standard Library
  Issue Type: Sub-task
Reporter: Travis Vitek
Assignee: Travis Vitek
 Attachments: 22.locale.codecvt.mt.cpp




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



[jira] Closed: (STDCXX-529) create test 22.locale.time.get.mt.cpp

2007-09-04 Thread Martin Sebor (JIRA)

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

Martin Sebor closed STDCXX-529.
---


Test committed thus: http://svn.apache.org/viewvc?view=revrevision=570286

Closed.

 create test 22.locale.time.get.mt.cpp
 -

 Key: STDCXX-529
 URL: https://issues.apache.org/jira/browse/STDCXX-529
 Project: C++ Standard Library
  Issue Type: Sub-task
  Components: 22. Localization, Thread Safety
Affects Versions: 4.1.2, 4.1.3, 4.1.4
Reporter: Travis Vitek
Assignee: Travis Vitek
 Fix For: 4.2

 Attachments: 22.locale.time.get.mt.cpp




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



Re: [PATCH] Use __rw_atomic_xxx() on Windows

2007-09-04 Thread Martin Sebor

What's the status of this? We need to decide if we can put this
in 4.2 or defer it for 4.2.1. To put it in 4.2 we need to make
sure the new functions don't cause a performance regression in
basic_string. I.e., we need to see the before and after numbers.

Martin

Martin Sebor wrote:

One concern I have is performance. Does replacing the intrinsics with
out of line function call whose semantics the compiler has no idea
about have any impact on the runtime efficiency of the generated code?
I would be especially interested in real life scenarios such as the
usage of the atomic operations in basic_string.

It would be good to see some before and after numbers. If you don't
have all the platforms to run the test post your benchmark and Travis
can help you put them together.

FYI, in case you're not aware of this (it's not immediately obvious),
even though we define the full set of atomic operations (i.e., for all
integer types) the library only uses the overloads for int and long.

Martin

Farid Zaripov wrote:
 Attached is a patch, adding __rw_atomic_{add|xchg}xx() functions on 
Win32/Win64 platforms.


 ChangeLog:
 * msvc-7.0.config: Added AS config variable.
 * msvc-8.0-x64.config: Ditto.
 * filterdef.js: Added definition of the CustomFileDef class
 * projectdef.js (InitAsmTool): New function to init custom build rule 
for .asm files.

 * projects.js: Added definitions of the platform dependent files.
 * utilities.js: Read AS configuration variable from the .config file.
 * i86/atomic.asm: New file with definitions of the __rw_atomic_xxx() 
for Win32 platform.
 * i86_64/atomic.asm: New file with definitions of the 
__rw_atomic_xxx() for Windows/x64 platform.

 * _mutex.h: Removed all dependencies on InterlockedXXX() API functions.
 Use new __rw_atomic_xxx() functions instead of InterlockedXXX().
 * once.cpp [_WIN32  _DLL]: Tell linker to export __atomic_xxx()
 functions, defined in .asm files.

Farid.




Index: etc/config/windows/filterdef.js
===
--- etc/config/windows/filterdef.js(revision 570339)
+++ etc/config/windows/filterdef.js(working copy)
@@ -25,7 +25,7 @@
 
 var sourceFilterName = Source Files;

 var sourceFilterUuid = {4FC737F1-C7A5-4376-A066-2A32D752A2FF};
-var sourceFilterExts = .cpp;.cxx;.s;
+var sourceFilterExts = .cpp;.cxx;.s;.asm;
 
 var headerFilterName = Header Files;

 var headerFilterUuid = {93995380-89BD-4b04-88EB-625FBE52EBFB};
@@ -56,6 +56,21 @@
 return str;
 }
 
+//

+// CustomFileDef class
+//
+
+// CustomFileDef .ctor
+function CustomFileDef(filepath, platform, initfun)
+{
+this.filepath = filepath;
+this.platform = platform;
+this.initfun  = initfun;
+}
+
+// global array with platform dependent files definitions
+var customFileDefs = new Array();
+
 // common macros
 var cmnMacros = new Array();
 
@@ -126,7 +141,29 @@

 var VCFile = filter.AddFile(filename);
 if (null != filetype  typeof(VCFile.FileType) != undefined)
 VCFile.FileType = filetype;
-+
+var customFileDef = null;
+
+if (!exclude)
+{
+// find the platform dependent file definition
+for (var i = 0; i  customFileDefs.length; ++i)
+{
+var custFileDef = customFileDefs[i];
+var pos = VCFile.FullPath.length - 
custFileDef.filepath.length;
+if (0 = pos  pos == 
VCFile.FullPath.indexOf(custFileDef.filepath))

+{
+customFileDef = custFileDef;
+break;
+}
+}
+
+// exclude this file from build if current platform
+// is not custom file target platform
+if (null != customFileDef  customFileDef.platform != PLATFORM)
+exclude = true;
+}
+ if (exclude)
 {
 var cfgs = VCFile.FileConfigurations;
@@ -144,6 +181,12 @@
 cfg.ExcludedFromBuild = exclude;
 }
 }
+else if (null != customFileDef 
+ undefined != typeof(customFileDef.initfun))
+{
+// init
+customFileDef.initfun(VCFile);
+}
 }
 
 // create VCFilter object from the FilterDef definition

Index: etc/config/windows/msvc-7.0.config
===
--- etc/config/windows/msvc-7.0.config(revision 570339)
+++ etc/config/windows/msvc-7.0.config(working copy)
@@ -38,6 +38,7 @@
 CXX=cl
 LD=cl
 AR=lib
+AS=ml
 
 // Use singlethreaded or mutlithreaded CRT in 11s, 11d solution 
configurations

 // 0 for MS VisualStudio .NET and MS VisualStudio .NET 2003
Index: etc/config/windows/msvc-8.0-x64.config
===
--- etc/config/windows/msvc-8.0-x64.config(revision 570339)
+++ etc/config/windows/msvc-8.0-x64.config(working copy)
@@ -1,2 +1,3 @@
 

Re: svn commit: r569152 - /incubator/stdcxx/branches/4.2.0/etc/config/src/LIMITS.cpp

2007-09-04 Thread Martin Sebor

Mark Brown wrote:

-Original Message-
From: [EMAIL PROTECTED]
Sent: Sun, 26 Aug 2007 17:37:02 -0600
To: stdcxx-dev@incubator.apache.org
Subject: Re: svn commit: r569152 -
/incubator/stdcxx/branches/4.2.0/etc/config/src/LIMITS.cpp

Mark Brown wrote:

-Original Message-
From: [EMAIL PROTECTED]
Sent: Fri, 24 Aug 2007 09:29:36 -0600
To: stdcxx-dev@incubator.apache.org
Subject: Re: svn commit: r569152 -
/incubator/stdcxx/branches/4.2.0/etc/config/src/LIMITS.cpp

Andrew, please be sure to observe the 78 characters/line limit
in Change Log entries as documented in bullet (3) of the Patch
Format section on the Bugs page:
   http://incubator.apache.org/stdcxx/bugs.html#patch_format

The reason for this limit in both ChangeLogs and source files
is that they all need to be readable on traditional VT100 text
terminals.

I have seen coding styles with a 79 character limit (for instance
Python) but I am curious what the rationale for the 78 character limit
is when even the VT100 displays have 80 columns?

Opening a file with 80 characters per line in emacs with a buffer
width set to 80 columns will wrap the last character of the next
line. So if all you have to work with is an 80x24 text terminal
and want to run emacs in it you want files to have no more than
79 characters per line. You can recreate this experience in an
xterm or similar terminal by setting it to 80 characters and
starting emacs with the -nw option.


If I understand correctly what you're describing, emacs -nw will display lines 
with up to 79 characters in a 80 column frame without wrapping. What, then, is 
the rationale for at most 78 characters?


You're right, that was a thinko on my part. Sounds like 79 should
work, but...

I've done some searching online to see what coding standards there
are out there and what rationale they give for imposing which limit.
What I've found is there are standards that impose a limit of 80
characters, others that call for no more than 79 characters, and
others still that require at most 78 characters. However, not all
of them are explicit about what these characters are, specifically
whether the newline separator is or isn't part of the limit. The
killer argument (IMO) in favor of the 78 character limit (not
including the newline, or 79 character limit including it), is
the fact the Unified diff format prepends a character to every
line to indicate whether it is being added ('+') or removed ('-')
or neither. So with at most 78 character lines, diffs still
display correctly on an 80 column display, but at 79 characters
they warp around to the next line.

Here's a reference:
http://amis.sourceforge.net/devel/CppCodingStandard.html#linelen

Martin


[jira] Commented: (STDCXX-511) locale tests crash if unable to get at least one user provided locale

2007-09-04 Thread Martin Sebor (JIRA)

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

Martin Sebor commented on STDCXX-511:
-

Travis, remember the Change Log format introduces each file name with an 
asterisk. That makes it possible to find the names of all files in a ChangeLog 
(and only those) using a simple regular expression.

 locale tests crash if unable to get at least one user provided locale
 -

 Key: STDCXX-511
 URL: https://issues.apache.org/jira/browse/STDCXX-511
 Project: C++ Standard Library
  Issue Type: Bug
  Components: Tests
Affects Versions: trunk
Reporter: Travis Vitek
Assignee: Travis Vitek
Priority: Minor
 Fix For: 4.2

 Attachments: fix.patch


 Running a locale test with the '--locale' option that has no valid locale 
 names will cause the test to crash. An example...
 C:\build\stdcxx\win32.vc8\msvc-8.0\15d\tests22.locale.time.put.mt.exe 
 --locales=x
 # INFO (S1) (10 lines):
 # TEXT:
 # COMPILER: MSVC, _MSC_VER = 1400
 # ENVIRONMENT: i86 running win32
 # FILE: 22.locale.time.put.mt.cpp
 # COMPILED: Aug  3 2007, 13:55:51
 # COMMENT: thread safety
 
 # CLAUSE: lib.locale.time.put
 # INFO (S1) (3 lines):
 # TEXT: testing std::time_putcharT with 2 threads, 10 iterations each, 
 in locales { x }
 # CLAUSE: lib.locale.time.put
 # INFO (S1) (3 lines):
 # TEXT: exercising std::time_putchar
 # CLAUSE: lib.locale.time.put
 This application has requested the Runtime to terminate it in an unusual way.
 Please contact the application's support team for more information.

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



[jira] Closed: (STDCXX-511) locale tests crash if unable to get at least one user provided locale

2007-09-04 Thread Martin Sebor (JIRA)

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

Martin Sebor closed STDCXX-511.
---

Resolution: Fixed

Patch committed thus: http://svn.apache.org/viewvc?rev=572853view=rev.

Closed.

 locale tests crash if unable to get at least one user provided locale
 -

 Key: STDCXX-511
 URL: https://issues.apache.org/jira/browse/STDCXX-511
 Project: C++ Standard Library
  Issue Type: Bug
  Components: Tests
Affects Versions: trunk
Reporter: Travis Vitek
Assignee: Travis Vitek
Priority: Minor
 Fix For: 4.2

 Attachments: fix.patch


 Running a locale test with the '--locale' option that has no valid locale 
 names will cause the test to crash. An example...
 C:\build\stdcxx\win32.vc8\msvc-8.0\15d\tests22.locale.time.put.mt.exe 
 --locales=x
 # INFO (S1) (10 lines):
 # TEXT:
 # COMPILER: MSVC, _MSC_VER = 1400
 # ENVIRONMENT: i86 running win32
 # FILE: 22.locale.time.put.mt.cpp
 # COMPILED: Aug  3 2007, 13:55:51
 # COMMENT: thread safety
 
 # CLAUSE: lib.locale.time.put
 # INFO (S1) (3 lines):
 # TEXT: testing std::time_putcharT with 2 threads, 10 iterations each, 
 in locales { x }
 # CLAUSE: lib.locale.time.put
 # INFO (S1) (3 lines):
 # TEXT: exercising std::time_putchar
 # CLAUSE: lib.locale.time.put
 This application has requested the Runtime to terminate it in an unusual way.
 Please contact the application's support team for more information.

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



[jira] Updated: (STDCXX-532) create test 22.locale.codecvt.mt.cpp

2007-09-04 Thread Travis Vitek (JIRA)

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

Travis Vitek updated STDCXX-532:


Attachment: (was: 22.locale.codecvt.mt.cpp)

 create test 22.locale.codecvt.mt.cpp 
 -

 Key: STDCXX-532
 URL: https://issues.apache.org/jira/browse/STDCXX-532
 Project: C++ Standard Library
  Issue Type: Sub-task
Reporter: Travis Vitek
Assignee: Travis Vitek



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



[jira] Updated: (STDCXX-531) create test 22.locale.messages.mt.cpp

2007-09-04 Thread Travis Vitek (JIRA)

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

Travis Vitek updated STDCXX-531:


Attachment: (was: 22.locale.messages.mt.cpp)

 create test 22.locale.messages.mt.cpp 
 --

 Key: STDCXX-531
 URL: https://issues.apache.org/jira/browse/STDCXX-531
 Project: C++ Standard Library
  Issue Type: Sub-task
  Components: 22. Localization, Thread Safety
Affects Versions: 4.1.2, 4.1.3, 4.1.4
Reporter: Travis Vitek
Assignee: Travis Vitek
 Fix For: 4.2

 Attachments: 22.locale.messages.mt.cpp




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



[jira] Commented: (STDCXX-413) 22.locale.money.get.cpp doesn't test international monetary formats

2007-09-04 Thread Travis Vitek (JIRA)

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

Travis Vitek commented on STDCXX-413:
-

The patched test sets the moneypunct facet formatting information to a known 
state [for both local and international], and then attempts to extract values 
out of fixed strings for which the result is known. This is exactly what was 
being done previously for local money data. This patch just adds the ability to 
verify the international formatted data. i.e. the test essentially does this

  1. set currency symbol for local to YEN
  2. set currency symbol for international to NULL
  3. attempt to read local money from YEN 10
  4. set currency symbol for international to YEN
  5. set currency symbol for local to NULL
  6. attempt to read international money from YEN 10

If you would like me to add a new test, or expand the existing test, to do a 
round trip for money values for user provided locales, I would be happy to.


 22.locale.money.get.cpp doesn't test international monetary formats
 ---

 Key: STDCXX-413
 URL: https://issues.apache.org/jira/browse/STDCXX-413
 Project: C++ Standard Library
  Issue Type: Bug
  Components: Tests
Affects Versions: 4.1.3
Reporter: Mark Brown
Assignee: Travis Vitek
 Fix For: 4.2

 Attachments: money.get.patch


 The test 22.locale.money.get.cpp doesn't exercise international monetary 
 formats. See:
 -Original Message-
 From: [EMAIL PROTECTED]
 Sent: Sat, 12 May 2007 15:42:16 -0600
 To: stdcxx-dev@incubator.apache.org
 Subject: Re: svn commit: r537492 - 
 /incubator/stdcxx/trunk/doc/stdlibref/money-get.html
 Mark Brown wrote:
  -Original Message-
  From: [EMAIL PROTECTED]
  Sent: Sat, 12 May 2007 14:09:34 -0600
  To: stdcxx-dev@incubator.apache.org
  Subject: Re: svn commit: r537492 -
  /incubator/stdcxx/trunk/doc/stdlibref/money-get.html
 
  Mark Brown wrote:
  Martin,
 
  Thanks for fixing it! I have a question about the new code: Could you
  show an example of an international monetary string that would be
  correctly parsed by the facet? I tried a few but none of them could be
  parsed. For instance, USD 1234 gives this output:
  USD 1234 --  -- 0
  The same happens with g++ and STLport so I suspect I must be doing
  something wrong. Removing the space between the currency symbol and the
  number didn't make a difference.
  Hmm, I guess I should have tested the internationalized behavior before
  I put it in. I think the code is correct as is and your input should be
  correctly parsed by the facet (and produce 1234 on output). I'm not sure
  what's going on. Stepping through the code it looks like the money_get
  facet ends up retrieving the wrong specialization of moneypunct, i.e.,
  moneypunctchar, false when it needs moneypunctchar, true. What's
  puzzling is that both libstdc++ and STLport behave the same. It seems
  like too much of a coincidence for all three implementations to suffer
  from the same bug.
 
  In any event, thanks for bringing it to our attention! Can you open an
  issue for this as well so we don't forget to investigate it in case I
  don't get around to it soon?
  
  I can certainly do that. I should also mention that while investigating 
  this problem I found a test that's supposed to test this functionality: 
  22.locale.money.get.cpp. The test fails 20 out of 1934 assertions but none 
  of them look like they have anything to do with parsing international 
  monetary values. It doesn't look like they are being tested at all...
 Yeah, I noticed it too. I'm in the process of enhancing the test to
 exercise the international formats as well. If you don't mind creating
 another issue for the test, just for tracking purposes, that would be
 swell!
 Martin

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