stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: FW: 17116,756,000
Date Wed, 09 Aug 2006 17:22:35 GMT
Nicole Willson wrote:
> I had to do it for every call to msgs.open.  Just change it like this:
> 	// const std::messages_base::catalog cat = (msgs.open)(CAT_NAME,
> loc);
>  	const std::string cat_name_str = CAT_NAME;  
> 	const std::messages_base::catalog cat =
> (msgs.open)(cat_name_str, loc);
> 
> The problem was that it was returning some number like -5475, instead of
> the number it should have been returning and causing the close to fail.
> This is a compiler bug that I've not yet been able to document with a
> testcase.  Fortunately, it is easy to workaround, if somewhat annoying.

Hmm. That's not what I'm seeing in the latest test. The latest
test aborts in a call to close with a good catalog id (0) but
one that's already been closed. The test exercises the facet's
ability to detect this (a double close) and throw an exception
in response to this type of an error.

> 
> I've also solved the problem with the stress_test.  Since the NLSPATH
> variable is being used, it can't have the .cat at the end of the catalog
> name - NLSPATH has already added that, so it is looking for
> catalogname.cat.cat and of course, not finding it.  I'm surprised that
> this would work on any system.

No kidding! There must be something else going on since I'm not
seeing any failures with gcc. I suspect the stress_test is buggy
beyond the NLSPATH problem and the bug is masking the failures
with gcc. Let me look into it.

Martin

Mime
View raw message