diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index cfc58317337..41ac34fc50e 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,12 +1,19 @@ +2009-09-28 Benjamin Kosnik + + * libsupc++/eh_terminate.cc: Fixes for -fno-exceptions. + * libsupc++/vec.cc: Same. + * libsupc++/vterminate.cc: Same. + * libsupc++/new_opnt.cc: Same. + 2009-09-28 Johannes Singler - * include/parallel/for_each_selectors.h: Remove obsolete comment. + * include/parallel/for_each_selectors.h: Remove obsolete comment. 2009-09-26 Paolo Carlini * doc/html/ext/lwg-active.html: Update to Revision R66. * doc/html/ext/lwg-closed.html: Likewise. - * doc/html/ext/lwg-defects: Likewise. + * doc/html/ext/lwg-defects: Likewise. * doc/xml/manual/intro.xml: Update entry for DR 853. @@ -17,64 +24,64 @@ 2009-09-25 Johannes Singler - * include/parallel/include/parallel/checkers.h - (is_sorted_failure, is_sorted_print_failures): Remove (unused). - (__is_sorted): Remove default parameter for _Compare; remove - inappropriate printf. + * include/parallel/include/parallel/checkers.h + (is_sorted_failure, is_sorted_print_failures): Remove (unused). + (__is_sorted): Remove default parameter for _Compare; remove + inappropriate printf. 2009-09-25 Johannes Singler - * include/parallel/base.h: Comment on presence of min/max duplicates. + * include/parallel/base.h: Comment on presence of min/max duplicates. 2009-09-25 Johannes Singler - * include/parallel/partition.h (__parallel_nth_element): - Correct comment. + * include/parallel/partition.h (__parallel_nth_element): + Correct comment. 2009-09-24 Johannes Singler - * include/parallel/algo.h: Uglify internal identifiers; - correct line breaks. - * include/parallel/for_each.h: Likewise. - * include/parallel/numeric: Likewise. - * include/parallel/omp_loop.h: Likewise. - * include/parallel/omp_loop_static.h: Likewise. - * include/parallel/par_loop.h: Likewise. - * include/parallel/workstealing.h: Likewise. + * include/parallel/algo.h: Uglify internal identifiers; + correct line breaks. + * include/parallel/for_each.h: Likewise. + * include/parallel/numeric: Likewise. + * include/parallel/omp_loop.h: Likewise. + * include/parallel/omp_loop_static.h: Likewise. + * include/parallel/par_loop.h: Likewise. + * include/parallel/workstealing.h: Likewise. 2009-09-24 Johannes Singler - * include/parallel/base.h (_EqualFromLess): Move _Compare template - parameter to the end as of others. - * include/parallel/algobase.h - (__lexicographical_compare_switch): Likewise. + * include/parallel/base.h (_EqualFromLess): Move _Compare template + parameter to the end as of others. + * include/parallel/algobase.h + (__lexicographical_compare_switch): Likewise. 2009-09-23 Johannes Singler - * include/parallel/algobase.h: Uglify internal identifiers; - correct line breaks. - * include/parallel/algo.h: Likewise. - * include/parallel/base.h: Likewise. - * include/parallel/equally_split.h: Likewise. - * include/parallel/find.h: Likewise. - * include/parallel/find_selectors.h: Likewise. - * include/parallel/for_each_selectors.h: Likewise. - * include/parallel/list_partition.h: Likewise. - * include/parallel/losertree.h: Likewise. - * include/parallel/merge.h: Likewise. - * include/parallel/multiseq_selection.h: Likewise. - * include/parallel/multiway_merge.h: Likewise. - * include/parallel/multiway_mergesort.h: Likewise. - * include/parallel/numeric: Likewise. - * include/parallel/numericfwd.h: Likewise. - * include/parallel/omp_loop.h: Likewise. - * include/parallel/omp_loop_static.h: Likewise. - * include/parallel/par_loop.h: Likewise. - * include/parallel/partition.h: Likewise. - * include/parallel/random_shuffle.h: Likewise. - * include/parallel/search.h: Likewise. - * include/parallel/sort.h: Likewise. - * include/parallel/workstealing.h: Likewise. + * include/parallel/algobase.h: Uglify internal identifiers; + correct line breaks. + * include/parallel/algo.h: Likewise. + * include/parallel/base.h: Likewise. + * include/parallel/equally_split.h: Likewise. + * include/parallel/find.h: Likewise. + * include/parallel/find_selectors.h: Likewise. + * include/parallel/for_each_selectors.h: Likewise. + * include/parallel/list_partition.h: Likewise. + * include/parallel/losertree.h: Likewise. + * include/parallel/merge.h: Likewise. + * include/parallel/multiseq_selection.h: Likewise. + * include/parallel/multiway_merge.h: Likewise. + * include/parallel/multiway_mergesort.h: Likewise. + * include/parallel/numeric: Likewise. + * include/parallel/numericfwd.h: Likewise. + * include/parallel/omp_loop.h: Likewise. + * include/parallel/omp_loop_static.h: Likewise. + * include/parallel/par_loop.h: Likewise. + * include/parallel/partition.h: Likewise. + * include/parallel/random_shuffle.h: Likewise. + * include/parallel/search.h: Likewise. + * include/parallel/sort.h: Likewise. + * include/parallel/workstealing.h: Likewise. 2009-09-21 Gerald Pfeifer @@ -108,150 +115,150 @@ 2009-09-17 Johannes Singler - * include/parallel/algobase.h: Replace tabs by spaces; - correct line breaks. - * include/parallel/algorithmfwd.h: Likewise. - * include/parallel/balanced_quicksort.h: Likewise. - * include/parallel/base.h: Likewise. - * include/parallel/checkers.h: Likewise. - * include/parallel/compatibility.h: Likewise. - * include/parallel/equally_split.h: Likewise. - * include/parallel/find.h: Likewise. - * include/parallel/for_each.h: Likewise. - * include/parallel/for_each_selectors.h: Likewise. - * include/parallel/iterator.h: Likewise. - * include/parallel/list_partition.h: Likewise. - * include/parallel/losertree.h: Likewise. - * include/parallel/merge.h: Likewise. - * include/parallel/multiseq_selection.h: Likewise. - * include/parallel/multiway_merge.h: Likewise. - * include/parallel/multiway_mergesort.h: Likewise. - * include/parallel/numeric: Likewise. - * include/parallel/numericfwd.h: Likewise. - * include/parallel/omp_loop.h: Likewise. - * include/parallel/omp_loop_static.h: Likewise. - * include/parallel/par_loop.h: Likewise. - * include/parallel/partial_sum.h: Likewise. - * include/parallel/partition.h: Likewise. - * include/parallel/queue.h: Likewise. - * include/parallel/quicksort.h: Likewise. - * include/parallel/random_number.h: Likewise. - * include/parallel/random_shuffle.h: Likewise. - * include/parallel/search.h: Likewise. - * include/parallel/set_operations.h: Likewise. - * include/parallel/settings.h: Likewise. - * include/parallel/sort.h: Likewise. - * include/parallel/types.h: Likewise. - * include/parallel/unique_copy.h: Likewise. - * include/parallel/workstealing.h: Likewise. - * include/parallel/algo.h: Likewise; - shorten _ForwardIterator to _FIterator. - * include/parallel/find_selectors.h: Likewise. + * include/parallel/algobase.h: Replace tabs by spaces; + correct line breaks. + * include/parallel/algorithmfwd.h: Likewise. + * include/parallel/balanced_quicksort.h: Likewise. + * include/parallel/base.h: Likewise. + * include/parallel/checkers.h: Likewise. + * include/parallel/compatibility.h: Likewise. + * include/parallel/equally_split.h: Likewise. + * include/parallel/find.h: Likewise. + * include/parallel/for_each.h: Likewise. + * include/parallel/for_each_selectors.h: Likewise. + * include/parallel/iterator.h: Likewise. + * include/parallel/list_partition.h: Likewise. + * include/parallel/losertree.h: Likewise. + * include/parallel/merge.h: Likewise. + * include/parallel/multiseq_selection.h: Likewise. + * include/parallel/multiway_merge.h: Likewise. + * include/parallel/multiway_mergesort.h: Likewise. + * include/parallel/numeric: Likewise. + * include/parallel/numericfwd.h: Likewise. + * include/parallel/omp_loop.h: Likewise. + * include/parallel/omp_loop_static.h: Likewise. + * include/parallel/par_loop.h: Likewise. + * include/parallel/partial_sum.h: Likewise. + * include/parallel/partition.h: Likewise. + * include/parallel/queue.h: Likewise. + * include/parallel/quicksort.h: Likewise. + * include/parallel/random_number.h: Likewise. + * include/parallel/random_shuffle.h: Likewise. + * include/parallel/search.h: Likewise. + * include/parallel/set_operations.h: Likewise. + * include/parallel/settings.h: Likewise. + * include/parallel/sort.h: Likewise. + * include/parallel/types.h: Likewise. + * include/parallel/unique_copy.h: Likewise. + * include/parallel/workstealing.h: Likewise. + * include/parallel/algo.h: Likewise; + shorten _ForwardIterator to _FIterator. + * include/parallel/find_selectors.h: Likewise. 2009-09-16 Johannes Singler - * include/parallel/base.h: Correct some comments accidentally changed - during uglification. - * include/parallel/find.h: Likewise. - * include/parallel/find_selectors.h: Likewise. - * include/parallel/multiway_merge.h: Likewise. - * include/parallel/multiway_mergesort.h: Likewise. - * include/parallel/partial_sum.h: Likewise. - * include/parallel/partition.h: Likewise. - * include/parallel/queue.h: Likewise. - * include/parallel/random_shuffle.h: Likewise. - * include/parallel/settings.h: Likewise. - * include/parallel/sort.h: Likewise. - * include/parallel/tags.h: Likewise. - * include/parallel/workstealing.h: Likewise. + * include/parallel/base.h: Correct some comments accidentally changed + during uglification. + * include/parallel/find.h: Likewise. + * include/parallel/find_selectors.h: Likewise. + * include/parallel/multiway_merge.h: Likewise. + * include/parallel/multiway_mergesort.h: Likewise. + * include/parallel/partial_sum.h: Likewise. + * include/parallel/partition.h: Likewise. + * include/parallel/queue.h: Likewise. + * include/parallel/random_shuffle.h: Likewise. + * include/parallel/settings.h: Likewise. + * include/parallel/sort.h: Likewise. + * include/parallel/tags.h: Likewise. + * include/parallel/workstealing.h: Likewise. 2009-09-16 Johannes Singler - * include/parallel/base.h (_EqualFromLess): - Correct uglification of member variables and method arguments. - * include/parallel/balanced_quicksort.h (_QSBThreadLocal): Likewise. - * include/parallel/find_selectors.h (__find_first_of_selector): - Likewise. - * include/parallel/iterator.h (_IteratorTriple): Likewise. - * include/parallel/multiseq_selection.h - (_Lexicographic, _LexicographicReverse): Likewise. - * include/parallel/multiway_mergesort.h (_Piece, _PMWMSSortingData): - Likewise. - * include/parallel/random_number.h (_RandomNumber): Likewise. - * include/parallel/random_shuffle.h (_DRandomShufflingGlobalData): - Likewise. - * include/parallel/set_operations.h (__symmetric_difference_func, - __difference_func, __intersection_func, __union_func, - parallel_set_union, parallel_set_intersection, parallel_set_difference, - parallel_set_symmetric_difference): Likewise. - * include/parallel/tags.h (parallel_tag): Likewise. - * include/parallel/workstealing.h (_Job): Likewise. - * include/parallel/multiway_merge.h - (__multiway_merge_k_variant_sentinel_switch:operator()) - correct uglification of _*LoserTree*. - * include/parallel/losertree.h (_*LoserTree*): Likewise; correct - uglification of member variables and method arguments. - * include/parallel/par_loop.h: Correct uglification of finish_iterator. - * include/parallel/for_each_selectors.h: Likewise. - * include/parallel/omp_loop.h: Likewise. - * include/parallel/algo.h: Likewise; uglify c_rand_number. + * include/parallel/base.h (_EqualFromLess): + Correct uglification of member variables and method arguments. + * include/parallel/balanced_quicksort.h (_QSBThreadLocal): Likewise. + * include/parallel/find_selectors.h (__find_first_of_selector): + Likewise. + * include/parallel/iterator.h (_IteratorTriple): Likewise. + * include/parallel/multiseq_selection.h + (_Lexicographic, _LexicographicReverse): Likewise. + * include/parallel/multiway_mergesort.h (_Piece, _PMWMSSortingData): + Likewise. + * include/parallel/random_number.h (_RandomNumber): Likewise. + * include/parallel/random_shuffle.h (_DRandomShufflingGlobalData): + Likewise. + * include/parallel/set_operations.h (__symmetric_difference_func, + __difference_func, __intersection_func, __union_func, + parallel_set_union, parallel_set_intersection, parallel_set_difference, + parallel_set_symmetric_difference): Likewise. + * include/parallel/tags.h (parallel_tag): Likewise. + * include/parallel/workstealing.h (_Job): Likewise. + * include/parallel/multiway_merge.h + (__multiway_merge_k_variant_sentinel_switch:operator()) + correct uglification of _*LoserTree*. + * include/parallel/losertree.h (_*LoserTree*): Likewise; correct + uglification of member variables and method arguments. + * include/parallel/par_loop.h: Correct uglification of finish_iterator. + * include/parallel/for_each_selectors.h: Likewise. + * include/parallel/omp_loop.h: Likewise. + * include/parallel/algo.h: Likewise; uglify c_rand_number. 2009-09-16 Johannes Singler - * include/parallel/base.h (_PseudoSequenceIterator, _PseudoSequence): - Replace redundant _Self. - * include/parallel/iterator.h (_IteratorPair, _IteratorTriple): - Replace redundant _Self. - * include/parallel/algo.h: Correct accidental _Self in comments. - * include/parallel/losertree.h: Likewise. - * include/parallel/multiway_merge.h: Likewise. - * include/parallel/random_shuffle.h: Likewise. + * include/parallel/base.h (_PseudoSequenceIterator, _PseudoSequence): + Replace redundant _Self. + * include/parallel/iterator.h (_IteratorPair, _IteratorTriple): + Replace redundant _Self. + * include/parallel/algo.h: Correct accidental _Self in comments. + * include/parallel/losertree.h: Likewise. + * include/parallel/multiway_merge.h: Likewise. + * include/parallel/random_shuffle.h: Likewise. 2009-09-16 Johannes Singler - * include/parallel/algobase.h: Uglify internal identifiers. - * include/parallel/algo.h: Likewise. - * include/parallel/algorithm: Likewise. - * include/parallel/algorithmfwd.h: Likewise. - * include/parallel/balanced_quicksort.h: Likewise. - * include/parallel/base.h: Likewise. - * include/parallel/basic_iterator.h: Likewise. - * include/parallel/checkers.h: Likewise. - * include/parallel/compatibility.h: Likewise. - * include/parallel/compiletime_settings.: Likewise. - * include/parallel/equally_split.h: Likewise. - * include/parallel/features.h: Likewise. - * include/parallel/find.h: Likewise. - * include/parallel/find_selectors.h: Likewise. - * include/parallel/for_each.h: Likewise. - * include/parallel/for_each_selectors.h: Likewise. - * include/parallel/iterator.h: Likewise. - * include/parallel/list_partition.h: Likewise. - * include/parallel/losertree.h: Likewise. - * include/parallel/merge.h: Likewise. - * include/parallel/multiseq_selection.h: Likewise. - * include/parallel/multiway_merge.h: Likewise. - * include/parallel/multiway_mergesort.h: Likewise. - * include/parallel/numeric: Likewise. - * include/parallel/numericfwd.h: Likewise. - * include/parallel/omp_loop.h: Likewise. - * include/parallel/omp_loop_static.h: Likewise. - * include/parallel/parallel.h: Likewise. - * include/parallel/par_loop.h: Likewise. - * include/parallel/partial_sum.h: Likewise. - * include/parallel/partition.h: Likewise. - * include/parallel/queue.h: Likewise. - * include/parallel/quicksort.h: Likewise. - * include/parallel/random_number.h: Likewise. - * include/parallel/random_shuffle.h: Likewise. - * include/parallel/search.h: Likewise. - * include/parallel/set_operations.h: Likewise. - * include/parallel/settings.h: Likewise. - * include/parallel/sort.h: Likewise. - * include/parallel/tags.h: Likewise. - * include/parallel/types.h: Likewise. - * include/parallel/unique_copy.h: Likewise. - * include/parallel/workstealing.h: Likewise. + * include/parallel/algobase.h: Uglify internal identifiers. + * include/parallel/algo.h: Likewise. + * include/parallel/algorithm: Likewise. + * include/parallel/algorithmfwd.h: Likewise. + * include/parallel/balanced_quicksort.h: Likewise. + * include/parallel/base.h: Likewise. + * include/parallel/basic_iterator.h: Likewise. + * include/parallel/checkers.h: Likewise. + * include/parallel/compatibility.h: Likewise. + * include/parallel/compiletime_settings.: Likewise. + * include/parallel/equally_split.h: Likewise. + * include/parallel/features.h: Likewise. + * include/parallel/find.h: Likewise. + * include/parallel/find_selectors.h: Likewise. + * include/parallel/for_each.h: Likewise. + * include/parallel/for_each_selectors.h: Likewise. + * include/parallel/iterator.h: Likewise. + * include/parallel/list_partition.h: Likewise. + * include/parallel/losertree.h: Likewise. + * include/parallel/merge.h: Likewise. + * include/parallel/multiseq_selection.h: Likewise. + * include/parallel/multiway_merge.h: Likewise. + * include/parallel/multiway_mergesort.h: Likewise. + * include/parallel/numeric: Likewise. + * include/parallel/numericfwd.h: Likewise. + * include/parallel/omp_loop.h: Likewise. + * include/parallel/omp_loop_static.h: Likewise. + * include/parallel/parallel.h: Likewise. + * include/parallel/par_loop.h: Likewise. + * include/parallel/partial_sum.h: Likewise. + * include/parallel/partition.h: Likewise. + * include/parallel/queue.h: Likewise. + * include/parallel/quicksort.h: Likewise. + * include/parallel/random_number.h: Likewise. + * include/parallel/random_shuffle.h: Likewise. + * include/parallel/search.h: Likewise. + * include/parallel/set_operations.h: Likewise. + * include/parallel/settings.h: Likewise. + * include/parallel/sort.h: Likewise. + * include/parallel/tags.h: Likewise. + * include/parallel/types.h: Likewise. + * include/parallel/unique_copy.h: Likewise. + * include/parallel/workstealing.h: Likewise. 2009-09-14 Paolo Carlini @@ -268,11 +275,11 @@ 2009-09-11 Johannes Singler - * include/parallel/multiway_merge.h - (multiway_merge_exact_splitting): Deallocate borders correctly. - (parallel_multiway_merge): Remove unnecessarily complicated - allocation, random access iterators are default-constructible; - deallocate ne_seqs correctly. + * include/parallel/multiway_merge.h + (multiway_merge_exact_splitting): Deallocate borders correctly. + (parallel_multiway_merge): Remove unnecessarily complicated + allocation, random access iterators are default-constructible; + deallocate ne_seqs correctly. 2009-09-11 Paolo Carlini @@ -308,7 +315,7 @@ * configure: Rebuilt with modified libtool.m4. 2009-09-07 H.J. Lu - Ralf Wildenhues + Ralf Wildenhues PR libstdc++/41280 * configure.ac: Run "${multi_basedir}/config-ml.in" to generate diff --git a/libstdc++-v3/libsupc++/eh_terminate.cc b/libstdc++-v3/libsupc++/eh_terminate.cc index e03c037412a..f87f7b51d61 100644 --- a/libstdc++-v3/libsupc++/eh_terminate.cc +++ b/libstdc++-v3/libsupc++/eh_terminate.cc @@ -34,12 +34,13 @@ using namespace __cxxabiv1; void __cxxabiv1::__terminate (std::terminate_handler handler) throw () { - try { - handler (); - std::abort (); - } catch (...) { - std::abort (); - } + __try + { + handler (); + std::abort (); + } + __catch(...) + { std::abort (); } } void diff --git a/libstdc++-v3/libsupc++/new_opnt.cc b/libstdc++-v3/libsupc++/new_opnt.cc index 766985ee8bd..075934d7b10 100644 --- a/libstdc++-v3/libsupc++/new_opnt.cc +++ b/libstdc++-v3/libsupc++/new_opnt.cc @@ -47,11 +47,11 @@ operator new (std::size_t sz, const std::nothrow_t&) throw() new_handler handler = __new_handler; if (! handler) return 0; - try + __try { handler (); } - catch (bad_alloc &) + __catch(const bad_alloc&) { return 0; } diff --git a/libstdc++-v3/libsupc++/vec.cc b/libstdc++-v3/libsupc++/vec.cc index e44a023049e..286401cdf10 100644 --- a/libstdc++-v3/libsupc++/vec.cc +++ b/libstdc++-v3/libsupc++/vec.cc @@ -95,12 +95,12 @@ namespace __cxxabiv1 reinterpret_cast (base)[-2] = element_size; #endif } - try + __try { __cxa_vec_ctor(base, element_count, element_size, constructor, destructor); } - catch (...) + __catch(...) { { uncatch_exception ue; @@ -136,12 +136,12 @@ namespace __cxxabiv1 reinterpret_cast (base)[-2] = element_size; #endif } - try + __try { __cxa_vec_ctor(base, element_count, element_size, constructor, destructor); } - catch (...) + __catch(...) { { uncatch_exception ue; @@ -164,13 +164,13 @@ namespace __cxxabiv1 std::size_t ix = 0; char *ptr = static_cast(array_address); - try + __try { if (constructor) for (; ix != element_count; ix++, ptr += element_size) constructor(ptr); } - catch (...) + __catch(...) { { uncatch_exception ue; @@ -194,14 +194,14 @@ namespace __cxxabiv1 char *dest_ptr = static_cast(dest_array); char *src_ptr = static_cast(src_array); - try + __try { if (constructor) for (; ix != element_count; ix++, src_ptr += element_size, dest_ptr += element_size) constructor(dest_ptr, src_ptr); } - catch (...) + __catch(...) { { uncatch_exception ue; @@ -226,7 +226,7 @@ namespace __cxxabiv1 ptr += element_count * element_size; - try + __try { while (ix--) { @@ -234,7 +234,7 @@ namespace __cxxabiv1 destructor(ptr); } } - catch (...) + __catch(...) { { uncatch_exception ue; @@ -261,7 +261,7 @@ namespace __cxxabiv1 ptr += element_count * element_size; - try + __try { while (ix--) { @@ -269,7 +269,7 @@ namespace __cxxabiv1 destructor(ptr); } } - catch (...) + __catch(...) { std::terminate(); } @@ -304,12 +304,12 @@ namespace __cxxabiv1 { std::size_t element_count = reinterpret_cast(base)[-1]; base -= padding_size; - try + __try { __cxa_vec_dtor(array_address, element_count, element_size, destructor); } - catch (...) + __catch(...) { { uncatch_exception ue; @@ -339,12 +339,12 @@ namespace __cxxabiv1 std::size_t element_count = reinterpret_cast (base)[-1]; base -= padding_size; size = element_count * element_size + padding_size; - try + __try { __cxa_vec_dtor(array_address, element_count, element_size, destructor); } - catch (...) + __catch(...) { { uncatch_exception ue; diff --git a/libstdc++-v3/libsupc++/vterminate.cc b/libstdc++-v3/libsupc++/vterminate.cc index 3d05df29d57..099ef180773 100644 --- a/libstdc++-v3/libsupc++/vterminate.cc +++ b/libstdc++-v3/libsupc++/vterminate.cc @@ -75,9 +75,9 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) // If the exception is derived from std::exception, we can // give more information. - try { __throw_exception_again; } + __try { __throw_exception_again; } #ifdef __EXCEPTIONS - catch (exception &exc) + __catch(const exception& exc) { char const *w = exc.what(); fputs(" what(): ", stderr); @@ -85,7 +85,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) fputs("\n", stderr); } #endif - catch (...) { } + __catch(...) { } } else fputs("terminate called without an active exception\n", stderr);