Tobias Schlüter
8dac1b213e
re PR libfortran/19524 (5 times uninitialized var in libgfortran)
...
PR libfortran/19524
* io/read.c (read_f): Don't free uninitialized pointer.
From-SVN: r94232
2005-01-25 22:40:25 +01:00
Paul Brook
2d304c90bd
Update Copyright.
...
From-SVN: r94118
2005-01-23 17:16:43 +00:00
Thomas Koenig
0e69bba9fc
re PR libfortran/19451 (Read after a write with a read only file)
...
2005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/19451
* io/transfer.c (finalize_transfer): Don't do anything if
there is an error condition.
* open_readonly_1.f90: New test.
From-SVN: r94101
2005-01-23 02:18:33 +00:00
David Edelsohn
fbac336391
re PR libfortran/19052 (unit 0 not preconnected to standard error)
...
PR libgfortran/19052
* libgfortran.h (options_t): Add stderr_unit.
* io/io.h (error_stream): Declare.
* io/open.c (new_unit): Do not terminate abnormally if opening
file preconnected to stdin, stdout, or stderr.
* io/unit.c (init_units): Initialize stderr_unit.
* io/unix.c (error_stream): New function.
* runtime/environ.c (GFORTRAN_STDERR_UNIT): New environment variable.
From-SVN: r94090
2005-01-22 19:14:31 -05:00
Thomas Koenig
d02b2c6474
re PR libfortran/18982 (open(status="new") does not generate an error if the file exists)
...
2005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/18982
* io/unix.c (regular_file): No need to change flags->action
if an error occurs. Document this.
No need to call stat() for STATUS_OLD, open() will
fail anyway.
For ACTION_UNSPECIFIED, try open for read-write, then for
read-only if open fails with EACCES, then for write-only
if that fails with EACCES again.
* io/unix.c (open_external): Document changed behavior of
regular_file.
testsuite/
* gfortran.dg/open_new.f90: New file.
From-SVN: r94076
2005-01-22 19:49:18 +00:00
Tobias Schlüter
b8d5e92646
re PR fortran/19194 (Missing RECL parameter in OPEN statement)
...
gcc/fortran/
PR fortran/19194
* trans-io.c (ADD_STRING): Use gfc_charlen_type_node for string
length parameters.
(gfc_build_io_library_fndecls): 'rec' and 'recl_in' are not
pointer fields.
libgfortran/
PR fortran/19194
* io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int',
use CHARACTER macro for definition of string valued paramters.
Also fix years in recent ChangeLog entries.
From-SVN: r94065
2005-01-22 15:37:39 +01:00
Bud Davis
b1a807057e
re PR libfortran/19314 (inquire(position=) segfaults at runtime)
...
2004-01-22 Bud Davis <bdavis9659@comcast.net>
PR fortran/19314
* io/inquire.c(inquire_via_unit): implement POSITION=.
* io/transfer.c(next_record): update position for
INQUIRE.
* io/rewind.c(st_rewind): update position for
INQUIRE.
* gfortran.dg/inquire_5.f90: New test.
From-SVN: r94060
2005-01-22 03:51:12 +00:00
Bud Davis
f53d3f9317
re PR libfortran/18778 (ENDFILE is not functionnal)
...
2005-01-16 Bud Davis <bdavis9659@comcast.net>
PR fortran/18778
* gfortran.dg/endfile_2.f90: New test.
* io/transfer.c (us_read): no bytes available is not a
runtime error.
From-SVN: r93737
2005-01-16 20:44:01 +00:00
Bud Davis
e1c74af03a
re PR libfortran/18983 (can't open /dev/null as an output file)
...
2005-01-15 Bud Davis <bdavis9659@comcast.net>
PR fortran/18983
* io/transfer.c (st_write_done): only truncate when it
is required.
2005-01-15 Bud Davis <bdavis9659@comcast.net>
PR fortran/18983
* gfortran.dg/write_to_null.f90: New test.
From-SVN: r93689
2005-01-15 08:10:23 +00:00
Toon Moene
57dea9f62e
re PR libfortran/19280 (Inconsistent licensing of libgfortran)
...
2005-01-12 Toon Moene <toon@moene.indiv.nluug.nl>
PR libfortran/19280
c99_protos.h: License changed to GPL+exception.
libgfortran.h: Ditto.
intrinsics/abort.c: Ditto.
intrinsics/args.c: Ditto.
intrinsics/associated.c: Ditto.
intrinsics/bessel.c: Ditto.
intrinsics/c99_functions.c: Ditto.
intrinsics/cpu_time.c: Ditto.
intrinsics/cshift0.c: Ditto.
intrinsics/date_and_time.c: Ditto.
intrinsics/env.c: Ditto.
intrinsics/eoshift0.c: Ditto.
intrinsics/eoshift2.c: Ditto.
intrinsics/erf.c: Ditto.
intrinsics/etime.c: Ditto.
intrinsics/exit.c: Ditto.
intrinsics/flush.c: Ditto.
intrinsics/fnum.c: Ditto.
intrinsics/getXid.c: Ditto.
intrinsics/getcwd.c: Ditto.
intrinsics/ishftc.c: Ditto.
intrinsics/mvbits.c: Ditto.
intrinsics/pack_generic.c: Ditto.
intrinsics/rand.c: Ditto.
intrinsics/random.c: Ditto.
intrinsics/reshape_generic.c: Ditto.
intrinsics/reshape_packed.c: Ditto.
intrinsics/size.c: Ditto.
intrinsics/spread_generic.c: Ditto.
intrinsics/stat.c: Ditto.
intrinsics/string_intrinsics.c: Ditto.
intrinsics/system.c: Ditto.
intrinsics/system_clock.c: Ditto.
intrinsics/transpose_generic.c: Ditto.
intrinsics/umask.c: Ditto.
intrinsics/unlink.c: Ditto.
intrinsics/unpack_generic.c: Ditto.
io/backspace.c: Ditto.
io/close.c: Ditto.
io/endfile.c: Ditto.
io/format.c: Ditto.
io/inquire.c: Ditto.
io/io.h: Ditto.
io/list_read.c: Ditto.
io/lock.c: Ditto.
io/open.c: Ditto.
io/read.c: Ditto.
io/rewind.c: Ditto.
io/transfer.c: Ditto.
io/unit.c: Ditto.
io/unix.c: Ditto.
io/write.c: Ditto.
m4/all.m4: Ditto.
m4/any.m4: Ditto.
m4/cexp.m4: Ditto.
m4/chyp.m4: Ditto.
m4/count.m4: Ditto.
m4/cshift1.m4: Ditto.
m4/ctrig.m4: Ditto.
m4/dotprod.m4: Ditto.
m4/dotprodc.m4: Ditto.
m4/dotprodl.m4: Ditto.
m4/eoshift1.m4: Ditto.
m4/eoshift3.m4: Ditto.
m4/exponent.m4: Ditto.
m4/fraction.m4: Ditto.
m4/head.m4: Ditto.
m4/iforeach.m4: Ditto.
m4/ifunction.m4: Ditto.
m4/in_pack.m4: Ditto.
m4/in_unpack.m4: Ditto.
m4/iparm.m4: Ditto.
m4/matmul.m4: Ditto.
m4/matmull.m4: Ditto.
m4/maxloc0.m4: Ditto.
m4/maxloc1.m4: Ditto.
m4/maxval.m4: Ditto.
m4/minloc0.m4: Ditto.
m4/minloc1.m4: Ditto.
m4/minval.m4: Ditto.
m4/mtype.m4: Ditto.
m4/nearest.m4: Ditto.
m4/pow.m4: Ditto.
m4/product.m4: Ditto.
m4/reshape.m4: Ditto.
m4/set_exponent.m4: Ditto.
m4/shape.m4: Ditto.
m4/specific.m4: Ditto.
m4/specific2.m4: Ditto.
m4/sum.m4: Ditto.
m4/transpose.m4: Ditto.
m4/types.m4: Ditto.
runtime/environ.c: Ditto.
runtime/error.c: Ditto.
runtime/in_pack_generic.c: Ditto.
runtime/in_unpack_generic.c: Ditto.
runtime/main.c: Ditto.
runtime/memory.c: Ditto.
runtime/normalize.c: Ditto.
runtime/pause.c: Ditto.
runtime/select.c: Ditto.
runtime/stop.c: Ditto.
runtime/string.c: Ditto.
generated/_abs_c4.f90: Regenerated.
generated/_abs_c8.f90: Regenerated.
generated/_abs_i4.f90: Regenerated.
generated/_abs_i8.f90: Regenerated.
generated/_abs_r4.f90: Regenerated.
generated/_abs_r8.f90: Regenerated.
generated/_acos_r4.f90: Regenerated.
generated/_acos_r8.f90: Regenerated.
generated/_aint_r4.f90: Regenerated.
generated/_aint_r8.f90: Regenerated.
generated/_anint_r4.f90: Regenerated.
generated/_anint_r8.f90: Regenerated.
generated/_asin_r4.f90: Regenerated.
generated/_asin_r8.f90: Regenerated.
generated/_atan2_r4.f90: Regenerated.
generated/_atan2_r8.f90: Regenerated.
generated/_atan_r4.f90: Regenerated.
generated/_atan_r8.f90: Regenerated.
generated/_conjg_c4.f90: Regenerated.
generated/_conjg_c8.f90: Regenerated.
generated/_cos_c4.f90: Regenerated.
generated/_cos_c8.f90: Regenerated.
generated/_cos_r4.f90: Regenerated.
generated/_cos_r8.f90: Regenerated.
generated/_cosh_r4.f90: Regenerated.
generated/_cosh_r8.f90: Regenerated.
generated/_dim_i4.f90: Regenerated.
generated/_dim_i8.f90: Regenerated.
generated/_dim_r4.f90: Regenerated.
generated/_dim_r8.f90: Regenerated.
generated/_exp_c4.f90: Regenerated.
generated/_exp_c8.f90: Regenerated.
generated/_exp_r4.f90: Regenerated.
generated/_exp_r8.f90: Regenerated.
generated/_log10_r4.f90: Regenerated.
generated/_log10_r8.f90: Regenerated.
generated/_log_c4.f90: Regenerated.
generated/_log_c8.f90: Regenerated.
generated/_log_r4.f90: Regenerated.
generated/_log_r8.f90: Regenerated.
generated/_mod_i4.f90: Regenerated.
generated/_mod_i8.f90: Regenerated.
generated/_mod_r4.f90: Regenerated.
generated/_mod_r8.f90: Regenerated.
generated/_sign_i4.f90: Regenerated.
generated/_sign_i8.f90: Regenerated.
generated/_sign_r4.f90: Regenerated.
generated/_sign_r8.f90: Regenerated.
generated/_sin_c4.f90: Regenerated.
generated/_sin_c8.f90: Regenerated.
generated/_sin_r4.f90: Regenerated.
generated/_sin_r8.f90: Regenerated.
generated/_sinh_r4.f90: Regenerated.
generated/_sinh_r8.f90: Regenerated.
generated/_sqrt_c4.f90: Regenerated.
generated/_sqrt_c8.f90: Regenerated.
generated/_sqrt_r4.f90: Regenerated.
generated/_sqrt_r8.f90: Regenerated.
generated/_tan_r4.f90: Regenerated.
generated/_tan_r8.f90: Regenerated.
generated/_tanh_r4.f90: Regenerated.
generated/_tanh_r8.f90: Regenerated.
generated/all_l4.c: Regenerated.
generated/all_l8.c: Regenerated.
generated/any_l4.c: Regenerated.
generated/any_l8.c: Regenerated.
generated/count_4_l4.c: Regenerated.
generated/count_4_l8.c: Regenerated.
generated/count_8_l4.c: Regenerated.
generated/count_8_l8.c: Regenerated.
generated/cshift1_4.c: Regenerated.
generated/cshift1_8.c: Regenerated.
generated/dotprod_c4.c: Regenerated.
generated/dotprod_c8.c: Regenerated.
generated/dotprod_i4.c: Regenerated.
generated/dotprod_i8.c: Regenerated.
generated/dotprod_l4.c: Regenerated.
generated/dotprod_l8.c: Regenerated.
generated/dotprod_r4.c: Regenerated.
generated/dotprod_r8.c: Regenerated.
generated/eoshift1_4.c: Regenerated.
generated/eoshift1_8.c: Regenerated.
generated/eoshift3_4.c: Regenerated.
generated/eoshift3_8.c: Regenerated.
generated/exp_c4.c: Regenerated.
generated/exp_c8.c: Regenerated.
generated/exponent_r4.c: Regenerated.
generated/exponent_r8.c: Regenerated.
generated/fraction_r4.c: Regenerated.
generated/fraction_r8.c: Regenerated.
generated/hyp_c4.c: Regenerated.
generated/hyp_c8.c: Regenerated.
generated/in_pack_i4.c: Regenerated.
generated/in_pack_i8.c: Regenerated.
generated/in_unpack_i4.c: Regenerated.
generated/in_unpack_i8.c: Regenerated.
generated/matmul_c4.c: Regenerated.
generated/matmul_c8.c: Regenerated.
generated/matmul_i4.c: Regenerated.
generated/matmul_i8.c: Regenerated.
generated/matmul_l4.c: Regenerated.
generated/matmul_l8.c: Regenerated.
generated/matmul_r4.c: Regenerated.
generated/matmul_r8.c: Regenerated.
generated/maxloc0_4_i4.c: Regenerated.
generated/maxloc0_4_i8.c: Regenerated.
generated/maxloc0_4_r4.c: Regenerated.
generated/maxloc0_4_r8.c: Regenerated.
generated/maxloc0_8_i4.c: Regenerated.
generated/maxloc0_8_i8.c: Regenerated.
generated/maxloc0_8_r4.c: Regenerated.
generated/maxloc0_8_r8.c: Regenerated.
generated/maxloc1_4_i4.c: Regenerated.
generated/maxloc1_4_i8.c: Regenerated.
generated/maxloc1_4_r4.c: Regenerated.
generated/maxloc1_4_r8.c: Regenerated.
generated/maxloc1_8_i4.c: Regenerated.
generated/maxloc1_8_i8.c: Regenerated.
generated/maxloc1_8_r4.c: Regenerated.
generated/maxloc1_8_r8.c: Regenerated.
generated/maxval_i4.c: Regenerated.
generated/maxval_i8.c: Regenerated.
generated/maxval_r4.c: Regenerated.
generated/maxval_r8.c: Regenerated.
generated/minloc0_4_i4.c: Regenerated.
generated/minloc0_4_i8.c: Regenerated.
generated/minloc0_4_r4.c: Regenerated.
generated/minloc0_4_r8.c: Regenerated.
generated/minloc0_8_i4.c: Regenerated.
generated/minloc0_8_i8.c: Regenerated.
generated/minloc0_8_r4.c: Regenerated.
generated/minloc0_8_r8.c: Regenerated.
generated/minloc1_4_i4.c: Regenerated.
generated/minloc1_4_i8.c: Regenerated.
generated/minloc1_4_r4.c: Regenerated.
generated/minloc1_4_r8.c: Regenerated.
generated/minloc1_8_i4.c: Regenerated.
generated/minloc1_8_i8.c: Regenerated.
generated/minloc1_8_r4.c: Regenerated.
generated/minloc1_8_r8.c: Regenerated.
generated/minval_i4.c: Regenerated.
generated/minval_i8.c: Regenerated.
generated/minval_r4.c: Regenerated.
generated/minval_r8.c: Regenerated.
generated/nearest_r4.c: Regenerated.
generated/nearest_r8.c: Regenerated.
generated/pow_c4_i4.c: Regenerated.
generated/pow_c4_i8.c: Regenerated.
generated/pow_c8_i4.c: Regenerated.
generated/pow_c8_i8.c: Regenerated.
generated/pow_i4_i4.c: Regenerated.
generated/pow_i4_i8.c: Regenerated.
generated/pow_i8_i4.c: Regenerated.
generated/pow_i8_i8.c: Regenerated.
generated/pow_r4_i4.c: Regenerated.
generated/pow_r4_i8.c: Regenerated.
generated/pow_r8_i4.c: Regenerated.
generated/pow_r8_i8.c: Regenerated.
generated/product_c4.c: Regenerated.
generated/product_c8.c: Regenerated.
generated/product_i4.c: Regenerated.
generated/product_i8.c: Regenerated.
generated/product_r4.c: Regenerated.
generated/product_r8.c: Regenerated.
generated/reshape_i4.c: Regenerated.
generated/reshape_i8.c: Regenerated.
generated/set_exponent_r4.c: Regenerated.
generated/set_exponent_r8.c: Regenerated.
generated/shape_i4.c: Regenerated.
generated/shape_i8.c: Regenerated.
generated/sum_c4.c: Regenerated.
generated/sum_c8.c: Regenerated.
generated/sum_i4.c: Regenerated.
generated/sum_i8.c: Regenerated.
generated/sum_r4.c: Regenerated.
generated/sum_r8.c: Regenerated.
generated/transpose_i4.c: Regenerated.
generated/transpose_i8.c: Regenerated.
generated/trig_c4.c: Regenerated.
generated/trig_c8.c: Regenerated.
From-SVN: r93235
2005-01-12 21:27:33 +00:00
Bud Davis
a7e8d7dbe7
re PR libfortran/18398 (Formatted I/O problems)
...
2005-01-07 Bud Davis <bdavis9659@comcast.net>
PR fortran/18398
* transfer.c (next_record_r): always skip the
eol search if it was found during sf_read.
* gfortran.dg/fmt_read.f90: New test.
From-SVN: r93035
2005-01-07 03:25:47 +00:00
Bud Davis
5d3a981694
re PR libfortran/19071 (complex formatted output has too many items)
...
2004-12-23 Bud Davis <bdavis9659@comcast.net>
PR fortran/19071
* io/tranfer.c (formatted_transfer): moved check for
format reversion inside the processing loop.
* gfortran.dg/complex_write.f90: New test.
From-SVN: r92582
2004-12-24 00:29:07 +00:00
Aaron W. LaFramboise
9548f05908
libgfortran.h (itoa): Rename to gfc_itoa.
...
* libgfortran.h (itoa): Rename to gfc_itoa.
* io/write.c (itoa): Same.
* runtime/environ.c (itoa): Same.
* runtime/error.c (itoa): Same.
From-SVN: r92380
2004-12-19 12:54:00 -06:00
Bud Davis
c8c83c1828
re PR libfortran/17597 (list directed read has error)
...
2004-12-15 Bud Davis <bdavis9659@comcast.net>
Steven G. Kargl <kargls@comcast.net>
PR fortran/17597
* io/list_read.c (read_real): do not push back a comma when
it delimits a real value without a decimal point
2004-12-15 Bud Davis <bdavis9659@comcast.net>
Steven G. Kargle <kargls@comcast.net>
PR fortran/17597
* gfortran.dg/list_read_3.f90: New test.
Co-Authored-By: Steven G. Kargl <kargls@comcast.net>
Co-Authored-By: Steven G. Kargl <kargls@comcast.net>
From-SVN: r92190
2004-12-15 12:42:39 +00:00
Steve Ellcey
0865674700
transfer.c (us_read): Use memcpy/memset instead of assignment to fill unaligned buffer.
...
* libgfortran/io/transfer.c (us_read): Use memcpy/memset
instead of assignment to fill unaligned buffer.
(us_write): Ditto.
(next_record_w): Ditto.
From-SVN: r92143
2004-12-14 16:34:08 +00:00
David Edelsohn
681b5028d9
* io/transfer.c (read_sf): Change bitwise "and" to logical "and".
...
From-SVN: r92094
2004-12-13 11:06:57 -05:00
Richard Henderson
7d7b8bfe55
acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
...
* acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
(LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT): New.
(LIBGFOR_CHECK_ATTRIBUTE_ALIAS): New.
* configure.ac: Use them.
* configure, config.h.in, aclocal.m4: Rebuild.
* libgfortran.h (prefix): Remove.
(PREFIX, IPREFIX): New.
(sym_rename, sym_rename1, sym_rename2): New.
(internal_proto, export_proto, export_proto_np): New.
(iexport_proto, iexport): New.
(iexport_data_proto, iexport_data): New.
* intrinsics/abort.c, intrinsics/args.c, intrinsics/associated.c,
intrinsics/cpu_time.c, intrinsics/cshift0.c,
intrinsics/date_and_time.c, intrinsics/env.c, intrinsics/eoshift0.c,
intrinsics/eoshift2.c, intrinsics/etime.c, intrinsics/exit.c,
intrinsics/flush.c, intrinsics/fnum.c, intrinsics/getXid.c,
intrinsics/getcwd.c, intrinsics/ishftc.c, intrinsics/mvbits.c,
intrinsics/pack_generic.c, intrinsics/rand.c, intrinsics/random.c,
intrinsics/reshape_generic.c, intrinsics/size.c,
intrinsics/spread_generic.c, intrinsics/stat.c,
intrinsics/string_intrinsics.c, intrinsics/system.c,
intrinsics/system_clock.c, intrinsics/transpose_generic.c,
intrinsics/umask.c, intrinsics/unlink.c, intrinsics/unpack_generic.c,
io/backspace.c, io/close.c, io/endfile.c, io/inquire.c, io/io.h,
io/open.c, io/rewind.c, io/transfer.c, libgfortran.h, m4/cshift1.m4,
m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4,
m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/iforeach.m4,
m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/nearest.m4,
m4/pow.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4,
m4/transpose.m4, runtime/environ.c, runtime/error.c,
runtime/in_pack_generic.c, runtime/in_unpack_generic.c,
runtime/main.c, runtime/memory.c, runtime/pause.c, runtime/select.c,
runtime/stop.c: Use them to mark symbols internal or external.
* generated/*: Rebuild.
From-SVN: r92045
2004-12-12 00:59:05 -08:00
Steve Ellcey
6ecf6dcbb8
io.h (open_external): Change prototype.
...
* io/io.h (open_external): Change prototype.
* io/unix.c (regular_file): Change prototype and set flags->action if
needed.
(open_external): Ditto.
* io/open.c (new_unit): Let open_external set flags->action.
From-SVN: r91843
2004-12-08 00:32:39 +00:00
Richard Henderson
f21edfd62d
c99_functions.c, [...]: Whitespace fixes.
...
* intrinsics/c99_functions.c, intrinsics/eoshift0.c,
intrinsics/eoshift2.c, intrinsics/exit.c, intrinsics/flush.c,
intrinsics/ishftc.c, intrinsics/mvbits.c, intrinsics/pack_generic.c,
intrinsics/random.c, intrinsics/reshape_generic.c, intrinsics/size.c,
intrinsics/spread_generic.c, intrinsics/stat.c,
intrinsics/string_intrinsics.c, intrinsics/system_clock.c,
intrinsics/transpose_generic.c, intrinsics/unlink.c,
intrinsics/unpack_generic.c, io/backspace.c, io/format.c,
io/list_read.c, io/lock.c, io/open.c, io/transfer.c, io/unix.c,
io/write.c, runtime/environ.c, runtime/error.c,
runtime/in_pack_generic.c, runtime/in_unpack_generic.c, runtime/main.c,
runtime/memory.c, runtime/pause.c, runtime/stop.c,
runtime/string.c: Whitespace fixes.
From-SVN: r91794
2004-12-06 16:01:01 -08:00
Tobias Schlüter
abd7fea9f9
re PR libfortran/18710 (img part of complex number not written to direct access file)
...
libgfortran/
PR fortran/18710
* io/transfer.c (unformatted_read, unformatted_write): width of
a COMPLEX is twice its kind.
gcc/testsuite/
PR fortran/18170
* gfortran.dg/direct_io_3.f90: New test.
From-SVN: r91656
2004-12-02 20:39:15 +01:00
Bud Davis
78579b601d
re PR libfortran/18284 (BACKSPACE broken)
...
2004-12-02 Bud Davis <bdavis9659@comcast.net>
PR libfortran/18284
* io/unix.c (fd_alloc_w_at): Update file_length when extending.
* io/backspace.c (formatted_backspace): Reset endfile after backspace.
PR fortran/18284
* gfortran.dg/backspace.f90
From-SVN: r91612
2004-12-02 04:29:00 +00:00
Bud Davis
8dc4d66aa7
inquire.c (inquire_via_unit): do not allow a direct access file to be opened for sequential I/O.
...
2004-12-02 Bud Davis <bdavis9659@comcast.net>
* io/inquire.c (inquire_via_unit): do not allow a direct access
file to be opened for sequential I/O.
* gfortran.dg/inquire.f90: New test.
From-SVN: r91610
2004-12-02 04:13:21 +00:00
Steven G. Kargl
df65f0938c
flush.c: New file.
...
2004-12-02 Steven G. Kargl <kargls@comcast.net>
Paul Brook <paul@codesourcery.com>
libgfortran/
* intrinsics/flush.c: New file.
* intrinsics/fnum.c: ditto
* intrinsics/stat.c: ditto
* io/io.h (unit_to_fd): Add prototype.
* io/unix.c (unit_to_fd): New function.
* configure.ac: Add test for members of struct stat. Check for
sys/types.h and sys/stat.h
* Makefile.am: Add intrinsics/{flush.c,fnum.c,stat.c}
* configure.in: Regenerate.
* config.h.in: Regenerate.
* Makefile.in: Regenerate.
fortran/
* check.c (gfc_check_flush, gfc_check_fnum): New functions.
(gfc_check_fstat, gfc_check_fstat_sub): New functions.
(gfc_check_stat, gfc_check_stat_sub): New functions.
* gfortran.h (GFC_ISYM_FNUM,GFC_ISYM_FSTAT,GFC_ISYM_STAT): New symbols
* intrinsic.c (add_functions,add_subroutines): Add flush, fnum,
fstat, and stat to intrinsics symbol tables.
* intrinsic.h (gfc_check_flush, gfc_resolve_stat_sub): Add prototypes.
(gfc_resolve_fstat_sub, gfc_resolve_stat): Ditto.
* iresolve.c (gfc_resolve_fnum, gfc_resolve_fstat): New functions.
(gfc_resolve_stat, gfc_resolve_flush): New functions.
(gfc_resolve_stat_sub,gfc_resolve_fstat_sub): New functions
* trans-intrinsic.c (gfc_conv_intrinsic_function): Add new intrinsics.
Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r91609
2004-12-02 04:10:26 +00:00
Bud Davis
905d47a950
direct_io_2.f90: New test.
...
2004-11-28 Bud Davis <bdavis9659@comcast.net>
* gcc/gcc/gfortran.dg/direct_io_2.f90: New test.
* gcc/libgfortran/io/unix.c (mmap_alloc_w_a): check for a write
to a location less than the mapped area.
From-SVN: r91426
2004-11-28 21:14:02 +00:00
Bud Davis
203f344c3d
re PR libfortran/18364 (endfile does not truncate file)
...
2004-11-27 Bud Davis <bdavis9659@comcast.net>
PR fortran/18364
* gfortran.dg/endfile.f90: New test.
* io/endfile.c (st_endfile): flush the stream before truncating.
From-SVN: r91400
2004-11-27 23:35:47 +00:00
Steven Bosscher
69d3c9a43e
re PR libfortran/15960 (missing function 'finite' on HP-UX 11.11)
...
PR libfortran/15960
* configure.ac: Check for finite in libm.
* libgfortran.h: Define isfinite macro if not defined.
* intrinsics/c99_functions.c: Use defined(fpclassify) instead of
HAVE_FPCLASSIFY.
* io/write.c (write_float): Use isfinite instead of finite.
* configure, config.h.in: Rebuilt.
From-SVN: r91064
2004-11-23 02:02:38 +00:00
Roger Sayle
b10cf17380
* io/write.c (write_float, list_formatted_write): Fix indentation.
...
From-SVN: r90975
2004-11-21 05:08:14 +00:00
Eric Botcazou
3969c39f61
re PR libfortran/16135 (libfortran doesn't build, use of C99 types)
...
PR target/16135
* acinclude.m4 (LIBGFOR_TARGET_ILP32): New check.
* configure.ac: Include LIBGFOR_TARGET_ILP32.
* configure: Regenerate.
* config.h.in: Likewise.
* libgfortran.h: Provide default definitions for C99 types
on ILP32 targets that don't have them.
PR target/17999
* configure.ac: Check for snprintf.
* configure: Regenerate.
* config.h.in: Likewise.
* intrinsics/date_and_time.c (date_and_time): Do not
use snprinf if it is not available.
* io/write.c (output_float): Likewise.
From-SVN: r90964
2004-11-20 13:15:17 +00:00
Paul Brook
9686c8110e
Committed wrong version of previous patch.
...
From-SVN: r90384
2004-11-10 02:44:39 +00:00
Paul Brook
2cbcdebaf9
re PR fortran/18218 (Miscompare in sixtrack benchmark caused by loss of precision)
...
PR fortran/18218
* configure.ac: Check for strtof.
* configure: Regenerate.
* config.h.in: Regenerate.
* io/read.c (convert_real): Use strtof if available.
(convert_precision_real): Remove.
(read_f): Avoid poor exponentiation algorithm.
gcc/testsuite/
* gfortran.dg/list_read.c: New test.
From-SVN: r90382
2004-11-10 02:19:27 +00:00
Aaron W. LaFramboise
41724e6a13
config.h.in: Regenerate.
...
2004-10-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac (AC_CHECK_FUNCS): Add mkstemp.
* io/unix.c (S_IRGRP): Define if undefined.
(S_IWGRP): Same.
(S_IROTH): Same.
(S_IWOTH): Same.
(tempfile): Use mktemp if mkstemp missing, fix typos.
From-SVN: r89893
2004-10-30 16:23:23 +00:00
Aaron W. LaFramboise
47289a4e33
Missing bit of previous patch.
...
2004-09-15 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* unix.c: Include stdio.h.
From-SVN: r89892
2004-10-30 15:15:27 +00:00
Paul Brook
5615e8cdce
transfer.c (finalize_transfer): Free internal streams.
...
* io/transfer.c (finalize_transfer): Free internal streams.
* io/unix.c (mem_close): Free stream object.
From-SVN: r88709
2004-10-07 21:30:50 +00:00
Paul Brook
7726f633fa
re PR libfortran/17709 (NULL I/O list and Format error.)
...
PR libfortran/17709
* io/transfer.c (data_transfer_init): Reset sf_seen_eor.
testsuite/
* gfortran.dg/empty_format_1.f90: New test.
From-SVN: r88615
2004-10-06 18:27:58 +00:00
Paul Brook
06e4f02a16
re PR libfortran/17706 (reading a value of 0.0 gives a value of -0.0)
...
2004-10-04 Paul Brook <paul@codesourcery.com>
Bud Davis <bdavis9659@comcast.net>
PR fortran/17706
PR fortran/16434
* io/format.c (parse_format_list): Set repeat count for S, SP, SS,
BN and BZ formats.
* io/write.c (output_float): Don't output minus zero.
libgfortran/
* gfortran/pr17706.f90: New test.
* gfortran.dg/g77/f77-edit-s-out.f: Remove xfail.
Actually apply the patch this time.
From-SVN: r88513
2004-10-04 15:33:18 +00:00
Aaron W. LaFramboise
830219eec1
abort.c ("libgfortran.h"): Move.
...
2004-10-03 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* intrinsics/abort.c ("libgfortran.h"): Move.
* intrinsics/date_and_time.c ("libgfortran.h"): Same.
* intrinsics/write.c ("libgfortran.h"): Same.
From-SVN: r88444
2004-10-03 12:04:15 +00:00
Bud Davis
77747e5f2d
re PR libfortran/17286 (namelist containing more than one value cannot contain whitespace or newlines for READ)
...
2004-09-21 Bud Davis <bdavis9659@comcast.net>
PR fortran/17286
* io/list_read.c (namelist_read): ignore spaces after
the '=' for namelist reads.
2004-09-21 Bud Davis <bdavis9659@comcast.net>
PR fortran/17286
* gfortran.dg/pr17286.f90: New test.
From-SVN: r87799
2004-09-21 11:22:47 +00:00
Aaron W. LaFramboise
f596fc98ea
config.h.in: Regenerate.
...
2004-09-15 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac (AC_CHECK_HEADERS): Check for sys/mman.h.
* unix.c: Include stdio.h.
(HAVE_SYS_MMAN_H): Check.
(PROT_READ, PROT_WRITE): Provide default definitions.
From-SVN: r87714
2004-09-18 23:55:22 +00:00
Bud Davis
c72477d6a6
re PR libfortran/17090 (Runtime I/O error)
...
2004-09-13 Bud Davis <bdavis9659@comcast.net>
PR fortran/17090
* io/list_read.c (list_formatted_read): Handle trailing spaces
at end of line.
2004-09-13 Bud Davis <bdavis9659@comcast.net>
PR fortran/17090
* gfortran.dg/pr17090.f90: New test.
From-SVN: r87474
2004-09-14 00:56:46 +00:00
Paul Brook
2cada022f1
[multiple changes]
...
2004-09-06 Steven G. Kargl <kargls@comcast.net>
* io/write.c (output_float): Typo in comment. Remove debugging
printf. Fix format for FP of form 1e10.
2004-09-06 Paul Brook <paul@codesourcery.com>
* gfortran.dg/edit_real_1.f90: Add new test.
From-SVN: r87119
2004-09-06 16:33:52 +00:00
Paul Brook
d809264e86
format.c (parse_format_list): Set repeat count for P descriptors.
...
* io/format.c (parse_format_list): Set repeat count for P descriptors.
* write.c (output_float): Fix condition. Correctly handle nonzero
scale factor.
testsuite/
* gfortran.dg/edit_real_1.f90: Add new tests.
From-SVN: r86952
2004-09-02 01:33:01 +00:00
Paul Brook
334ff453ea
re PR libfortran/16805 (Runtime failure using list directed read from string)
...
PR libfortran/16805
* io/list_read.c (next_char): Don't signal EOF for internal files.
* io/unix.c (mem_alloc_r_at): Don't return NULL for incomplete reads.
testsuite/
2004-08-31 Bud Davis <bdavis9659@comcast.net>
* gfortran.dg/list_read_2.f90: New test.
From-SVN: r86844
2004-08-31 20:37:43 +00:00
Tobias Schlüter
43b4305759
unit.c: Separate copyright years by ','.
...
* io/unit.c: Separate copyright years by ','.
(compare, insert_unit, delete_unit, is_internal_unit, close_units):
Remove blank line in beginning of function.
(get_unit): Simplify code.
From-SVN: r86841
2004-08-31 21:49:33 +02:00
Paul Brook
8a210b0fb0
* io/unit.c (get_unit): Remove superfluous if.
...
From-SVN: r86838
2004-08-31 18:59:42 +00:00
Paul Brook
bd72d66cb5
transfer.c (read_sf): Rename uinty to readlen.
...
* io/transfer.c (read_sf): Rename uinty to readlen. Detect EOF.
(finalize_transfer): Move setjmp after namlist IO.
* io/unix.c (mem_alloc_r_at): Calculate remaining length correctly.
testsuite/
* gfortran.dg/eof_1.f90: New test.
From-SVN: r86831
2004-08-31 15:53:31 +00:00
Paul Brook
c789f36b21
list_read.c (eat_separator): Set at_eo when a '/' is seen.
...
* list_read.c (eat_separator): Set at_eo when a '/' is seen.
testsuite/
* gfortran.dg/list_read_1.f90: New file.
From-SVN: r86830
2004-08-31 14:56:09 +00:00
Tobias Schlüter
d7177ab25e
trans-decl.c, [...]: Replace all occurences of 'gfc_strlen_type_node' by 'gfc_charlen_type_node'.
...
fortran/
* trans-decl.c, trans-expr.c, trans-io.c, trans-types.c: Replace
all occurences of 'gfc_strlen_type_node' by
'gfc_charlen_type_node'.
* trans-types.h: Same. Also update comment accordingly.
libgfortran/
* libgfortran.h: Replace 'gfc_strlen_type' by
'gfc_charlen_type'. Update comment accordingly.
* intrinsics/args.c, intrinsics/env.c, io/io.h, io/transfer.c:
Replace all occurences of 'gfc_strlen_type' by 'gfc_charlen_type'.
From-SVN: r86828
2004-08-31 16:06:48 +02:00
Paul Brook
7984a2f04b
re PR libfortran/17195 (Infinite loop in output_float in libgfortran/io/write.c)
...
PR libfortran/17195
* libgfortran.h (rtoa): Remove prototype.
* runtime/error.c (rtoa): Remove.
* io/write.c (calculate_G_format): Don't add blanks if E format is
used. Add correct number of blanks when exponent width is specified.
(output_float): Rewrite.
testsuite/
* gfortran.dg/edit_real_1.f90: New test.
From-SVN: r86701
2004-08-28 19:48:02 +00:00
Paul Brook
e041cc5aff
Comment typo.
...
From-SVN: r86660
2004-08-27 14:37:13 +00:00
Paul Brook
c100eff11e
rewind.c (st_rewind): Reset unit to read mode.
...
* io/rewind.c (st_rewind): Reset unit to read mode.
testsuite/
* gfortran.dg/rewind_1.f90: New test.
From-SVN: r86659
2004-08-27 13:44:52 +00:00