This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: what's up with wchar_t bits in 22_locale on ia64?
- From: Loren James Rittle <rittle at latour dot rsch dot comm dot mot dot com>
- To: libstdc++ at gcc dot gnu dot org
- Cc: schwab at suse dot de, bkoz at constant dot com, dave at hiauly1 dot hia dot nrc dot ca
- Date: Tue, 11 Mar 2003 18:25:10 -0600 (CST)
- Subject: Re: what's up with wchar_t bits in 22_locale on ia64?
- Organization: Networks and Infrastructure Lab (IL02/2240), Motorola Labs
- References: <Pine.LNX.4.44.0303111241170.23879-100000@mail.constant.com>
>|> http://gcc.gnu.org/ml/gcc-testresults/2003-03/msg00677.html
>|>
>|> I see a bunch of wchar_t failures. Any chance you could give me (via
>|> libstdc++ at gcc dot gnu dot org) a preliminary analysis of these fails?
> There are two types of failures:
> terminate called after throwing an instance of 'std::runtime_error'
> what(): attempt to create locale from unknown name
[...]
> This system is running glibc 2.2.5. The locale en_US.ISO-8859-15 does
> not exist.
OK, Benjamin/Andreas/Dave, we could handle this case of failure using
the same technique I used (/copied from existing wrapper structure) to
handle generic implementation failures (I used a different report
string since the failure was different, i.e. the system may know about
the locale but the generic implementation couldn't handle it).
Under the assumption that missing locales shouldn't be reported as a
failure (in test case failure after test case failure). Luckily, I
think we only have to modify the new and old wrappers. I would
support one special test case that reported if a class of testing was
missing due to the lack of non-generic implementation and/or missing
locale used by the testsuite. Could someone test it where these
locale names are missing (you may have a file failures after fixing
this but those are real failures to look closely at):
* testsuite/testsuite_hooks.cc: Suppress runtime exception
thrown when locale name is unknown on the local system.
Index: testsuite_hooks.cc
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite/testsuite_hooks.cc,v
retrieving revision 1.9
diff -c -r1.9 testsuite_hooks.cc
*** testsuite_hooks.cc 11 Mar 2003 05:32:56 -0000 1.9
--- testsuite_hooks.cc 12 Mar 2003 00:14:04 -0000
***************
*** 157,162 ****
--- 157,164 ----
{
if (std::strstr (ex.what(), "unhandled name in generic implementation"))
return;
+ else if (std::strstr (ex.what(), "attempt to create locale from unknown name"))
+ return;
else
throw;
}
***************
*** 192,197 ****
--- 194,201 ----
{
if (std::strstr (ex.what(), "unhandled name in generic implementation"))
return;
+ else if (std::strstr (ex.what(), "attempt to create locale from unknown name"))
+ return;
else
throw;
}
***************
*** 218,223 ****
--- 222,229 ----
catch (std::runtime_error& ex)
{
if (std::strstr (ex.what(), "unhandled name in generic implementation"))
+ return;
+ else if (std::strstr (ex.what(), "attempt to create locale from unknown name"))
return;
else
throw;