From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14927 invoked by alias); 1 Jan 2010 10:14:29 -0000 Received: (qmail 14881 invoked by uid 48); 1 Jan 2010 10:14:09 -0000 Date: Fri, 01 Jan 2010 10:14:00 -0000 Message-ID: <20100101101409.14880.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug libstdc++/21772] exception safety testing In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "paolo dot carlini at oracle dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-01/txt/msg00009.txt.bz2 ------- 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