PR optimization/13041
* final.c (frame_pointer_needed): Fix comment.
* reload1.c (reload): Decrease alignment of the frame
pointer if it was used for register allocation.
From-SVN: r73978
PR target/12900
* reg-stack (move_for_stack_reg): New prototype. Return
whether a control flow insn was deleted.
(subst_stack_regs_pat): Likewise, using the information provided
by move_for_stack_reg.
(subst_stack_regs): Likewise, using the information provided
by subst_stack_regs_pat.
(convert_regs_1): Record whether a control flow insn was deleted,
using the information provided by subst_stack_regs. Purge dead
edges only if a control flow insn was deleted.
From-SVN: r73977
PR middle-end/8028
PR middle-end/9890
PR middle-end/11151
PR middle-end/12210
PR middle-end/12503
PR middle-end/12692
* builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
as the base address to copy the memory arguments to.
From-SVN: r73976
* cp-demangle.c (struct d_print_mod): Add templates field.
(d_make_builtin_type): Check for NULL type.
(d_make_extended_operator): Check for NULL name.
(d_make_ctor, d_make_dtor): Likewise.
(d_mangled_name): Add top_level parameter. Change all callers.
(d_encoding): If DMGL_PARAMS is not set, strip off initial
CV-qualifiers.
(d_type): Check some return values we rely on.
(d_bare_function_type, d_array_type): Likewise.
(d_pointer_to_member_type, d_template_args): Likewise.
(d_add_substitution): Fail if argument is NULL.
(d_print_resize): Check whether buf is NULL.
(d_print_comp): Save current templates list with each modifier.
Don't pass the modifier list down when printing a template.
(d_print_cast): Don't pass the modifier list down when printing a
template.
(d_print_mod_list): Temporarily set templates list while printing
a modifier.
(d_print_mod): Check that buf is not NULL before using it.
(d_print_function_type): Print parens if there is no modifier.
(d_init_info): Permit as many substitutions as there are
characters in the mangled name.
* testsuite/demangle-expected: Add two new test cases.
From-SVN: r73970
2003-11-26 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/12297
* include/bits/istream.tcc
(basic_istream::sentry::sentry): Set failbit and eofbit when eof.
* testsuite/27_io/basic_istream/sentry/char/12297.cc: New.
From-SVN: r73968
2003-11-26 Paolo Carlini <pcarlini@suse.de>
Petur Runolfsson <peturr02@ru.is>
PR libstdc++/13171
* include/bits/fstream.tcc (imbue): Relax the conditions under
which the function succeeds: allow for two consecutive calls with
the same name; state dependent encodings are ok even after open
if at the beginning of the file; don't check seekoff return value
(pipes, cin, cout, etc...)
* testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
* testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
correctly use the UTF-8 locale appearing in the PR.
Co-Authored-By: Petur Runolfsson <peturr02@ru.is>
From-SVN: r73954
2003-11-26 Guilhem Lavaux <guilhem@kaffe.org>
Mark Wielaard <mark@klomp.org>
* java/net/URLStreamHandler (parseUrl): Fixed URL parsing
('@' should be checked to distinguish port from userinfo).
(toExternalForm): Add @ userInfo if necessary.
Co-Authored-By: Mark Wielaard <mark@klomp.org>
From-SVN: r73953
* java/net/Socket.java
(implCreated): Dont set default value explicitely, added
documentation.
(inputShutdown): Likewise.
(outputShutdown): Likewise.
(bound): New private member variable.
(bind): Set bound to true.
(close): Set bound to false.
(isBound): Return bound.
* java/net/ServerSocket.java
(bound): New private member variable.
(bind): Set bound to true.
(close): Set bound to false.
(isBound): Return bound.
From-SVN: r73949
* include/bits/locale_facets.h
(__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping,
_M_truename and _M_falsename: the constructor always does
it immediately before the _M_cache call.
From-SVN: r73948
PR target/6466
* config/sparc/sparc-protos.h (compute_frame_size): New prototype.
(sparc_flat_compute_frame_size): Likewise.
(sparc_flat_save_restore): Move prototype...
* config/sparc/sparc.c (sparc_flat_save_restore): ...here.
(save_regs): New prototype.
(build_big_number): Likewise.
(apparent_fsize): Change type to HOST_WIDE_INT.
(actual_fsize): Likewise.
(frame_base_offset): Likewise.
(build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
[TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
to load a 64-bit constant.
(sparc_nonflat_function_prologue): Change string descriptor to
HOST_WIDE_INT_PRINT_DEC. Change offset type to HOST_WIDE_INT.
(output_restore_regs): Change offset type to HOST_WIDE_INT.
(sparc_nonflat_function_epilogue): Change string descriptor to
HOST_WIDE_INT_PRINT_DEC. Use build_big_number.
(output_sibcall): Change size type to HOST_WIDE_INT. Use
build_big_number. Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
(sparc_frame_info): Change types for several components.
(sparc_flat_compute_frame_size): Update types according to previous
change.
(sparc_flat_function_prologue): Change string descriptor to
HOST_WIDE_INT_PRINT_DEC. Change offset type to int. Use
build_big_number.
(sparc_flat_function_epilogue): Change offset type to int.
Rename 'size1' into 'reg_offset1'. Change string descriptor to
HOST_WIDE_INT_PRINT_DEC. Use build_big_number. Change big number
limit to 4096 instead of 4095.
* config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
HOST_WIDE_INT.
Co-Authored-By: Olivier Hainque <hainque@act-europe.fr>
From-SVN: r73942
2003-11-25 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/codecvt_members.cc (codecvt::do_length):
Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
former is very fast, but stops if encounters a NUL.
(codecvt::do_out): Tweaks.
(codecvt::do_in): Tweaks, improve the code dealing with errors.
* testsuite/performance/wchar_t_length.cc: New.
From-SVN: r73934
PR ada/13142
* utils.c (init_gigi_decls): Change name of built-in setjmp to
__builtin_setjmp, since this is apparently needed by recent
non Ada changes.
From-SVN: r73896
2003-11-24 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/codecvt_members.cc (codecvt::do_in):
Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
former is very fast, but stops if encounters a NUL.
(codecvt::do_out): Tweak.
* testsuite/performance/wchar_t_in.cc: New.
2003-11-24 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h
(__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
in order to avoid memory leaks; simplify a bit.
From-SVN: r73893
* config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
using GNU ld.
* config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
whole of the previous STARTFILE_SPEC except crtbegin.o%s.
(IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
(STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
(SUBTARGET_EXTRA_SPECS): Define.
* config/mips/iris6gld.h (LINK_SPEC): Change -init function
to __gcc_init and -fini function to __gcc_fini.
(STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
(ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
(INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
* config/mips/t-iris6gld,
* config/mips/irix6-crti.asm,
* config/mips/irix6-crtn.asm: New files.
From-SVN: r73891