public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-4@http.gcc.gnu.org/bugzilla/>
@ 2023-05-16 19:41 ` pinskia at gcc dot gnu.org
  0 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-05-16 19:41 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|bkoz at gcc dot gnu.org            |unassigned at gcc dot gnu.org
             Status|ASSIGNED                    |NEW

--- Comment #24 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Unassigning since Benjamin since not been active in GCC development for over 8
years now.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
                   ` (13 preceding siblings ...)
  2010-02-19 10:49 ` paolo dot carlini at oracle dot com
@ 2010-03-04 12:00 ` paolo dot carlini at oracle dot com
  14 siblings, 0 replies; 16+ messages in thread
From: paolo dot carlini at oracle dot com @ 2010-03-04 12:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #23 from paolo dot carlini at oracle dot com  2010-03-04 11:59 -------
I'm analyzing the remaining xfails. About generation_prohibited, for vector and
deque, I see the tests failing only on the two forms of erase. But in that
case, the Standard (*) says that: "Throws: Nothing unless an exception is
thrown by the copy constructor or assignment operator of T.". Thus, I don't
think we have a bug. Benjamin, do you have a contrary opinion? Otherwise I'm
tempted to take out those erase from generation_prohibited for deque and
vector.

(*) C++1x as of n3035 is exactly like C++03 here. Of course for now we are not
taking into account any subtlety with throwing move constructor and assignment,
still being finalized by the Committee. In any case in our library we are not
testing yet with moveable types.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
                   ` (12 preceding siblings ...)
  2010-01-01 11:03 ` paolo dot carlini at oracle dot com
@ 2010-02-19 10:49 ` paolo dot carlini at oracle dot com
  2010-03-04 12:00 ` paolo dot carlini at oracle dot com
  14 siblings, 0 replies; 16+ messages in thread
From: paolo dot carlini at oracle dot com @ 2010-02-19 10:49 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #22 from paolo dot carlini at oracle dot com  2010-02-19 10:49 -------
Update: per LWG 1170, for basic_string we are back to POD types only, not the
much larger class of literal types,


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
                   ` (11 preceding siblings ...)
  2010-01-01 10:46 ` paolo dot carlini at oracle dot com
@ 2010-01-01 11:03 ` paolo dot carlini at oracle dot com
  2010-02-19 10:49 ` paolo dot carlini at oracle dot com
  2010-03-04 12:00 ` paolo dot carlini at oracle dot com
  14 siblings, 0 replies; 16+ messages in thread
From: paolo dot carlini at oracle dot com @ 2010-01-01 11:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #21 from paolo dot carlini at oracle dot com  2010-01-01 11:03 -------
In the meanwhile, I double checked N3000 for basic_string: any literal type
will be allowed, thus if we want to use this type of framework for C++0x we
have first to make sure that the types conform to the requirements for literal
type.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
                   ` (10 preceding siblings ...)
  2010-01-01 10:14 ` paolo dot carlini at oracle dot com
@ 2010-01-01 10:46 ` paolo dot carlini at oracle dot com
  2010-01-01 11:03 ` paolo dot carlini at oracle dot com
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: paolo dot carlini at oracle dot com @ 2010-01-01 10:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #20 from paolo dot carlini at oracle dot com  2010-01-01 10:46 -------
... I meant, still copy constructor, copy assignment, etc, can't throw ;)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
                   ` (9 preceding siblings ...)
  2010-01-01  3:55 ` bkoz at gcc dot gnu dot org
@ 2010-01-01 10:14 ` paolo dot carlini at oracle dot com
  2010-01-01 10:46 ` paolo dot carlini at oracle dot com
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: paolo dot carlini at oracle dot com @ 2010-01-01 10:14 UTC (permalink / raw)
  To: gcc-bugs



------- 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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
                   ` (8 preceding siblings ...)
  2010-01-01  3:39 ` bkoz at gcc dot gnu dot org
@ 2010-01-01  3:55 ` bkoz at gcc dot gnu dot org
  2010-01-01 10:14 ` paolo dot carlini at oracle dot com
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2010-01-01  3:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from bkoz at gcc dot gnu dot org  2010-01-01 03:54 -------

> multiset error

... was bogus. I adjusted the traits to fix this.

> The std::array error seems indeed bogus: if I'm not wrong, it happens when
> swapping arrays, and there are no  guarantees that the operation doesn't throw
> for std::array, because it's requires to just swap the ranges, thus copy
> construct and copy assign each array element.

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 addition, I have removed the throwing on user defined ctors for
throw_value_* via _GLIBCXX_IS_AGGREGATE to simulate a more aggregate-ish thing.
However, even aggregates can have assignment operators and other operator
actions that throw, and this still fails. (And note the value_type of
std::array can have user defined ctors ie 8.5.1 p 13). 

> Another thing I noticed, about basic_string, something seems inappropriate for
> 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. 

?

I went ahead and checked this in, xfailing the following failures:

FAIL: 21_strings/basic_string/requirements/exception/propagation_consistent.cc
execution test
FAIL: 23_containers/array/requirements/exception/generation_prohibited.cc
execution test
FAIL: 23_containers/deque/requirements/exception/generation_prohibited.cc
execution test
FAIL: 23_containers/deque/requirements/exception/propagation_consistent.cc
execution test
FAIL: 23_containers/vector/requirements/exception/generation_prohibited.cc
execution test


I believe that deque/.../propagation_consistent.cc will have to be modified to
take into account 23.3.2.3, and copy/assignment should be elided in this case
(and vector via 23.3.6.4) 

Regardless, this can be tweaked in place.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2009-12-17  9:58 ` paolo dot carlini at oracle dot com
@ 2010-01-01  3:39 ` bkoz at gcc dot gnu dot org
  2010-01-01  3:55 ` bkoz at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2010-01-01  3:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from bkoz at gcc dot gnu dot org  2010-01-01 03:39 -------
Subject: Bug 21772

Author: bkoz
Date: Fri Jan  1 03:38:58 2010
New Revision: 155545

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155545
Log:
2009-12-31  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/21772 part 3
        * include/ext/throw_allocator.h: Add _GLIBCXX_IS_AGGREGATE.
        * testsuite/util/testsuite_container_traits.h (traits<std::map>):
        Add has_insert.
        (traits<std::multimap>): Add has_insert.
        (traits<std::multiset>): Add has_size_type_constructor.
        * testsuite/23_containers/array/requirements/exception/
        generation_prohibited.cc: New.
        * testsuite/21_strings/basic_string/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.
        * testsuite/ext/vstring/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.
        * testsuite/23_containers/unordered_map/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.
        * testsuite/23_containers/multimap/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.
        * testsuite/23_containers/set/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.
        * testsuite/23_containers/unordered_multimap/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.
        * testsuite/23_containers/forward_list/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.
        * testsuite/23_containers/unordered_set/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.
        * testsuite/23_containers/vector/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.
        * testsuite/23_containers/deque/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.
        * testsuite/23_containers/multiset/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.
        * testsuite/23_containers/unordered_multiset/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.
        * testsuite/23_containers/map/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.


Added:
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/21_strings/basic_string/requirements/exception/propagation_consistent.cc
    trunk/libstdc++-v3/testsuite/23_containers/array/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/array/requirements/exception/generation_prohibited.cc
    trunk/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/23_containers/deque/requirements/exception/propagation_consistent.cc
   
trunk/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/23_containers/forward_list/requirements/exception/propagation_consistent.cc
    trunk/libstdc++-v3/testsuite/23_containers/map/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/map/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/23_containers/map/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/23_containers/map/requirements/exception/propagation_consistent.cc
    trunk/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/23_containers/multimap/requirements/exception/propagation_consistent.cc
    trunk/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/23_containers/multiset/requirements/exception/propagation_consistent.cc
    trunk/libstdc++-v3/testsuite/23_containers/set/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/set/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/23_containers/set/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/23_containers/set/requirements/exception/propagation_consistent.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/exception/propagation_consistent.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/exception/propagation_consistent.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/exception/propagation_consistent.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/exception/propagation_consistent.cc
    trunk/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/23_containers/vector/requirements/exception/propagation_consistent.cc
    trunk/libstdc++-v3/testsuite/ext/vstring/requirements/exception/
    trunk/libstdc++-v3/testsuite/ext/vstring/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/ext/vstring/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/ext/vstring/requirements/exception/propagation_consistent.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/ext/throw_allocator.h
    trunk/libstdc++-v3/testsuite/util/testsuite_container_traits.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2009-12-17  9:37 ` bkoz at gcc dot gnu dot org
@ 2009-12-17  9:58 ` paolo dot carlini at oracle dot com
  2010-01-01  3:39 ` bkoz at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: paolo dot carlini at oracle dot com @ 2009-12-17  9:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from paolo dot carlini at oracle dot com  2009-12-17 09:58 -------
The std::array error seems indeed bogus: if I'm not wrong, it happens when
swapping arrays, and there are no  guarantees that the operation doesn't throw
for std::array, because it's requires to just swap the ranges, thus copy
construct and copy assign each array element.

Another thing I noticed, about basic_string, something seems inappropriate for
it in the framework, since the value_type must be a POD!


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2009-12-17  8:18 ` bkoz at gcc dot gnu dot org
@ 2009-12-17  9:37 ` bkoz at gcc dot gnu dot org
  2009-12-17  9:58 ` paolo dot carlini at oracle dot com
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2009-12-17  9:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from bkoz at gcc dot gnu dot org  2009-12-17 09:37 -------
Subject: Bug 21772

Author: bkoz
Date: Thu Dec 17 09:37:16 2009
New Revision: 155306

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155306
Log:
2009-12-16  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/21772 part 2
        * doc/xml/manual/test.xml: Add documentation about testing details.
        * testsuite/util/exception/safety.h: New. Functor objects for
        testing C++0x container classes.
        * testsuite/util/testsuite_container_traits.h: Add traits.

        * testsuite/23_containers/list/requirements/exception/
        basic.cc: New.
        generation_prohibited.cc: New.
        propagation_consistent.cc: New.


Added:
    trunk/libstdc++-v3/testsuite/23_containers/list/requirements/exception/
   
trunk/libstdc++-v3/testsuite/23_containers/list/requirements/exception/basic.cc
   
trunk/libstdc++-v3/testsuite/23_containers/list/requirements/exception/generation_prohibited.cc
   
trunk/libstdc++-v3/testsuite/23_containers/list/requirements/exception/propagation_consistent.cc
    trunk/libstdc++-v3/testsuite/util/exception/
    trunk/libstdc++-v3/testsuite/util/exception/safety.h
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/doc/xml/manual/test.xml
    trunk/libstdc++-v3/testsuite/util/testsuite_container_traits.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2009-12-16 11:14 ` jwakely dot gcc at gmail dot com
@ 2009-12-17  8:18 ` bkoz at gcc dot gnu dot org
  2009-12-17  9:37 ` bkoz at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2009-12-17  8:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from bkoz at gcc dot gnu dot org  2009-12-17 08:18 -------
Created an attachment (id=19333)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19333&action=view)
part 2


diff after merge of part 1


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2009-12-16 10:14 ` paolo dot carlini at oracle dot com
@ 2009-12-16 11:14 ` jwakely dot gcc at gmail dot com
  2009-12-17  8:18 ` bkoz at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: jwakely dot gcc at gmail dot com @ 2009-12-16 11:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from jwakely dot gcc at gmail dot com  2009-12-16 11:14 -------
(In reply to comment #12)
> Some are really puzzling... Hard to believe something is wrong in <array>, for
> example.

I haven't looked into it, but the problem in array could be bug 41449


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2009-12-16  5:17 ` bkoz at gcc dot gnu dot org
@ 2009-12-16 10:14 ` paolo dot carlini at oracle dot com
  2009-12-16 11:14 ` jwakely dot gcc at gmail dot com
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: paolo dot carlini at oracle dot com @ 2009-12-16 10:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from paolo dot carlini at oracle dot com  2009-12-16 10:14 -------
(In reply to comment #10)
> Results on x86_64/linux or x86_64/darwin10.2
> 
> Status: 
> FAIL: 23_containers/array/requirements/exception/generation_prohibited.cc
> execution test
> 23_containers/unordered_multiset/requirements/exceptio/propagation_consistent.cc

Some are really puzzling... Hard to believe something is wrong in <array>, for
example. And that unordered_multiset *only* among the various unordered_* has
troubles...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
  2009-12-16  3:34 ` bkoz at gcc dot gnu dot org
  2009-12-16  3:36 ` bkoz at gcc dot gnu dot org
@ 2009-12-16  5:17 ` bkoz at gcc dot gnu dot org
  2009-12-16 10:14 ` paolo dot carlini at oracle dot com
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2009-12-16  5:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from bkoz at gcc dot gnu dot org  2009-12-16 05:17 -------
Subject: Bug 21772

Author: bkoz
Date: Wed Dec 16 05:16:46 2009
New Revision: 155283

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155283
Log:
2009-12-15  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/21772 part 1
        * include/ext/throw_allocator.h: Rework.
        (__gnu_cxx::throw_allocator): To...
        (__gnu_cxx::throw_allocator_limit): ...this.
        (__gnu_cxx::throw_allocator_random): ...and this.
        (throw_value_base, throw_value_limit, throw_value_random): Add.
        (condition_base, random_condition, limit_condition): Add.
        (forced_exception_error): To...
        (forced_error): ...this.
        * testsuite/ext/throw_value: New.
        * testsuite/ext/throw_value/cons.cc: New.
        * testsuite/ext/throw_allocator/deallocate_global.cc: Adjust for
        throw_allocator, forced_exception_error changes.
        * testsuite/ext/throw_allocator/check_delete.cc: Same.
        * testsuite/ext/throw_allocator/check_allocate_max_size.cc: Same.
        * testsuite/ext/throw_allocator/check_deallocate_null.cc: Same.
        * testsuite/ext/throw_allocator/explicit_instantiation.cc: Same.
        * testsuite/ext/throw_allocator/check_new.cc: Same.
        * testsuite/ext/throw_allocator/variadic_construct.cc: Same.
        * testsuite/ext/throw_allocator/deallocate_local.cc: Same.
        * testsuite/23_containers/list/modifiers/insert/25288.cc: Same.
        * testsuite/23_containers/list/modifiers/insert/25288.h: Same.
        * testsuite/util/regression/common_type.hpp: Same.
        * testsuite/util/regression/rand/priority_queue/
        container_rand_regression_test.tcc: Same.
        * testsuite/util/regression/rand/assoc/
        container_rand_regression_test.h: Same.
        * testsuite/util/regression/rand/assoc/
        container_rand_regression_test.tcc: Same.
        * testsuite/util/regression/basic_type.hpp: Same.

        * testsuite/ext/forced_exception_error/cons_virtual_derivation.cc:
To...
        * testsuite/ext/forced_error/cons_virtual_derivation.cc: ...this, same.


Added:
    trunk/libstdc++-v3/testsuite/ext/forced_error/
      - copied from r155276,
trunk/libstdc++-v3/testsuite/ext/forced_exception_error/
    trunk/libstdc++-v3/testsuite/ext/throw_value/
    trunk/libstdc++-v3/testsuite/ext/throw_value/cons.cc
Removed:
    trunk/libstdc++-v3/testsuite/ext/forced_exception_error/
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/ext/throw_allocator.h
    trunk/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.cc
    trunk/libstdc++-v3/testsuite/23_containers/list/modifiers/insert/25288.h
    trunk/libstdc++-v3/testsuite/ext/forced_error/cons_virtual_derivation.cc
    trunk/libstdc++-v3/testsuite/ext/throw_allocator/check_allocate_max_size.cc
    trunk/libstdc++-v3/testsuite/ext/throw_allocator/check_deallocate_null.cc
    trunk/libstdc++-v3/testsuite/ext/throw_allocator/check_delete.cc
    trunk/libstdc++-v3/testsuite/ext/throw_allocator/check_new.cc
    trunk/libstdc++-v3/testsuite/ext/throw_allocator/deallocate_global.cc
    trunk/libstdc++-v3/testsuite/ext/throw_allocator/deallocate_local.cc
    trunk/libstdc++-v3/testsuite/ext/throw_allocator/explicit_instantiation.cc
    trunk/libstdc++-v3/testsuite/ext/throw_allocator/variadic_construct.cc
    trunk/libstdc++-v3/testsuite/util/regression/basic_type.hpp
    trunk/libstdc++-v3/testsuite/util/regression/common_type.hpp
   
trunk/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.h
   
trunk/libstdc++-v3/testsuite/util/regression/rand/assoc/container_rand_regression_test.tcc
   
trunk/libstdc++-v3/testsuite/util/regression/rand/priority_queue/container_rand_regression_test.tcc


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
  2009-12-16  3:34 ` bkoz at gcc dot gnu dot org
@ 2009-12-16  3:36 ` bkoz at gcc dot gnu dot org
  2009-12-16  5:17 ` bkoz at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2009-12-16  3:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from bkoz at gcc dot gnu dot org  2009-12-16 03:36 -------
Results on x86_64/linux or x86_64/darwin10.2

Status: 
FAIL: 21_strings/basic_string/requirements/exception/propagation_consistent.cc
execution test
FAIL: 23_containers/array/requirements/exception/generation_prohibited.cc
execution test
FAIL: 23_containers/deque/requirements/exception/generation_prohibited.cc
execution test
FAIL: 23_containers/deque/requirements/exception/propagation_consistent.cc
execution test
FAIL:
23_containers/unordered_multiset/requirements/exception/propagation_consistent.cc
execution test
FAIL: 23_containers/vector/requirements/exception/generation_prohibited.cc
execution test

These appear to be legitimate.

Cross-testing on embedded targets in progress


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [Bug libstdc++/21772] exception safety testing
       [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
@ 2009-12-16  3:34 ` bkoz at gcc dot gnu dot org
  2009-12-16  3:36 ` bkoz at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2009-12-16  3:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from bkoz at gcc dot gnu dot org  2009-12-16 03:34 -------

Tweak summary, mine.


-- 

bkoz at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |bkoz at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2005-09-24 16:08:26         |2009-12-16 03:34:20
               date|                            |
            Summary|exception safety testing    |exception safety testing
                   |allocator                   |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21772


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2023-05-16 19:41 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-21772-4@http.gcc.gnu.org/bugzilla/>
2023-05-16 19:41 ` [Bug libstdc++/21772] exception safety testing pinskia at gcc dot gnu.org
     [not found] <bug-21772-365@http.gcc.gnu.org/bugzilla/>
2009-12-16  3:34 ` bkoz at gcc dot gnu dot org
2009-12-16  3:36 ` bkoz at gcc dot gnu dot org
2009-12-16  5:17 ` bkoz at gcc dot gnu dot org
2009-12-16 10:14 ` paolo dot carlini at oracle dot com
2009-12-16 11:14 ` jwakely dot gcc at gmail dot com
2009-12-17  8:18 ` bkoz at gcc dot gnu dot org
2009-12-17  9:37 ` bkoz at gcc dot gnu dot org
2009-12-17  9:58 ` paolo dot carlini at oracle dot com
2010-01-01  3:39 ` bkoz at gcc dot gnu dot org
2010-01-01  3:55 ` bkoz at gcc dot gnu dot org
2010-01-01 10:14 ` paolo dot carlini at oracle dot com
2010-01-01 10:46 ` paolo dot carlini at oracle dot com
2010-01-01 11:03 ` paolo dot carlini at oracle dot com
2010-02-19 10:49 ` paolo dot carlini at oracle dot com
2010-03-04 12:00 ` paolo dot carlini at oracle dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).