Age | Commit message (Collapse) | Author | Files | Lines |
|
2007-05-15 Tobias Burnus <burnus@net-b.de>
PR libfortran/31915
* io/transfer.c (unformatted_read): Use proper size for real(10).
(unformatted_write): Ditto.
From-SVN: r124741
|
|
statement)
2007-05-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/31880
* io/unix.c (fd_alloc_r_at): Fix calculation of physical offset.
From-SVN: r124588
|
|
a buffered file)
PR libfortran/31607
* intrinsics/system.c (system_sub): Call flush_all_units.
* io/io.h (flush_all_units): Move prototype to libgfortran.h.
* libgfortran.h (flush_all_units): Add prototype.
From-SVN: r124510
|
|
2007-05-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/31201
* runtime/error.c (runtime_error_at): New function.
(generate_error): Export this function.
* gfortran.map: Add _gfortran_generate_error and
_gfortran_runtime_error_at.
* libgfortran.h: Add comment to reference error codes in front end.
(library_start): Locate prototype with library_end macro and add
a new comment. Add prototype for runtime_error_at. Export prototype for
generate_error.
* io/lock.c (library_start): Fix check for error condition.
* io/transfer.c (data_transfer_init): Add library check.
From-SVN: r124479
|
|
gcc/fortran:
2007-05-04 Daniel Franke <franke.daniel@gmail.com>
PR fortran/22539
* intrinsic.c (add_subroutines): Added FSEEK.
* intrinsic.h (gfc_resolve_fseek_sub, gfc_check_fseek_sub): New.
* iresolve.c (gfc_resolve_fseek_sub): New.
* check.c (gfc_check_fseek_sub): New.
* intrinsic.texi (FSEEK): Updated.
gcc/testsuite:
2007-05-01 Daniel Franke <franke.daniel@gmail.com>
PR fortran/22539
* gfortran.dg/fseek.f90: New test.
libgfortran:
2007-05-04 Daniel Franke <franke.daniel@gmail.com>
PR fortran/22539
* io/intrinsics.c (fseek_sub): New.
* io/unix.c (fd_fseek): Change logical and physical offsets only
if seek succeeds.
* gfortran.map (fseek_sub): New.
From-SVN: r124437
|
|
PR libfortran/31210
* io/transfer.c (transfer_character): Avoid passing a NULL
pointer as source to the transfer routines, if the string length
is zero.
From-SVN: r124428
|
|
2007-04-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/31501
* io/list_read.c (next_char): Fix whitespace.
* io/io.h: Remove prototypes and define macros for is_array_io,
is_stream_io, and is_internal_unit.
* io/unit.c (is_array_io), (is_internal_unit), (is_stream_io): Delete
these functions.
* io/transfer.c (read_sf): Change handling of internal_unit to make a
single call to salloc_r and use memcpy to transfer the data.
From-SVN: r124266
|
|
2007-04-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/31532
* io/file_pos.c (st_backspace): Set flags.position for end of file
condition and use new function update_position.
(st_endfile): Use new function update_position.
* io/io.h: Add prototype for new function.
* io/inquire.c (inquire_via_unit): If not direct access, set NEXTREC
to zero.
* io/unit.c (update_position): New function to update position info
used by inquire.
* io/transfer.c (next_record): Fix typo and use new function.
From-SVN: r124252
|
|
an unformatted file)
2007-04-23 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/31618
* io/transfer.c (read_block_direct): Instead of calling us_read,
set dtp->u.p.current_unit->current_record = 0 so that pre_position
will read the record marker.
(data_transfer_init): For different error conditions, call
generate_error, then return.
2007-04-23 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/31618
* gfortran.dg/backspace_8.f: New test case.
From-SVN: r124079
|
|
2007-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/open.c (test_endfile): Revert changes for 31052, restoring this
function.
From-SVN: r123842
|
|
* intrinsics/cpu_time.c: Don't include headers already included
by libgfortran.h. Protect inclusion of sys/times.h.
* configure.ac: Remove unneeded checks for finit, stdio.h,
stddef.h, math.h and sys/params.h.
* config/fpu-aix.h: Don't include headers already included by
libgfortran.h.
* config/fpu-sysv.h: Likewise.
* io/write.c: Likewise.
* m4/minloc1.m4: Likewise.
* m4/maxloc1.m4: Likewise.
* m4/fraction.m4: Likewise.
* m4/set_exponent.m4: Likewise.
* m4/spacing.m4: Likewise.
* m4/minval.m4: Likewise.
* m4/maxval.m4: Likewise.
* m4/exponent.m4: Likewise.
* m4/nearest.m4: Likewise.
* m4/minloc0.m4: Likewise.
* m4/maxloc0.m4: Likewise.
* m4/rrspacing.m4: Likewise.
* runtime/main.c: Likewise.
* runtime/error.c: Likewise.
* intrinsics/system_clock.c: Likewise.
* intrinsics/etime.c: Likewise.
* intrinsics/stat.c: Likewise.
* intrinsics/date_and_time.c: Likewise.
* intrinsics/env.c: Likewise.
* intrinsics/kill.c: Likewise.
* intrinsics/getXid.c: Likewise.
* intrinsics/chmod.c: Likewise.
* intrinsics/args.c: Likewise.
* intrinsics/c99_functions.c: Likewise.
* generated/minval_r8.c: Regenerate.
* generated/maxloc1_4_r8.c: Regenerate.
* generated/minloc1_16_r16.c: Regenerate.
* generated/maxval_i2.c: Regenerate.
* generated/maxloc1_8_i4.c: Regenerate.
* generated/exponent_r16.c: Regenerate.
* generated/maxloc0_4_r4.c: Regenerate.
* generated/fraction_r16.c: Regenerate.
* generated/fraction_r4.c: Regenerate.
* generated/minloc0_4_r16.c: Regenerate.
* generated/minloc0_4_i1.c: Regenerate.
* generated/maxloc0_4_r16.c: Regenerate.
* generated/maxloc0_4_i2.c: Regenerate.
* generated/minloc1_8_r16.c: Regenerate.
* generated/maxloc1_8_r16.c: Regenerate.
* generated/set_exponent_r8.c: Regenerate.
* generated/maxloc0_8_i8.c: Regenerate.
* generated/minloc1_4_r8.c: Regenerate.
* generated/maxloc1_16_r16.c: Regenerate.
* generated/minloc1_16_i4.c: Regenerate.
* generated/maxloc1_16_i4.c: Regenerate.
* generated/minloc0_16_i8.c: Regenerate.
* generated/maxloc0_16_i8.c: Regenerate.
* generated/nearest_r8.c: Regenerate.
* generated/spacing_r16.c: Regenerate.
* generated/maxval_r16.c: Regenerate.
* generated/minloc1_8_i4.c: Regenerate.
* generated/minloc0_16_i16.c: Regenerate.
* generated/minloc0_4_r4.c: Regenerate.
* generated/set_exponent_r10.c: Regenerate.
* generated/rrspacing_r10.c: Regenerate.
* generated/minloc0_4_i2.c: Regenerate.
* generated/maxloc0_8_i1.c: Regenerate.
* generated/minloc0_8_i8.c: Regenerate.
* generated/spacing_r4.c: Regenerate.
* generated/minloc1_16_r10.c: Regenerate.
* generated/minloc0_16_i1.c: Regenerate.
* generated/maxloc0_16_i1.c: Regenerate.
* generated/maxloc1_8_r8.c: Regenerate.
* generated/minval_i16.c: Regenerate.
* generated/exponent_r10.c: Regenerate.
* generated/maxval_i4.c: Regenerate.
* generated/minval_i8.c: Regenerate.
* generated/maxloc1_4_i8.c: Regenerate.
* generated/fraction_r10.c: Regenerate.
* generated/maxloc0_16_i16.c: Regenerate.
* generated/maxloc0_8_r4.c: Regenerate.
* generated/rrspacing_r8.c: Regenerate.
* generated/minloc1_4_i16.c: Regenerate.
* generated/minloc0_4_r10.c: Regenerate.
* generated/maxloc1_4_i16.c: Regenerate.
* generated/minloc0_8_i16.c: Regenerate.
* generated/maxloc0_4_r10.c: Regenerate.
* generated/maxloc0_8_i16.c: Regenerate.
* generated/minloc1_8_r10.c: Regenerate.
* generated/minloc0_16_r4.c: Regenerate.
* generated/maxloc1_8_r10.c: Regenerate.
* generated/maxloc0_16_r4.c: Regenerate.
* generated/minloc1_16_r8.c: Regenerate.
* generated/minloc0_8_i1.c: Regenerate.
* generated/maxloc0_4_i4.c: Regenerate.
* generated/maxloc1_16_r8.c: Regenerate.
* generated/maxloc0_8_i2.c: Regenerate.
* generated/nearest_r16.c: Regenerate.
* generated/maxloc1_16_r10.c: Regenerate.
* generated/minloc0_16_i2.c: Regenerate.
* generated/minloc1_8_r8.c: Regenerate.
* generated/maxloc0_16_i2.c: Regenerate.
* generated/exponent_r4.c: Regenerate.
* generated/spacing_r10.c: Regenerate.
* generated/maxval_r10.c: Regenerate.
* generated/minval_i1.c: Regenerate.
* generated/maxloc1_4_i1.c: Regenerate.
* generated/minloc1_4_i8.c: Regenerate.
* generated/minloc0_8_r4.c: Regenerate.
* generated/minloc0_16_r16.c: Regenerate.
* generated/minloc0_4_i4.c: Regenerate.
* generated/minloc0_8_i2.c: Regenerate.
* generated/minval_r4.c: Regenerate.
* generated/maxloc1_4_r4.c: Regenerate.
* generated/maxval_r8.c: Regenerate.
* generated/minval_r16.c: Regenerate.
* generated/minloc1_4_i1.c: Regenerate.
* generated/minval_i2.c: Regenerate.
* generated/maxloc1_4_i2.c: Regenerate.
* generated/maxloc1_8_i8.c: Regenerate.
* generated/maxloc0_4_r8.c: Regenerate.
* generated/maxloc0_16_r16.c: Regenerate.
* generated/minloc1_4_r16.c: Regenerate.
* generated/fraction_r8.c: Regenerate.
* generated/maxloc1_4_r16.c: Regenerate.
* generated/set_exponent_r4.c: Regenerate.
* generated/minloc0_8_r16.c: Regenerate.
* generated/maxloc0_8_r16.c: Regenerate.
* generated/nearest_r10.c: Regenerate.
* generated/maxloc0_8_i4.c: Regenerate.
* generated/minloc1_4_r4.c: Regenerate.
* generated/minloc0_16_i4.c: Regenerate.
* generated/maxloc0_16_i4.c: Regenerate.
* generated/nearest_r4.c: Regenerate.
* generated/minloc1_16_i8.c: Regenerate.
* generated/maxloc1_16_i8.c: Regenerate.
* generated/minloc1_4_i2.c: Regenerate.
* generated/maxloc1_8_i1.c: Regenerate.
* generated/minloc0_16_r10.c: Regenerate.
* generated/minloc1_8_i8.c: Regenerate.
* generated/minloc0_4_r8.c: Regenerate.
* generated/minloc0_8_i4.c: Regenerate.
* generated/minloc1_16_i16.c: Regenerate.
* generated/spacing_r8.c: Regenerate.
* generated/maxloc1_8_r4.c: Regenerate.
* generated/minloc1_16_i1.c: Regenerate.
* generated/maxloc1_16_i1.c: Regenerate.
* generated/minval_r10.c: Regenerate.
* generated/minval_i4.c: Regenerate.
* generated/minloc1_8_i1.c: Regenerate.
* generated/maxloc1_4_i4.c: Regenerate.
* generated/maxloc1_8_i2.c: Regenerate.
* generated/maxval_i8.c: Regenerate.
* generated/maxloc0_16_r10.c: Regenerate.
* generated/rrspacing_r4.c: Regenerate.
* generated/minloc0_4_i16.c: Regenerate.
* generated/maxloc0_8_r8.c: Regenerate.
* generated/maxloc0_4_i16.c: Regenerate.
* generated/minloc1_4_r10.c: Regenerate.
* generated/minloc1_8_i16.c: Regenerate.
* generated/maxloc1_4_r10.c: Regenerate.
* generated/minloc0_8_r10.c: Regenerate.
* generated/maxloc1_8_i16.c: Regenerate.
* generated/maxloc0_8_r10.c: Regenerate.
* generated/minloc1_16_r4.c: Regenerate.
* generated/maxloc1_16_r4.c: Regenerate.
* generated/minloc0_16_r8.c: Regenerate.
* generated/maxloc0_16_r8.c: Regenerate.
* generated/maxloc0_4_i8.c: Regenerate.
* generated/maxloc1_16_i16.c: Regenerate.
* generated/minloc1_8_r4.c: Regenerate.
* generated/minloc1_16_i2.c: Regenerate.
* generated/maxloc1_16_i2.c: Regenerate.
* generated/maxval_i16.c: Regenerate.
* generated/exponent_r8.c: Regenerate.
* generated/minloc1_4_i4.c: Regenerate.
* generated/maxval_i1.c: Regenerate.
* generated/minloc1_8_i2.c: Regenerate.
* generated/minloc0_8_r8.c: Regenerate.
* generated/set_exponent_r16.c: Regenerate.
* generated/maxloc0_4_i1.c: Regenerate.
* generated/rrspacing_r16.c: Regenerate.
* generated/minloc0_4_i8.c: Regenerate.
* generated/maxval_r4.c: Regenerate.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r123623
|
|
preceded by a comma or a slash)
2007-04-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31395
* io/format.c (parse_format_list): Fix parsing.
From-SVN: r123620
|
|
past EOF)
2007-04-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31052
* io/open.c (test_endfile): Delete this function.
(edit_modes): Delete call to test_endfile.
(new_unit): Likewise.
* io/io.h: Delete prototype for test_endfile.
* io/transfer.c (next_record_r): Remove use of test_endfile.
(st_read): Add test for end file condition and adjust status.
From-SVN: r123403
|
|
write, direct access file)
2007-04-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31366
* io/transfer.c (read_block_direct): Do not generate error when reading
past EOF on a short record that is less than the RECL= specified.
2007-04-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31207
* io/unit.c (close_unit_1): If there are bytes previously written from
ADVANCE="no", move to the end before closing.
From-SVN: r123401
|
|
past EOF)
2007-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31052
* io/transfer.c (next_record_r): Do not call test_endfile if in namelist
mode.
From-SVN: r123284
|
|
wrong output)
2007-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31199
*io/io.h: Add saved_pos to gfc_unit structure.
*io/open.c (new_unit): Initialize saved_pos.
*io/transfer.c (data_transfer_init): Set max_pos to value in saved_pos.
(next_record_w): Fix whitespace.
(finalze_transfer): Calculate max_pos for ADVANCE="no" and save it for
later use. If not ADVANCE="no" set saved_pos to zero.
From-SVN: r123205
|
|
past EOF)
2007-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31052
* file_pos.c: Update Copyright year.
* io/open.c (test_endfile): Restore test_endfile to fix SPEC regression.
Update Copyright year.
* io/io.h: Same.
* io/unix.c (is_special): Add missing type for this function.
Update Copyright year.
* io/transfer.c (next_record_r): Restore test_endfile.
(st_read): Fix whitespace. Update Copyright year
From-SVN: r123139
|
|
past EOF)
2007-03-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31052
* io/file_position (st_rewind): Fix comments. Remove use of
test_endfile. Don't seek if already at 0 position. Use new is_special
function to set endfile state.
* io/open.c (test_endfile): Delete this function.
* io/io.h: Delete prototype for test_endfile. Add prototype
for is_special.
* io/unix.c (is_special): New function. Fix whitespace.
* io/transfer.c (next_record_r): Remove use of test_endfile.
From-SVN: r123038
|
|
2007-03-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31099
* io/file_pos.c (st_rewind): Don't set bytes_left to zero.
From-SVN: r122970
|
|
2007-03-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31051
* io/transfer.c (formatted_transfer_scalar): Adjust position for pending
spaces when in writing mode. Clean up some formatting.
From-SVN: r122940
|
|
errno is EROFS.
* io/unix.c (regular_file): For ACTION_UNSPECIFIED retry with
O_RDONLY even if errno is EROFS.
From-SVN: r122914
|
|
2007-03-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/31099
* io/open.c (new_unit): Initialize bytes_left and recl_subrecord.
* io/transfer.c (next_record_w): Set bytes left to record length for
sequential unformatted I/O.
(next_record_r): Ditto.
(read_block_direct): Fix test for exceeding bytes_left.
From-SVN: r122763
|
|
2007-02-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/30918
* io/listread.c (namelist_read): Eat comment line.
From-SVN: r122307
|
|
right...)
2007-02-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/30910
* io/write.c (output_float): Add condition of format F only for
special case rounding with zero precision.
From-SVN: r122250
|
|
2007-02-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30284
PR fortran/30626
* trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
from function and make sure that substring lengths are
translated.
(is_aliased_array): Remove static attribute.
* trans.c : Add prototypes for gfc_conv_aliased_arg and
is_aliased_array.
* trans-io.c (set_internal_unit): Add the post block to the
arguments of the function. Use is_aliased_array to check if
temporary is needed; if so call gfc_conv_aliased_arg.
(build_dt): Pass the post block to set_internal_unit and
add to the block after all io activiy is done.
2007-02-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30284
PR fortran/30626
* io/transfer.c (init_loop_spec, next_array_record): Change to
lbound rather than unity base.
2007-02-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30284
* gfortran.dg/arrayio_11.f90.f90: New test.
PR fortran/30626
* gfortran.dg/arrayio_12.f90.f90: New test.
From-SVN: r121500
|
|
2007-01-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
Tobias Burnus <burnus@net-b.de>
PR libfortran/29649
* gfortran.h (gfc_option_t): Add flag_dump_core.
* lang.opt: Add -fdump-core option.
* invoke.texi: Document the new options.
* trans-decl.c (gfc_build_builtin_function_decls): Add new
options to the call to set_std.
* options.c (gfc_init_options, gfc_handle_option): Set the
new options.
2007-01-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
Tobias Burnus <burnus@net-b.de>
PR libfortran/29649
* runtime/environ.c (variable_table): New GFORTRAN_ERROR_DUMPCORE
environment variable.
* runtime/compile_options.c (set_std): Add new argument.
* runtime/error.c (sys_exit): Move from io/unix.c. Add coredump functionality.
* libgfortran.h (options_t): New dump_core and backtrace members.
(sys_exit): Move prototype.
* io/unix.c (sys_exit): Move to runtime/error.c.
* configure.ac: Add check for getrlimit.
* configure: Regenerate.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r120897
|
|
PR libfortran/27107
* runtime/environ.c: Don't include io/io.h.
* runtime/string.c: Don't include io/io.h.
(compare0): Add cast to avoid warning.
* runtime/error.c: Don't include io/io.h.
(st_printf): Move to io/unix.c.
* intrinsics/flush.c: Delete, contents moved to io/intrinsics.c.
* intrinsics/fget.c: Likewise.
* intrinsics/ftell.c: Likewise.
* intrinsics/tty.c: Likewise.
* libgfortran.h (DEFAULT_RECL, notification_std,
get_unformatted_convert, IOPARM_*, st_parameter_common, unit_convert,
DEFAULT_TEMPDIR): New declarations.
* io/io.h (DEFAULT_RECL, notification_std, get_unformatted_convert,
IOPARM_*, st_parameter_common, unit_convert, DEFAULT_TEMPDIR):
Move to libgfortran.h.
* io/unix.c: Add io/unix.h content.
(st_printf): New function.
* io/intrinsics.c: New file.
* io/unix.h: Remove, contents moved into unix.c.
* libtool-version: Update library version to 3.0.0.
* configure.ac: Update library version to 0.3.
* Makefile.am (intrinsics/fget.c, intrinsics/flush.c,
intrinsics/ftell.c, intrinsics/tty.c, libgfortran.h): Remove targets.
* Makefile.in: Regenerate.
* configure: Regenerate.
From-SVN: r120869
|
|
2007-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/30435
* io/list_read.c (finish_separator): Don't call next_record.
(list_formatted_read_scalar): Clean up some comments and whitespace.
(nml_read_obj): Whitespace fix.
From-SVN: r120737
|
|
2007-01-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/30162
* io/unix.c (fd_flush): Don't seek if file is not seekable, defined as
s->file_length == -1.
(fd_alloc_w_at): Do not adjust file_length if file is not seekable.
(fd_seek): If not seekable, just return success.
(fd_truncate): If not seekable, no need to truncate. Return failure if
seek fails and the stream is not a pipe.
(fd_to_stream): Make test for non-seekable file more robust.
From-SVN: r120512
|
|
2006-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/30014
*io/io.h (st_parameter_dt): Change *size and *iolength type to
GFC_IO_INT.
*io/transfer.c (finalize_transfer): Cast dtp->u.p.size_used to
GFC_IO_INT. (iolength_transfer): Cast size * nelems to GFC_IO_INT.
From-SVN: r120234
|
|
array...)
2006-12-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/30145
* io/transfer.c (transfer_array): Check for negative extent.
From-SVN: r119942
|
|
gives EOF instead of ERR)
2006-12-06 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/30009
PR libfortran/30056
* gfortran.dg/read_eof_4.f90: Add tests.
* gfortran.dg/readwrite_unf_direct_eor_1.f90: New test.
* gfortran.dg/unf_read_corrupted_1.f90: New test.
2006-12-06 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/30009
PR libfortran/30056
* libgfortran.h: Add ERROR_CORRUPT_FILE to error_codes.
* runtime/error.c (translate_error): Add handling for
ERROR_CORRUPT_FILE.
* io/transfer.c (read_block_direct): Add comment about
EOR for stream files.
Remove test for no bytes left for direct access files.
Generate an ERROR_SHORT_RECORD if the read was short.
For unformatted sequential files: Check endfile condition.
Remove test for no bytes left. End of file here means
that the file structure has been corrupted. Pre-position
the file for the next record in case of error.
(write_buf): Whitespace fix. Subtract the number of bytes
written from bytes_left.
From-SVN: r119592
|
|
file name)
2006-12-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/30005
* io/open.c: Add errno.h include.
(new_unit): Add new error messages with file name for file open.
From-SVN: r119530
|
|
style))
2006-12-01 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/29568
* gfortran.dg/convert_implied_open.f90: Change to
new default record length.
* gfortran.dg/unf_short_record_1.f90: Adapt to
new error message.
* gfortran.dg/unformatted_subrecords_1.f90: New test.
2006-12-01 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/29568
* gfortran.h (gfc_option_t): Add max_subrecord_length.
(top level): Define MAX_SUBRECORD_LENGTH.
* lang.opt: Add option -fmax-subrecord-length=.
* trans-decl.c: Add new function set_max_subrecord_length.
(gfc_generate_function_code): If we are within the main
program and max_subrecord_length has been set, call
set_max_subrecord_length.
* options.c (gfc_init_options): Add defaults for
max_subrecord_lenght, convert and record_marker.
(gfc_handle_option): Add handling for
-fmax_subrecord_length.
* invoke.texi: Document the new default for
-frecord-marker=<n>.
2006-12-01 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/29568
* libgfortran/libgfortran.h (compile_options_t): Add
record_marker. (top level): Define GFC_MAX_SUBRECORD_LENGTH.
* runtime/compile_options.c (set_record_marker): Change
default to four-byte record marker.
(set_max_subrecord_length): New function.
* runtime/error.c (translate_error): Change error message
for short record on unformatted read.
* io/io.h (gfc_unit): Add recl_subrecord, bytes_left_subrecord
and continued.
* io/file_pos.c (unformatted_backspace): Change default of record
marker size to four bytes. Loop over subrecords.
* io/open.c: Default recl is max_offset. If
compile_options.max_subrecord_length has been set, set set
u->recl_subrecord to its value, to the maximum value otherwise.
* io/transfer.c (top level): Add prototypes for us_read, us_write,
next_record_r_unf and next_record_w_unf.
(read_block_direct): Separate codepaths for unformatted direct
and unformatted sequential. If a recl has been set by the
user, use the number of bytes left for the record if it is smaller
than the read request. Loop over subrecords. Set an error if the
user has set a recl and the read was short.
(write_buf): Separate codepaths for unformatted direct and
unformatted sequential. If a recl has been set by the
user, use the number of bytes left for the record if it is smaller
than the read request. Loop over subrecords. Set an error if the
user has set a recl and the read was short.
(us_read): Add parameter continued (to indicate that bytes_left
should not be intialized). Change default of record marker size
to four bytes. Use subrecord. If the subrecord length is smaller than
zero, this indicates a continuation.
(us_write): Add parameter continued (to indicate that the continued
flag should be set). Use subrecord.
(pre_position): Use 0 for continued on us_write and us_read calls.
(skip_record): New function.
(next_record_r_unf): New function.
(next_record_r): Use next_record_r_unf.
(write_us_marker): Default size for record markers is four bytes.
(next_record_w_unf): New function.
(next_record_w): Use next_record_w_unf.
From-SVN: r119412
|
|
2006-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/io.h (unit_flags): Add new flag has_recl.
* io.open.c (new_unit): Set flag if RECL= was specified.
* io/transfer.c (us_write): If flag set, leave recl as initialized by
new_unit.
From-SVN: r119087
|
|
* trans-decl.c (gfc_get_symbol_decl): Fix formatting.
* io/open.c (new_unit): Format %d expects an int variable.
* runtime/error.c (show_locus): Format %d expects an int variable.
From-SVN: r118887
|
|
* io/read. (max_value): Hide "int n" in an #ifdef.
From-SVN: r118613
|
|
2006-11-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/29752
* io/transfer.c (finalize_transfer): Flush on ADVANCE_NO.
From-SVN: r118611
|
|
2006-11-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/transfer.c (next_record_w): Fix indentation.
From-SVN: r118508
|
|
2006-11-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/25545
* io/transfer.c (write_block): Cleanup code paths between
stream and non-stream I/O.
(write_buf): Cleanup.
(read_block): Cleanup.
(finalize_transfer): Call next_record for '$' edit descriptor handling
of internal unit. Cleanup code for readability.
From-SVN: r118506
|
|
2006-10-31 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/29627
* libgfortran.h: Add ERROR_SHORT_RECORD
* runtime/error.c (translate_error): Add case
for ERROR_SHORT_RECORD.
* io/transfer.c (read_block_direct): Separate codepaths
for stream and record unformatted I/O. Remove unneeded
tests for standard input, padding and formatted I/O.
If the record is short, read in as much data as possible,
then raise the error.
2006-10-31 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/29627
* gfortran.dg/unf_short_record_1.f90: New test.
From-SVN: r118341
|
|
-std=f95)
2006-10-28 Tobias Burnus <burnus@net-b.de>
PR fortran/29625
* io/transfer.c (formatted_transfer_scalar): Allow binary edit
descriptors for real variables; give error for BOZ edit
descriptor for non-integers when using -std=f*.
From-SVN: r118111
|
|
2006-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/29563
* io/list_read.c (next_char): Fix an error in previous commit.
From-SVN: r118063
|
|
2006-10-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/29563
* io/io.h (st_parameter_dt): Add new flag at_eof.
* io/list_read.c (next_char): Set flag when EOF and return '\n' to
signal EOR. Check flag on next call and jump out.
* io/unit.c (get_internal_unit): Initialize new flag.
From-SVN: r118059
|
|
"\r\n" on some platforms)
2006-10-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/29277
* io/write.c (write_a): Add conversion of LF to CR-LF for systems with
#define HAVE_CRLF.
From-SVN: r117866
|
|
2006-10-16 Tobias Burnus <burnus@net-b.de>
* m4/in_pack.m4: Fixed a typo.
* m4/iforeach.m4: Fixed a typo.
* m4/eoshift1.m4: Fixed a typo.
* m4/eoshift3.m4: Fixed a typo.
* m4/cshift1.m4: Fixed a typo.
* m4/in_unpack.m4: Fixed a typo.
* m4/reshape.m4: Fixed a typo.
* m4/ifunction.m4: Fixed a typo.
* runtime/environ.c: Fixed a typo.
* runtime/in_pack_generic.c: Fixed a typo.
* runtime/in_unpack_generic.c: Fixed a typo.
* runtime/memory.c: Fixed a typo.
* intrinsics/cshift0.c: Fixed a typo.
* intrinsics/cpu_time.c: Fixed a typo.
* intrinsics/pack_generic.c: Fixed a typo.
* intrinsics/unpack_generic.c: Fixed a typo.
* intrinsics/eoshift0.c: Fixed a typo.
* intrinsics/eoshift2.c: Fixed a typo.
* intrinsics/reshape_generic.c: Fixed a typo.
* io/open.c: Fixed a typo.
* io/list_read.c: Fixed a typo.
* io/io.h: Fixed a typo.
* io/transfer.c: Fixed a typo.
* io/write.c: Fixed a typo.
From-SVN: r117857
|
|
"\r\n" on some platforms)
2006-10-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/29277
* io/list_read.c (next_char): Update strm_pos.
(eat_separator): Delete extra call to unget_char.
* io/transfer.c (read_block): Use read_sf for formatted stream I/O.
(next_record_r): Update strm_pos for formatted stream I/O and handle
end-of-record correctly.
(next_record_w): Ditto.
(next_record): Enable next record (r/w) functions and update strm_pos.
(finalize_transfer): Call next_record to finish the record.
From-SVN: r117846
|
|
PR libfortran/27964
* configure.ac: Check for setmode() function.
* configure: Regenerate.
* config.h.in: Regenerate.
* io/unix.c (output_stream): Force stdout to binary mode.
(error_stream): Force stderr to binary mode.
From-SVN: r117166
|
|
2006-09-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/29053
* io.h (gfc_unit): Add variable, strm_pos, to track
STREAM I/O file position.
* file_pos.c (st_rewind): Set strm_pos to beginning.
* open.c (new_unit): Initialize strm_pos.
* read.c (read_x): Bump strm_pos.
* inquire.c (inquire_via_unit): Return strm_pos value.
* transfer.c (read_block),(read_block_direct),(write_block)
(write_buf): Seek to strm_pos - 1. Update strm_pos when done.
(pre_position): Initialize strm_pos.
(data_transfer_init): Set strm_pos if DT_HAS_REC.
(finalize_transfer): Flush file, no need to update strm_pos.
From-SVN: r116970
|
|
format(f3.0))
2006-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/28354
* io/write.c: Check for special case of zero precision in format
and pre-round the real value.
From-SVN: r116502
|