libstdc++/9378: 64-bit g++: construct base:std::moneypunct_byname<char>->memory fault
Martin Sebor
sebor@roguewave.com
Wed Jan 29 21:26:00 GMT 2003
The following reply was made to PR libstdc++/9378; it has been noted by GNATS.
From: Martin Sebor <sebor@roguewave.com>
To: bkoz@gcc.gnu.org, axiong@ca.ibm.com, gcc-bugs@gcc.gnu.org,
gcc-prs@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Cc:
Subject: Re: libstdc++/9378: 64-bit g++: construct base:std::moneypunct_byname<char>->memory
fault
Date: Wed, 29 Jan 2003 14:24:10 -0700
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
More information about the Gcc-prs
mailing list