2005-10-07 Janne Blomqvist <jblomqvi@cc.hut.fi>
PR fortran/16339
PR fortran/23363
* io/io.h: Add read and write members to stream, define access
macros.
* io/transfer.c (read_block_direct): New function.
(write_block_direct): New function.
(unformatted_read): Change to use read_block_direct.
(unformatted_write): Change to use write_block_direct.
* io/unix.c: Remove mmap includes and defines.
(writen): Remove.
(readn): Remove.
(reset_stream): New function.
(do_read): New function.
(do_write): New function.
(fd_flush): Change to use do_write() instead of writen().
(fd_alloc_r_at): Change to use do_read().
(fd_seek): Change return type to try, as the prototype. Add check
to avoid syscall overhead if possible.
(fd_read): New function.
(fd_write): New function.
(fd_open): Set pointers for new functions.
(mem_read): New function.
(mem_write): New function.
(open_internal): Set pointers for new functions.
(is_seekable): Clean up comment.
From-SVN: r105101
2005-10-07 Richard Guenther <rguenther@suse.de>
PR middle-end/24227
* fold-const.c (fold_binary): Fix operand types during folding
of X op (A, Y). Evaluation order of the side-effects of
X and A are frontend-defined, so ensure we honour that even for
tcc_comparison class operands; eased by removing duplicate code.
* gcc.c-torture/compile/pr24227.c: New testcase.
From-SVN: r105096
2005-10-07 Jerry DeLisle <jvdelisle@verizon.net>
* io/transfer.c (write_block): Add test for end-of-file condition,
removed from mem_alloc_w_at. (next_record_w): Clean up checks for
NULL pointer returns from s_alloc_w.
* io/unix.c (mem_alloc_w_at): Remove call to generate_error end-of-file.
* io/write.c (write_float): Add checks for NULL pointer returns from
write_block calls. (write_integer): Same.
From-SVN: r105092
2005-10-07 Paolo Carlini <pcarlini@suse.de>
Fix libstdc++/24196 for ext/vstring/rc by returning to the behavior
of basic_string pre-2003-06-13; remove fully-dynamic-string stuff.
* include/ext/rc_string_base.h (_M_refcopy): Move inside the
_Rep class and remove code in macro.
(__rc_string_base()): Construct with _S_empty_rep()._M_refcopy().
(_M_dispose, _M_leak_hard): Remove code in macro.
(_S_construct): Return _S_empty_rep()._M_refcopy() for empty string.
(_M_grab): Adjust.
* include/ext/rc_string_base.h (_Rep::_M_refdata()): Minor tweak,
mark throw().
From-SVN: r105090
2005-10-06 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/22216
PR middle-end/23651
* cfgexpand.c (tree_expand_cfg): After expanding the functions, clear
out return_label and naked_return_label.
From-SVN: r105066
2005-10-06 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/22488
* tree-ssa-structalias.c (check_for_overlaps): New function.
(create_variable_info_for): Use it.
From-SVN: r105052
2005-10-07 Erik Edelmann <erik.edelmann@iki.fi>
fortran/
PR 18568
* resolve.c (find_array_spec): Search through the list of
components in the symbol of the type instead of the symbol of the
variable.
testsuite/
PR 18568
* gfortran.dg/der_pointer_3.f90: New test.
From-SVN: r105039
PR target/23783
* arm.md (call): If the address isn't a SYMBOL_REF or a register,
then force it into a register.
(call_value): Likewise.
From-SVN: r105032
PR 24049
* passes.c (init_optimization_passes): Move pass_lower_vector_ssa
under pass_vectorize. Clear TODO_ggc_collect from the dce pass
under pass_vectorize.
From-SVN: r105029
2005-10-05 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (struct __sso_string_local):
Remove, actually POD types cannot have user defined constructors
(being aggregates) and therefore can always be members of unions.
(class __sso_string_base): Adjust consistently.
From-SVN: r105021
2005-10-05 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/20606
PR middle-end/24069
* reload.c (subst_reloads): When adding a REG_LABEL to a
jump instruction, also update JUMP_LABEL.
From-SVN: r105013
2005-10-05 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/24198
* testsuite/27_io/basic_filebuf/3.cc: Use __gnu_test::pod_ushort
instead.
* testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
* testsuite/27_io/basic_fstream/3.cc: Likewise; run the test.
* testsuite/27_io/basic_ifstream/3.cc: Likewise; run the test.
* testsuite/27_io/basic_ios/3.cc: Likewise.
* testsuite/27_io/basic_iostream/3.cc: Likewise; run the test.
* testsuite/27_io/basic_istream/3.cc: Likewise; run the test.
* testsuite/27_io/basic_istringstream/3.cc: Likewise; run the test.
* testsuite/27_io/basic_ofstream/3.cc: Likewise; run the test.
* testsuite/27_io/basic_ostream/3.cc: Likewise; run the test.
* testsuite/27_io/basic_ostringstream/3.cc: Likewise; run the test.
* testsuite/27_io/basic_streambuf/3.cc: Likewise.
* testsuite/27_io/basic_stringbuf/3.cc: Likewise.
* testsuite/27_io/basic_stringstream/3.cc: Likewise; run the test.
From-SVN: r105010
PR target/23602
* toplev.c (process_options): Warn about unsupported combinations
of unwind tables and omit-frame-pointer.
* config/i386/i386.c (override_options): Similarly. Enable
accumulate-outgoing-args if not explicitly disabled.
testsuite/
* g++.dg/eh/omit-frame-pointer.C: Remove i?86 specific options.
* g++.dg/eh/omit-frame-pointer2.C: Likewise.
libjava/
* configure.host (i?86-*): Set -fomit-frame-pointer in libgcj_flags,
but not BACKTRACESPEC.
(x86_64-*): Similarly. Don't set -ffloat-store in 64-bit mode.
From-SVN: r105009
* vect.md (vec_initv2si): Fix typo of V2SF to V2SI.
Handle big endian vs. small endian.
(vec_initv2sf): Handle big endian vs. small endian.
(*vec_extractv2sf_1): Ditto.
From-SVN: r105008