* except.c (current_function_has_exception_handlers): New.
* except.h: Declare it.
* sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
Combine tests that disable all sibcalls for the function.
From-SVN: r51054
2002-03-19 Paolo Carlini <pcarlini@unitus.it>
Ulrich Drepper <drepper@redhat.com>
* src/locale-inst.cc (__convert_from_v): Add an additional
__size parameter in the declarations.
* include/bits/locale_facets.tcc
(__convert_from_v): When available (that is,
_GLIBCPP_USE_C99 defined) use snprintf instead of sprintf.
(num_put::_M_convert_float): Depending on _GLIBCPP_USE_C99
being defined or not, call and use __convert_from_v in the
appropriate way.
(num_put::_M_convert_int): Same here.
(money_put::do_put(long double)): Same here.
Co-Authored-By: Ulrich Drepper <drepper@redhat.com>
From-SVN: r51050
* cppmacro.c (cpp_macro_definition): Emit a space after the macro
name, even if the replacement list contains no tokens, as required
by Dwarf.
From-SVN: r51045
2002-03-19 Steve Ellcey <sje@cup.hp.com>
* acinclude.m4 (GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS): Define
GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS to set LIBUNWIND_FLAG if
--enable-libunwind-exceptions is set.
* configure.in (GLIBCPP_ENABLE_LIBUNWIND_EXCEPTIONS): Call new
macro to check for libunwind.
* configure: Regenerate.
* src/Makefile.am (libstdc___la_LDFLAGS): Add
LIBUNWIND_FLAG to libstdc link line.
* src/Makefile.in: Regenerate.
From-SVN: r51035
2002-03-18 Paolo Carlini <pcarlini@unitus.it>
* include/bits/locale_facets.tcc
(money_put::do_put(long double)): Fix dimensioning of
temporary buffers to avoid risk of overruns.
(money_put::do_put(string)): Same for the buffer used to
add the grouping chars.
* testsuite/22_locale/money_put_members_char.cc: Add test06.
* testsuite/22_locale/money_put_members_wchar_t.cc: Ditto.
* include/bits/locale_facets.tcc
(collate::do_transform): Simplify.
From-SVN: r51012
* calls.c (precompute_arguments): Do not assume that temporaries
can be destroyed after expanding the argument.
(expand_call): Likewise.
From-SVN: r51011
PR c++/3882
* pt.c (tsubst_decl): Move __PRETTY_FUNCTION__ handling...
(tsubst_expr) [DECL_STMT]: ...here. And substitute the initializer
only after recording the declaration.
From-SVN: r50999
* config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
use %gprel for symbols that are going to be placed in linkonce
sections.
From-SVN: r50986
* config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
RETURN_ADDRESS_POINTER_REGNUM to $ra.
(CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
not needed. Disregard leaf_function_p().
(INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
mips16 frame pointer.
* config/mips/mips.md (store ra): Only to small SP offsets.
2001-08-22 Graham Stott <grahams@redhat.com>
* config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
return a REG rtx for the return address register.
From-SVN: r50985
PR target/4863
* arm.md (tablejump): Make this a define_expand. For PIC add the
offset to the base of the table.
(thumb_tablejump): Matcher for Thumb tablejump insn.
* config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
as the difference of two labels.
* config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
* config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
tables in the code.
* config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
* arm.c (get_jump_table_size): If the table is not in the text
section, return zero.
From-SVN: r50962
* arm.md (tablejump): Make this a define_expand. For PIC add the
offset to the base of the table.
(thumb_tablejump): Matcher for Thumb tablejump insn.
* config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
as the difference of two labels.
* config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
* config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
tables in the code.
* config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
* arm.c (get_jump_table_size): If the table is not in the text
section, return zero.
From-SVN: r50960
2002-03-15 Philipp Thomas <pthomas@suse.de>
* include/backward/hash_map.h: hash, hashtable, hash_map and
hash_multimap are in namespace __gnu_cxx.
include/backward/hash_set.h: hash, hashtable, hash_set and
hash_multiset are in namespace __gnu_cxx.
include/backward/hashtable.h: hash and hashtable are in
namespace __gnu_cxx.
include/backward/rope.h: char_producer, sequence_buffer,
rope, crope and wrope are in namespace __gnu_cxx.
include/backward/slist.h: slist is in namespace __gnu_cxx.
* testsuite/backward/header_hash_map_h.cc
testsuite/backward/header_hash_set_h.cc
testsuite/backward/header_hashtable_h.cc
testsuite/backward/header_rope_h.cc
testsuite/backward/header_slist_h.cc
testsuite/backward/header_tempbuf_h.cc: New tests for
checking that we're using the correct namespace.
From-SVN: r50956