This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/21772] exception safety testing
- From: "paolo dot carlini at oracle dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 1 Jan 2010 10:14:09 -0000
- Subject: [Bug libstdc++/21772] exception safety testing
- References: <bug-21772-365@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #19 from paolo dot carlini at oracle dot com 2010-01-01 10:14 -------
(In reply to comment #18)
> It does happen when swapping arrays. I believe that array::swap does have a
> strong requirement via 23.2.1 p 10, but have xfailed this for the moment.
In that case we have clearly a defect in the standard, because std::array
doesn't dynamically allocate memory and in general you can't play tricks with
pointers, it all comes down to this.
> > it in the framework, since the value_type must be a POD!
>
> Four specializations are defined: char, wchar_t, char16_t, char32_t. That is
> the only part of basic_string that is special WRT container requirements that I
> can see.
>
> ?
Benjamin, we all know that traditionally basic_string can be instantiated only
for PODs, per 21/1. Certainly a POD can't throw. For the C++0x basic_string
there are some news in this area, still I'm pretty sure there are no changes in
this area.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772