This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: libstdc++/9378: 64-bit g++: construct base:std::moneypunct_byname<char>->memoryfault
- From: Martin Sebor <sebor at roguewave dot com>
- To: bkoz at gcc dot gnu dot org, axiong at ca dot ibm dot com, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org
- Date: Wed, 29 Jan 2003 14:24:10 -0700
- Subject: Re: libstdc++/9378: 64-bit g++: construct base:std::moneypunct_byname<char>->memoryfault
- Organization: Rogue Wave Software, Inc.
- References: <20030129210511.4436.qmail@sources.redhat.com>
bkoz@gcc.gnu.org wrote:
...
ISO 14882: 22.1.1.2 locale ctors and dtors
throws: runtime_error if the argument is ont valid, or is null. The set of valid string argument values is "C", "", and any implementation-defined values.
In the above case, you're trying to create a locale based on the implementation-defined value of "abc." The GNU implemenation defines this value to be junk, and errors out. (Correctly so, I think.)
FWIW, I don't think the requirements on the ctors of class
locale are relevant in this case. The problem is, IMO, that
there are no requirements at all on the ctors of the byname
facets, so pretty much anything goes. I.e., abort is just
as legal as successful construction.
Regards
Martin
>
...
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9378