aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/io
AgeCommit message (Collapse)AuthorFilesLines
2005-04-08backspace.c (unformatted_backspace): Do not dereference the pointer to the ↵Eric Botcazou1-4/+7
stream. * io/backspace.c (unformatted_backspace): Do not dereference the pointer to the stream. From-SVN: r97851
2005-04-05re PR libfortran/20755 (gfortran - prints the same number with 1p4G12.3 two ↵Francois-Xavier Coudert1-1/+3
different ways) PR libfortran/20755 * write.c (write_float): A G edit descriptor may locally change the scale factor, but it needs to be restored afterwards. * gfortran.dg/pr20755.f: New test. From-SVN: r97627
2005-04-03re PR libfortran/20068 (Backspace problems)Dale Ranta1-4/+11
PR libfortran/20068 PR libfortran/20125 PR libfortran/20156 PR libfortran/20471 * io/backspace.c (unformatted_backspace): Fix error in arithmetic. (st_backspace): When in WRITING mode, we flush and falling back into READING mode. In all cases, correctly position the stream. * gfortran.dg/backspace.f: New test. Co-Authored-By: Francois-Xavier Coudert <coudert@clipper.ens.fr> From-SVN: r97478
2005-03-31re PR libfortran/20660 (INQUIRE incorrectly reports the existence of UNITS)Francois-Xavier Coudert2-1/+12
PR libfortran/20660 * io/inquire.c (inquire_via_unit): Non-opened units should still be reported by an INQUIRE statement as existing. * io/transfer.c (data_transfer_init): Never accept negative units. PR libfortran/20660 * gfortran.dg/negative_unit.f: New test. From-SVN: r97326
2005-03-29re PR libfortran/20163 ([4.0 only] gfortran - error opening direct access file)François-Xavier Coudert1-0/+3
PR libfortran/20163 * io/open.c (st_open): call library_end() before returning even if an error arises. * gfortran.dg/pr20163-2.f: New test. From-SVN: r97153
2005-03-25re PR libfortran/19678 (DOS files don't work for list directed input)Francois-Xavier Coudert2-4/+10
PR libfortran/19678 PR libfortran/19679 * gfortran.dg/dos_eol.f: New test. PR libfortran/19678 * list_read.c (next_char, eat_separator, finish_separator, read_real) (namelist_read): Add support for '\r' as well as '\n' as EOL character. PR libfortran/19679 * list_read.c (read_sf): Add a '\r' in a test to support DOS line-endings when line length is exceeded. From-SVN: r97041
2005-03-25re PR libfortran/15332 (colon edit descriptor not handled correctly)Francois-Xavier Coudert1-0/+1
PR libfortran/15332 * io/format.c (parse_format_list): format node for colon edit descriptor needs a repeat counter set to 1. * gfortran.dg/pr15332.f: New test. From-SVN: r97036
2005-03-23* libgfortran/io/write.c (output_float): fix typo in last commit.François-Xavier Coudert1-1/+1
From-SVN: r96958
2005-03-23re PR libfortran/18025 (libgfortran: format, incompatible "minimum width" ↵Francois-Xavier Coudert1-1/+1
edit descriptor) PR libfortran/18025 * write.c (output_float): Handling the "F0.d" format similarly as commercial compilers. * pr18025.f90: New test. From-SVN: r96953
2005-03-16* io.h: Setting higher default record length.François-Xavier Coudert1-3/+4
From-SVN: r96574
2005-03-16open.c (new_unit): set record length to max_offset rather than using a ↵Francois-Xavier Coudert1-1/+1
hard-coded limit (which was... * open.c (new_unit): set record length to max_offset rather than using a hard-coded limit (which was too low). * write_big_array.f90: New test. From-SVN: r96573
2005-03-16write.c (output_float): special check when writing 0.0 with EN and ES formats.Francois-Xavier Coudert1-2/+4
* write.c (output_float): special check when writing 0.0 with EN and ES formats. * pr20480.f90: New test. From-SVN: r96566
2005-03-11[multiple changes]Francois-Xavier Coudert1-1/+17
2005-03-12 Francois-Xavier Coudert <coudert@clipper.ens.fr> PR libfortran/20124 * gfortran.dg/pr20124.f90: New Test 2005-03-11 Francois-Xavier Coudert <coudert@clipper.ens.fr> PR libfortran/20124 * write.c (output_float): Adds a nzero_real variable to store the number of leading zeros whatever the format width is. Corrects the rounding of numbers less than 10^(-width). Fixes typo in an error message. Updates copyright years From-SVN: r96291
2005-02-27* io/write.c: Update copyright years.Tobias Schlüter1-1/+1
From-SVN: r95630
2005-02-27re PR libfortran/20101 (zero prints incorrectly with 1pe12.4)Francois-Xavier Coudert1-1/+2
libgfortran/ 2005-02-27 Fran��ois-Xavier Coudert <coudert@clipper.ens.fr> PR libfortran/20101 * write.c (output_float): Adding special check for value 0.0 in PE format. gcc/testsuite/ 2005-02-27 Fran��ois-Xavier Coudert <coudert@clipper.ens.fr> PR libfortran/20101 * gfortran.dg/write_0_pe_format.f90: New test. From-SVN: r95628
2005-02-27write.c (output_float): Fix typo in condition.Tobias Schlüter1-1/+1
libgfortran/ * io/write.c (output_float): Fix typo in condition. gcc/testsuite/ * gfortran.dg/e_d_fmt.f90: New test. From-SVN: r95615
2005-02-23[multiple changes]Bud Davis1-4/+2
2004-02-22 Paul Thomas <paulthomas2@wannado.fr> Bud Davis <bdavis@gfortran.org> * io/list_read.c (read_real): Handle separators properly in list directed read. 2005-02-22 Bud Davis <bdavis@gfortran.org> * gfortran.dg/list_read_4.f90: new test. From-SVN: r95436
2005-02-22[multiple changes]Bud Davis1-1/+1
2004-02-21 Bud Davis <bdavis@gfortran.org> PR fortran/20086 * io/transfer.c (write_constant_string): accept an 'h' as the start of a hollerith format string. 2005-02-21 Bud Davis <bdavis9659@comcast.net> PR fortran/20086 * gfortran.dg/pr20086.f90: New test. From-SVN: r95379
2005-02-21* io/write.c(output_float): Typo in error message.Steven G. Kargl1-1/+1
From-SVN: r95343
2005-01-30re PR libfortran/19647 (inquire(delim=) returns garbage)Bud Davis1-1/+1
2005-01-30 Bud Davis <bdavis@gfortran.org> PR fortran/19647 * io/inquire.c (inquire_via_unit): Use correct variable for pad. * gfortan.dg/inquire_7.f90 From-SVN: r94439
2005-01-29re PR libfortran/19595 ([4.0 only] eor does not work)Thomas Koenig1-1/+1
2005-01-29 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/19595 * io/transfer.c (data_transfer_init): eor requires advance="NO". testsuite/ * gfortran.dg/eor_1.f90: New test. From-SVN: r94410
2005-01-25re PR libfortran/19524 (5 times uninitialized var in libgfortran)Tobias Schlüter1-2/+0
PR libfortran/19524 * io/read.c (read_f): Don't free uninitialized pointer. From-SVN: r94232
2005-01-23Update Copyright.Paul Brook1-1/+1
From-SVN: r94118
2005-01-23re PR libfortran/19451 (Read after a write with a read only file)Thomas Koenig1-0/+3
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-22re PR libfortran/19052 (unit 0 not preconnected to standard error)David Edelsohn4-4/+42
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-22re PR libfortran/18982 (open(status="new") does not generate an error if the ↵Thomas Koenig1-30/+41
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-22re PR fortran/19194 (Missing RECL parameter in OPEN statement)Tobias Schlüter1-53/+39
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-22re PR libfortran/19314 (inquire(position=) segfaults at runtime)Bud Davis3-6/+25
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-16re PR libfortran/18778 (ENDFILE is not functionnal)Bud Davis1-0/+3
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-15re PR libfortran/18983 (can't open /dev/null as an output file)Bud Davis1-3/+7
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-12re PR libfortran/19280 (Inconsistent licensing of libgfortran)Toon Moene15-9/+142
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-07re PR libfortran/18398 (Formatted I/O problems)Bud Davis1-1/+2
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
2004-12-24re PR libfortran/19071 (complex formatted output has too many items)Bud Davis1-8/+8
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-19libgfortran.h (itoa): Rename to gfc_itoa.Aaron W. LaFramboise1-2/+2
* 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-15re PR libfortran/17597 (list directed read has error)Bud Davis1-1/+1
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-14transfer.c (us_read): Use memcpy/memset instead of assignment to fill ↵Steve Ellcey1-8/+10
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-13* io/transfer.c (read_sf): Change bitwise "and" to logical "and".David Edelsohn1-1/+1
From-SVN: r92094
2004-12-12acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.Richard Henderson9-216/+223
* 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-08io.h (open_external): Change prototype.Steve Ellcey3-30/+62
* 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-06c99_functions.c, [...]: Whitespace fixes.Richard Henderson9-249/+116
* 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-02re PR libfortran/18710 (img part of complex number not written to direct ↵Tobias Schlüter1-3/+15
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-02re PR libfortran/18284 (BACKSPACE broken)Bud Davis2-0/+4
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-02inquire.c (inquire_via_unit): do not allow a direct access file to be opened ↵Bud Davis1-2/+7
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-02flush.c: New file.Steven G. Kargl2-1/+18
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-11-28direct_io_2.f90: New test.Bud Davis1-1/+2
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-27re PR libfortran/18364 (endfile does not truncate file)Bud Davis1-0/+1
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-23re PR libfortran/15960 (missing function 'finite' on HP-UX 11.11)Steven Bosscher1-1/+1
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-21* io/write.c (write_float, list_formatted_write): Fix indentation.Roger Sayle1-57/+56
From-SVN: r90975
2004-11-20re PR libfortran/16135 (libfortran doesn't build, use of C99 types)Eric Botcazou1-0/+4
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-10Committed wrong version of previous patch.Paul Brook1-1/+1
From-SVN: r90384