aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/bits/stl_queue.h24
2 files changed, 10 insertions, 20 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 5424e57..4958cf7 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2006-08-04 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_queue.h (priority_queue<>::push,
+ priority_queue<>::pop): Remove try/catch, just follow the
+ letter of the Standard.
+
2006-08-03 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_queue.h: Trivial formatting fixes.
diff --git a/libstdc++-v3/include/bits/stl_queue.h b/libstdc++-v3/include/bits/stl_queue.h
index e2cd0d5..84c0035 100644
--- a/libstdc++-v3/include/bits/stl_queue.h
+++ b/libstdc++-v3/include/bits/stl_queue.h
@@ -424,16 +424,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
void
push(const value_type& __x)
{
- try
- {
- c.push_back(__x);
- std::push_heap(c.begin(), c.end(), comp);
- }
- catch(...)
- {
- c.clear();
- __throw_exception_again;
- }
+ c.push_back(__x);
+ std::push_heap(c.begin(), c.end(), comp);
}
/**
@@ -451,16 +443,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
pop()
{
__glibcxx_requires_nonempty();
- try
- {
- std::pop_heap(c.begin(), c.end(), comp);
- c.pop_back();
- }
- catch(...)
- {
- c.clear();
- __throw_exception_again;
- }
+ std::pop_heap(c.begin(), c.end(), comp);
+ c.pop_back();
}
};