08810e5257
libgfortran ChangeLog: 2011-10-31 Janne Blomqvist <jb@gcc.gnu.org> * io/inquire.c (inquire_via_unit): Check whether we're at the beginning or end if the position is unspecified. If the position is not one of the 3 standard ones, return unspecified. * io/io.h (update_position): Remove prototype. * io/transfer.c (next_record): Set the position to unspecified, letting inquire figure it out more exactly when needed. * io/unit.c (update_position): Remove function. testsuite ChangeLog: 2011-10-31 Janne Blomqvist <jb@gcc.gnu.org> * gfortran.dg/inquire_5.f90: Update testcase to match the standard and current implementation. From-SVN: r180703
1325 lines
50 KiB
Plaintext
1325 lines
50 KiB
Plaintext
2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* io/inquire.c (inquire_via_unit): Check whether we're at the
|
||
beginning or end if the position is unspecified. If the position
|
||
is not one of the 3 standard ones, return unspecified.
|
||
* io/io.h (update_position): Remove prototype.
|
||
* io/transfer.c (next_record): Set the position to unspecified,
|
||
letting inquire figure it out more exactly when needed.
|
||
* io/unit.c (update_position): Remove function.
|
||
|
||
2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* io/unix.h (struct stream): Add size function pointer.
|
||
(ssize): New inline function.
|
||
(file_length): Remove prototype.
|
||
* io/unix.c (raw_size): New function.
|
||
(raw_init): Initialize st.size pointer.
|
||
(buf_size): New function.
|
||
(buf_init): Initialize st.size pointer.
|
||
(open_internal): Likewise.
|
||
(open_internal4): Likewise.
|
||
(file_length): Remove function.
|
||
* io/file_pos.c (st_rewind): Use ssize instead of file_length.
|
||
* io/open.c (test_endfile): Likewise.
|
||
* io/transfer.c (data_transfer_init): Likewise.
|
||
(next_record_r): Likewise.
|
||
(next_record_w): Likewise.
|
||
* io/unit.c (update_position): Likewise.
|
||
|
||
2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* io/file_pos.c (st_rewind): Handle regular and special files
|
||
identically.
|
||
* io/intrinsics.c (fseek_sub): Don't check whether we think the
|
||
file is seekable, just do what the caller says.
|
||
* io/transfer.c (skip_record): First try to seek, then fallback to
|
||
reading and throwing away what we read.
|
||
* io/unit.c (update_position): Don't check whether file is
|
||
seekable, just try to do what we're told.
|
||
(unit_truncate): Likewise.
|
||
* io/unix.c (struct unix_stream): Remove special_file flag.
|
||
(buf_flush): Remove code for handling unseekable files.
|
||
(buf_seek): Likewise.
|
||
(fd_to_stream): Use buffered IO only for regular files.
|
||
(file_length): Remove is_seekable() call.
|
||
(is_seekable): Remove function.
|
||
(is_special): Likewise.
|
||
* io/unix.h: Remove prototypes for is_seekable and is_special.
|
||
|
||
2011-09-10 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/49479
|
||
* generated/m4/ifunction.m4: Always call internal_malloc_size
|
||
even when there is a zero-sized return array.
|
||
* generated/generated/maxloc1_16_i16.c: Regenerated.
|
||
* generated/generated/maxloc1_16_i1.c: Regenerated.
|
||
* generated/generated/maxloc1_16_i2.c: Regenerated.
|
||
* generated/generated/maxloc1_16_i4.c: Regenerated.
|
||
* generated/generated/maxloc1_16_i8.c: Regenerated.
|
||
* generated/generated/maxloc1_16_r10.c: Regenerated.
|
||
* generated/generated/maxloc1_16_r16.c: Regenerated.
|
||
* generated/generated/maxloc1_16_r4.c: Regenerated.
|
||
* generated/generated/maxloc1_16_r8.c: Regenerated.
|
||
* generated/generated/maxloc1_4_i16.c: Regenerated.
|
||
* generated/generated/maxloc1_4_i1.c: Regenerated.
|
||
* generated/generated/maxloc1_4_i2.c: Regenerated.
|
||
* generated/generated/maxloc1_4_i4.c: Regenerated.
|
||
* generated/generated/maxloc1_4_i8.c: Regenerated.
|
||
* generated/generated/maxloc1_4_r10.c: Regenerated.
|
||
* generated/generated/maxloc1_4_r16.c: Regenerated.
|
||
* generated/generated/maxloc1_4_r4.c: Regenerated.
|
||
* generated/generated/maxloc1_4_r8.c: Regenerated.
|
||
* generated/generated/maxloc1_8_i16.c: Regenerated.
|
||
* generated/generated/maxloc1_8_i1.c: Regenerated.
|
||
* generated/generated/maxloc1_8_i2.c: Regenerated.
|
||
* generated/generated/maxloc1_8_i4.c: Regenerated.
|
||
* generated/generated/maxloc1_8_i8.c: Regenerated.
|
||
* generated/generated/maxloc1_8_r10.c: Regenerated.
|
||
* generated/generated/maxloc1_8_r16.c: Regenerated.
|
||
* generated/generated/maxloc1_8_r4.c: Regenerated.
|
||
* generated/generated/maxloc1_8_r8.c: Regenerated.
|
||
* generated/generated/maxval_i16.c: Regenerated.
|
||
* generated/generated/maxval_i1.c: Regenerated.
|
||
* generated/generated/maxval_i2.c: Regenerated.
|
||
* generated/generated/maxval_i4.c: Regenerated.
|
||
* generated/generated/maxval_i8.c: Regenerated.
|
||
* generated/generated/maxval_r10.c: Regenerated.
|
||
* generated/generated/maxval_r16.c: Regenerated.
|
||
* generated/generated/maxval_r4.c: Regenerated.
|
||
* generated/generated/maxval_r8.c: Regenerated.
|
||
* generated/generated/minloc1_16_i16.c: Regenerated.
|
||
* generated/generated/minloc1_16_i1.c: Regenerated.
|
||
* generated/generated/minloc1_16_i2.c: Regenerated.
|
||
* generated/generated/minloc1_16_i4.c: Regenerated.
|
||
* generated/generated/minloc1_16_i8.c: Regenerated.
|
||
* generated/generated/minloc1_16_r10.c: Regenerated.
|
||
* generated/generated/minloc1_16_r16.c: Regenerated.
|
||
* generated/generated/minloc1_16_r4.c: Regenerated.
|
||
* generated/generated/minloc1_16_r8.c: Regenerated.
|
||
* generated/generated/minloc1_4_i16.c: Regenerated.
|
||
* generated/generated/minloc1_4_i1.c: Regenerated.
|
||
* generated/generated/minloc1_4_i2.c: Regenerated.
|
||
* generated/generated/minloc1_4_i4.c: Regenerated.
|
||
* generated/generated/minloc1_4_i8.c: Regenerated.
|
||
* generated/generated/minloc1_4_r10.c: Regenerated.
|
||
* generated/generated/minloc1_4_r16.c: Regenerated.
|
||
* generated/generated/minloc1_4_r4.c: Regenerated.
|
||
* generated/generated/minloc1_4_r8.c: Regenerated.
|
||
* generated/generated/minloc1_8_i16.c: Regenerated.
|
||
* generated/generated/minloc1_8_i1.c: Regenerated.
|
||
* generated/generated/minloc1_8_i2.c: Regenerated.
|
||
* generated/generated/minloc1_8_i4.c: Regenerated.
|
||
* generated/generated/minloc1_8_i8.c: Regenerated.
|
||
* generated/generated/minloc1_8_r10.c: Regenerated.
|
||
* generated/generated/minloc1_8_r16.c: Regenerated.
|
||
* generated/generated/minloc1_8_r4.c: Regenerated.
|
||
* generated/generated/minloc1_8_r8.c: Regenerated.
|
||
* generated/generated/minval_i16.c: Regenerated.
|
||
* generated/generated/minval_i1.c: Regenerated.
|
||
* generated/generated/minval_i2.c: Regenerated.
|
||
* generated/generated/minval_i4.c: Regenerated.
|
||
* generated/generated/minval_i8.c: Regenerated.
|
||
* generated/generated/minval_r10.c: Regenerated.
|
||
* generated/generated/minval_r16.c: Regenerated.
|
||
* generated/generated/minval_r4.c: Regenerated.
|
||
* generated/generated/minval_r8.c: Regenerated.
|
||
* generated/generated/product_c10.c: Regenerated.
|
||
* generated/generated/product_c16.c: Regenerated.
|
||
* generated/generated/product_c4.c: Regenerated.
|
||
* generated/generated/product_c8.c: Regenerated.
|
||
* generated/generated/product_i16.c: Regenerated.
|
||
* generated/generated/product_i1.c: Regenerated.
|
||
* generated/generated/product_i2.c: Regenerated.
|
||
* generated/generated/product_i4.c: Regenerated.
|
||
* generated/generated/product_i8.c: Regenerated.
|
||
* generated/generated/product_r10.c: Regenerated.
|
||
* generated/generated/product_r16.c: Regenerated.
|
||
* generated/generated/product_r4.c: Regenerated.
|
||
* generated/generated/product_r8.c: Regenerated.
|
||
* generated/generated/sum_c10.c: Regenerated.
|
||
* generated/generated/sum_c16.c: Regenerated.
|
||
* generated/generated/sum_c4.c: Regenerated.
|
||
* generated/generated/sum_c8.c: Regenerated.
|
||
* generated/generated/sum_i16.c: Regenerated.
|
||
* generated/generated/sum_i1.c: Regenerated.
|
||
* generated/generated/sum_i2.c: Regenerated.
|
||
* generated/generated/sum_i4.c: Regenerated.
|
||
* generated/generated/sum_i8.c: Regenerated.
|
||
* generated/generated/sum_r10.c: Regenerated.
|
||
* generated/generated/sum_r16.c: Regenerated.
|
||
* generated/generated/sum_r4.c: Regenerated.
|
||
* generated/generated/sum_r8.c: Regenerated.
|
||
|
||
2011-09-01 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
* generated/bessel_r4.c: Regenerated.
|
||
* generated/bessel_r8.c: Regenerated.
|
||
* generated/bessel_r10.c: Regenerated.
|
||
* generated/bessel_r16.c: Regenerated.
|
||
|
||
2011-08-29 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* caf/libcaf.h (_gfortran_caf_deregister): Update prototype.
|
||
* caf/mpi.c (_gfortran_caf_deregister): Modify prototype,
|
||
actually free memory and add error diagnostic.
|
||
(_gfortran_caf_finalize): Add additional free calls.
|
||
* caf/single.c (_gfortran_caf_deregister): Modify prototype,
|
||
actually free memory and add error diagnostic.
|
||
(_gfortran_caf_finalize): Add additional free calls.
|
||
|
||
2011-08-29 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR libfortran/50192
|
||
* intrinsics/string_intrinsics.c (memcmp_char4): New function.
|
||
* intrinsics/string_intrinsics_inc.c: New macro MEMCMP, either
|
||
set to memcmp or memcmp_char4.
|
||
(compare_string): Use MEMCMP, with correct size for it.
|
||
* libgfortran.h: Add prototype for memcmp_char4.
|
||
|
||
2011-08-28 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/40866
|
||
* generated/iall_i1.c: Regenerated.
|
||
* generated/iall_i16.c: Regenerated.
|
||
* generated/iall_i2.c: Regenerated.
|
||
* generated/iall_i4.c: Regenerated.
|
||
* generated/iall_i8.c: Regenerated.
|
||
* generated/iany_i1.c: Regenerated.
|
||
* generated/iany_i16.c: Regenerated.
|
||
* generated/iany_i2.c: Regenerated.
|
||
* generated/iany_i4.c: Regenerated.
|
||
* generated/iany_i8.c: Regenerated.
|
||
* generated/iparity_i1.c: Regenerated.
|
||
* generated/iparity_i16.c: Regenerated.
|
||
* generated/iparity_i2.c: Regenerated.
|
||
* generated/iparity_i4.c: Regenerated.
|
||
* generated/iparity_i8.c: Regenerated.
|
||
* generated/norm2_r10.c: Regenerated.
|
||
* generated/norm2_r16.c: Regenerated.
|
||
* generated/norm2_r4.c: Regenerated.
|
||
* generated/norm2_r8.c: Regenerated.
|
||
* generated/parity_l1.c: Regenerated.
|
||
* generated/parity_l16.c: Regenerated.
|
||
* generated/parity_l2.c: Regenerated.
|
||
* generated/parity_l4.c: Regenerated.
|
||
* generated/parity_l8.c: Regenerated.
|
||
* generated/misc_specifics.F90: Regenerated (comment change).
|
||
* generated/_abs_c10.F90: Regenerated (comment change).
|
||
* generated/_abs_c16.F90: Regenerated (comment change).
|
||
* generated/_abs_c4.F90: Regenerated (comment change).
|
||
* generated/_abs_c8.F90: Regenerated (comment change).
|
||
* generated/_abs_i16.F90: Regenerated (comment change).
|
||
* generated/_abs_i4.F90: Regenerated (comment change).
|
||
* generated/_abs_i8.F90: Regenerated (comment change).
|
||
* generated/_abs_r10.F90: Regenerated (comment change).
|
||
* generated/_abs_r16.F90: Regenerated (comment change).
|
||
* generated/_abs_r4.F90: Regenerated (comment change).
|
||
* generated/_abs_r8.F90: Regenerated (comment change).
|
||
* generated/_acosh_r10.F90: Regenerated (comment change).
|
||
* generated/_acosh_r16.F90: Regenerated (comment change).
|
||
* generated/_acosh_r4.F90: Regenerated (comment change).
|
||
* generated/_acosh_r8.F90: Regenerated (comment change).
|
||
* generated/_acos_r10.F90: Regenerated (comment change).
|
||
* generated/_acos_r16.F90: Regenerated (comment change).
|
||
* generated/_acos_r4.F90: Regenerated (comment change).
|
||
* generated/_acos_r8.F90: Regenerated (comment change).
|
||
* generated/_aimag_c10.F90: Regenerated (comment change).
|
||
* generated/_aimag_c16.F90: Regenerated (comment change).
|
||
* generated/_aimag_c4.F90: Regenerated (comment change).
|
||
* generated/_aimag_c8.F90: Regenerated (comment change).
|
||
* generated/_aint_r10.F90: Regenerated (comment change).
|
||
* generated/_aint_r16.F90: Regenerated (comment change).
|
||
* generated/_aint_r4.F90: Regenerated (comment change).
|
||
* generated/_aint_r8.F90: Regenerated (comment change).
|
||
* generated/_anint_r10.F90: Regenerated (comment change).
|
||
* generated/_anint_r16.F90: Regenerated (comment change).
|
||
* generated/_anint_r4.F90: Regenerated (comment change).
|
||
* generated/_anint_r8.F90: Regenerated (comment change).
|
||
* generated/_asinh_r10.F90: Regenerated (comment change).
|
||
* generated/_asinh_r16.F90: Regenerated (comment change).
|
||
* generated/_asinh_r4.F90: Regenerated (comment change).
|
||
* generated/_asinh_r8.F90: Regenerated (comment change).
|
||
* generated/_asin_r10.F90: Regenerated (comment change).
|
||
* generated/_asin_r16.F90: Regenerated (comment change).
|
||
* generated/_asin_r4.F90: Regenerated (comment change).
|
||
* generated/_asin_r8.F90: Regenerated (comment change).
|
||
* generated/_atan2_r10.F90: Regenerated (comment change).
|
||
* generated/_atan2_r16.F90: Regenerated (comment change).
|
||
* generated/_atan2_r4.F90: Regenerated (comment change).
|
||
* generated/_atan2_r8.F90: Regenerated (comment change).
|
||
* generated/_atanh_r10.F90: Regenerated (comment change).
|
||
* generated/_atanh_r16.F90: Regenerated (comment change).
|
||
* generated/_atanh_r4.F90: Regenerated (comment change).
|
||
* generated/_atanh_r8.F90: Regenerated (comment change).
|
||
* generated/_atan_r10.F90: Regenerated (comment change).
|
||
* generated/_atan_r16.F90: Regenerated (comment change).
|
||
* generated/_atan_r4.F90: Regenerated (comment change).
|
||
* generated/_atan_r8.F90: Regenerated (comment change).
|
||
* generated/_conjg_c10.F90: Regenerated (comment change).
|
||
* generated/_conjg_c16.F90: Regenerated (comment change).
|
||
* generated/_conjg_c4.F90: Regenerated (comment change).
|
||
* generated/_conjg_c8.F90: Regenerated (comment change).
|
||
* generated/_cosh_r10.F90: Regenerated (comment change).
|
||
* generated/_cosh_r16.F90: Regenerated (comment change).
|
||
* generated/_cosh_r4.F90: Regenerated (comment change).
|
||
* generated/_cosh_r8.F90: Regenerated (comment change).
|
||
* generated/_cos_c10.F90: Regenerated (comment change).
|
||
* generated/_cos_c16.F90: Regenerated (comment change).
|
||
* generated/_cos_c4.F90: Regenerated (comment change).
|
||
* generated/_cos_c8.F90: Regenerated (comment change).
|
||
* generated/_cos_r10.F90: Regenerated (comment change).
|
||
* generated/_cos_r16.F90: Regenerated (comment change).
|
||
* generated/_cos_r4.F90: Regenerated (comment change).
|
||
* generated/_cos_r8.F90: Regenerated (comment change).
|
||
* generated/_dim_i16.F90: Regenerated (comment change).
|
||
* generated/_dim_i4.F90: Regenerated (comment change).
|
||
* generated/_dim_i8.F90: Regenerated (comment change).
|
||
* generated/_dim_r10.F90: Regenerated (comment change).
|
||
* generated/_dim_r16.F90: Regenerated (comment change).
|
||
* generated/_dim_r4.F90: Regenerated (comment change).
|
||
* generated/_dim_r8.F90: Regenerated (comment change).
|
||
* generated/_exp_c10.F90: Regenerated (comment change).
|
||
* generated/_exp_c16.F90: Regenerated (comment change).
|
||
* generated/_exp_c4.F90: Regenerated (comment change).
|
||
* generated/_exp_c8.F90: Regenerated (comment change).
|
||
* generated/_exp_r10.F90: Regenerated (comment change).
|
||
* generated/_exp_r16.F90: Regenerated (comment change).
|
||
* generated/_exp_r4.F90: Regenerated (comment change).
|
||
* generated/_exp_r8.F90: Regenerated (comment change).
|
||
* generated/_log10_r10.F90: Regenerated (comment change).
|
||
* generated/_log10_r16.F90: Regenerated (comment change).
|
||
* generated/_log10_r4.F90: Regenerated (comment change).
|
||
* generated/_log10_r8.F90: Regenerated (comment change).
|
||
* generated/_log_c10.F90: Regenerated (comment change).
|
||
* generated/_log_c16.F90: Regenerated (comment change).
|
||
* generated/_log_c4.F90: Regenerated (comment change).
|
||
* generated/_log_c8.F90: Regenerated (comment change).
|
||
* generated/_log_r10.F90: Regenerated (comment change).
|
||
* generated/_log_r16.F90: Regenerated (comment change).
|
||
* generated/_log_r4.F90: Regenerated (comment change).
|
||
* generated/_log_r8.F90: Regenerated (comment change).
|
||
* generated/_mod_i16.F90: Regenerated (comment change).
|
||
* generated/_mod_i4.F90: Regenerated (comment change).
|
||
* generated/_mod_i8.F90: Regenerated (comment change).
|
||
* generated/_mod_r10.F90: Regenerated (comment change).
|
||
* generated/_mod_r16.F90: Regenerated (comment change).
|
||
* generated/_mod_r4.F90: Regenerated (comment change).
|
||
* generated/_mod_r8.F90: Regenerated (comment change).
|
||
* generated/_sign_i16.F90: Regenerated (comment change).
|
||
* generated/_sign_i4.F90: Regenerated (comment change).
|
||
* generated/_sign_i8.F90: Regenerated (comment change).
|
||
* generated/_sign_r10.F90: Regenerated (comment change).
|
||
* generated/_sign_r16.F90: Regenerated (comment change).
|
||
* generated/_sign_r4.F90: Regenerated (comment change).
|
||
* generated/_sign_r8.F90: Regenerated (comment change).
|
||
* generated/_sinh_r10.F90: Regenerated (comment change).
|
||
* generated/_sinh_r16.F90: Regenerated (comment change).
|
||
* generated/_sinh_r4.F90: Regenerated (comment change).
|
||
* generated/_sinh_r8.F90: Regenerated (comment change).
|
||
* generated/_sin_c10.F90: Regenerated (comment change).
|
||
* generated/_sin_c16.F90: Regenerated (comment change).
|
||
* generated/_sin_c4.F90: Regenerated (comment change).
|
||
* generated/_sin_c8.F90: Regenerated (comment change).
|
||
* generated/_sin_r10.F90: Regenerated (comment change).
|
||
* generated/_sin_r16.F90: Regenerated (comment change).
|
||
* generated/_sin_r4.F90: Regenerated (comment change).
|
||
* generated/_sin_r8.F90: Regenerated (comment change).
|
||
* generated/_sqrt_c10.F90: Regenerated (comment change).
|
||
* generated/_sqrt_c16.F90: Regenerated (comment change).
|
||
* generated/_sqrt_c4.F90: Regenerated (comment change).
|
||
* generated/_sqrt_c8.F90: Regenerated (comment change).
|
||
* generated/_sqrt_r10.F90: Regenerated (comment change).
|
||
* generated/_sqrt_r16.F90: Regenerated (comment change).
|
||
* generated/_sqrt_r4.F90: Regenerated (comment change).
|
||
* generated/_sqrt_r8.F90: Regenerated (comment change).
|
||
* generated/_tanh_r10.F90: Regenerated (comment change).
|
||
* generated/_tanh_r16.F90: Regenerated (comment change).
|
||
* generated/_tanh_r4.F90: Regenerated (comment change).
|
||
* generated/_tanh_r8.F90: Regenerated (comment change).
|
||
* generated/_tan_r10.F90: Regenerated (comment change).
|
||
* generated/_tan_r16.F90: Regenerated (comment change).
|
||
* generated/_tan_r4.F90: Regenerated (comment change).
|
||
* generated/_tan_r8.F90: Regenerated (comment change).
|
||
|
||
2011-08-18 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/50109
|
||
* io/list_read.c (eat_separator): Fix skipping over "!" lines.
|
||
|
||
2011-07-23 Andreas Schwab <schwab@linux-m68k.org>
|
||
|
||
* intrinsics/ctime.c: Include <stdlib.h>.
|
||
* intrinsics/getlog.c: Likewise.
|
||
* runtime/stop.c: Likewise.
|
||
|
||
2011-07-23 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/49791
|
||
* io/list_read.c (nml_parse_qualifier): Remove check to
|
||
enabled extended read for another case.
|
||
|
||
2011-07-15 Daniel Carrera <dcarrera@gmail.com>
|
||
|
||
* caf/mpi.c (caf_runtime_error): Change fprintf to vfprintf.
|
||
* caf/single.c (caf_runtime_error): Ditto.
|
||
|
||
2011-07-14 Daniel Carrera <dcarrera@gmail.com>
|
||
|
||
* caf/single.c: Include stdarg.h header.
|
||
(caf_runtime_error): New function. Use "exit(EXIT_FAILURE)".
|
||
(_gfortran_caf_register): Use caf_runtime_error.
|
||
(_gfortran_caf_sync_images): Use "exit(EXIT_FAILURE)".
|
||
* caf/mpi.c (caf_runtime_error): Remove "error" parameter.
|
||
Return EXIT_FAILURE instead.
|
||
(_gfortran_caf_register): Update call to caf_runtime_error.
|
||
(_gfortran_caf_sync_all): Ditto.
|
||
(_gfortran_caf_sync_images): Ditto.
|
||
(_gfortran_caf_error_stop_str): Use "exit(EXIT_FAILURE)".
|
||
|
||
2011-07-13 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/49296
|
||
* io/list_read.c (read_logical): Don't error out if a valid value
|
||
is followed by EOF instead of a normal separator.
|
||
(read_integer): Likewise.
|
||
|
||
2011-07-09 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* runtime/error.c (sys_abort): Change argument list
|
||
from "()" to "(void)".
|
||
|
||
2011-07-09 Tobias Burnus <burnus@net-b.de>
|
||
Daniel Carrera <dcarrera@gmail.com>
|
||
|
||
* caf/mpi.c (runtime_error): New function.
|
||
(_gfortran_caf_register): Use it.
|
||
(_gfortran_caf_sync_all): Use it, add STAT_STOPPED_IMAGE
|
||
as possible status value.
|
||
(_gfortran_caf_sync_images): Ditto.
|
||
|
||
2011-07-07 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* libcaf.h (__attribute__, unlikely, likely): New macros.
|
||
(caf_register_t): Update comment.
|
||
(_gfortran_caf_register): Add stat, errmsg, errmsg_len arguments.
|
||
* single.c (_gfortran_caf_register): Ditto; add error diagnostics.
|
||
* mpi.c (_gfortran_caf_register): Ditto.
|
||
(caf_is_finalized): New global variable.
|
||
(_gfortran_caf_finalize): Use it.
|
||
|
||
2011-07-05 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
* runtime/memory.c (internal_malloc_size): If size is zero,
|
||
allocate a single byte.
|
||
* m4/pack.m4 (pack_'rtype_code`): Don't check for zero size
|
||
for the argument of internal_malloc_size.
|
||
* m4/spread.m4 (spread_'rtype_code`): Likewise.
|
||
* m4/eoshift1.m4 (eoshift1): Don't allocate twice. Don't check
|
||
for zero size for the argument of internal_malloc_size.
|
||
* m4/eoshift3.m4: Don't check for zero size for the argument of
|
||
internal_malloc_size.
|
||
* intrinsics/pack_generic.c (pack_internal): Likewise.
|
||
(pack_s_internal): Likewise.
|
||
* intrinsics/cshift0.c (cshift0): Likewise.
|
||
* intrinsics/spread_generic.c (spread_internal): Likewise.
|
||
* intrinsics/eoshift0.c (eoshift0): Likewise.
|
||
* intrinsics/eoshift2.c (eoshift2): Likewise.
|
||
* generated/eoshift1_16.c: Regenerated.
|
||
* generated/eoshift1_4.c: Regenerated.
|
||
* generated/eoshift1_8.c: Regenerated.
|
||
* generated/eoshift3_16.c: Regenerated.
|
||
* generated/eoshift3_4.c: Regenerated.
|
||
* generated/eoshift3_8.c: Regenerated.
|
||
* generated/pack_c10.c: Regenerated.
|
||
* generated/pack_c16.c: Regenerated.
|
||
* generated/pack_c4.c: Regenerated.
|
||
* generated/pack_c8.c: Regenerated.
|
||
* generated/pack_i16.c: Regenerated.
|
||
* generated/pack_i1.c: Regenerated.
|
||
* generated/pack_i2.c: Regenerated.
|
||
* generated/pack_i4.c: Regenerated.
|
||
* generated/pack_i8.c: Regenerated.
|
||
* generated/pack_r10.c: Regenerated.
|
||
* generated/pack_r16.c: Regenerated.
|
||
* generated/pack_r4.c: Regenerated.
|
||
* generated/pack_r8.c: Regenerated.
|
||
* generated/spread_c10.c: Regenerated.
|
||
* generated/spread_c16.c: Regenerated.
|
||
* generated/spread_c4.c: Regenerated.
|
||
* generated/spread_c8.c: Regenerated.
|
||
* generated/spread_i16.c: Regenerated.
|
||
* generated/spread_i1.c: Regenerated.
|
||
* generated/spread_i2.c: Regenerated.
|
||
* generated/spread_i4.c: Regenerated.
|
||
* generated/spread_i8.c: Regenerated.
|
||
* generated/spread_r10.c: Regenerated.
|
||
* generated/spread_r16.c: Regenerated.
|
||
* generated/spread_r4.c: Regenerated.
|
||
* generated/spread_r8.c: Regenerated.
|
||
|
||
2011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR fortran/49479
|
||
* m4/reshape.m4: If source allocation is smaller than one, set it
|
||
to one.
|
||
* intrinsics/reshape_generic.c: Likewise.
|
||
* generated/reshape_r16.c: Regenerated.
|
||
* generated/reshape_c4.c: Regenerated.
|
||
* generated/reshape_c16.c: Regenerated.
|
||
* generated/reshape_c8.c: Regenerated.
|
||
* generated/reshape_r4.c: Regenerated.
|
||
* generated/reshape_i4.c: Regenerated.
|
||
* generated/reshape_r10.c: Regenerated.
|
||
* generated/reshape_r8.c: Regenerated.
|
||
* generated/reshape_c10.c: Regenerated.
|
||
* generated/reshape_i8.c: Regenerated.
|
||
* generated/reshape_i16.c: Regenerated.
|
||
|
||
2011-06-18 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/49296
|
||
* io/list_read.c (read_character): Accept EOF as a separator when
|
||
reading string.
|
||
|
||
2011-06-17 Daniel Carrera <dcarrera@gmail.com>
|
||
|
||
* caf/single.c (_gfortran_caf_register): Store the address
|
||
of all static coarrays in a linked list.
|
||
(_gfortran_caf_finalize): Free memory of staic coarrays.
|
||
* caf/mpi.c (_gfortran_caf_register): Store the address
|
||
of all static coarrays in a linked list. Initialize MPI
|
||
if necessary.
|
||
(_gfortran_caf_finalize): Free memory of staic coarrays.
|
||
(_gfortran_caf_init): Check if MPI is already initialized
|
||
before initializing again.
|
||
* caf/libcaf.h: Add a type to caf_register_t to distinguish
|
||
static coarrays and add the type caf_static_t to make the
|
||
linked list of static coarrays.
|
||
|
||
2011-06-11 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* io/unix.c (buf_seek): Return error if file is not seekable.
|
||
(buf_tell): Call buf_seek.
|
||
|
||
2011-06-11 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* io/unix.c (fd_to_stream): Figure out if a fd is seekable by
|
||
trying lseek().
|
||
|
||
2011-06-10 Daniel Carrera <dcarrera@gmail.com>
|
||
|
||
* caf/mpi.c (_gfortran_caf_sync_all,
|
||
_gfortran_caf_sync_images): Functions have void return type
|
||
and move status into parameter list.
|
||
* caf/single.c (_gfortran_caf_sync_all,
|
||
_gfortran_caf_sync_images): Functions have void return type
|
||
and move status into parameter list.
|
||
* caf/libcaf.h (_gfortran_caf_sync_all,
|
||
_gfortran_caf_sync_images): Functions have void return type
|
||
and move status into parameter list.
|
||
|
||
2011-06-03 Richard Henderson <rth@redhat.com>
|
||
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config/fpu-387.h [__sun__ && __svr4__] (sigill_hdlr): Correct
|
||
insn, insn size.
|
||
(has_sse) [!__x86_64__ && __sun__ && __svr4__]: Use movaps.
|
||
|
||
2011-05-29 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/48931
|
||
* libgfortran.h (find_addr2line): New prototype.
|
||
* runtime/backtrace.c (show_backtrace): Use async-signal-safe
|
||
execve and stored path of addr2line.
|
||
* runtime/compile_options.c (maybe_find_addr2line): New function.
|
||
(set_options): Call maybe_find_addr2line if backtracing is enabled.
|
||
* runtime/main.c (find_addr2line): New function.
|
||
(init): Call find_addr2line if backtracing is enabled.
|
||
(cleanup): Free addr2line_path.
|
||
|
||
2011-05-29 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/49214
|
||
* runtime/backtrace.c (fd_gets): Return NULL if nothing was read.
|
||
|
||
2011-05-29 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/19155
|
||
* io/read.c (convert_real): Check for invalid input by comparing
|
||
endptr instead of EINVAL.
|
||
(read_f): Fixup floating point input without significand.
|
||
|
||
2011-05-22 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* runtime/stop.c (stop_string,error_stop_string): Minor cleanup.
|
||
|
||
2011-05-22 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/48931
|
||
* configure.ac: Check for backtrace_symbols_fd instead of
|
||
backtrace_symbols, check for readlink.
|
||
* config.h.in: Regenerated.
|
||
* configure: Regenerated.
|
||
* runtime/backtrace.c (local_strcasestr): Remove.
|
||
(bt_header): New function.
|
||
(dump_glibc_backtrace): Remove.
|
||
(fd_gets): New function.
|
||
(show_backtrace): Rework to use backtrace_symbols_fd and pipes
|
||
avoiding functions that are not async-signal-safe, reformat
|
||
output.
|
||
* runtime/main.c (store_exe_path): Try to check /proc/self/exe
|
||
first.
|
||
|
||
2011-05-20 Janne Blomqvist <jb@gcc.gnu.org>
|
||
Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
PR libfortran/48977
|
||
* configure.host: Swap order of glibc and x86 tests.
|
||
|
||
2011-05-20 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* config/fpu-387.h (set_fpu): Use renamed inexact macro.
|
||
* config/fpu-aix.h (set_fpu): Clarify error messages, use renamed
|
||
inexact macro, set TRP_INEXACT for inexact exception instead of
|
||
TRP_UNDERFLOW.
|
||
* config/fpu-generic.h (set_fpu): Clarify error messages, use
|
||
renamed inexact macro.
|
||
* config/fpu-glibc.h (set_fpu): Likewise.
|
||
* config/fpu-sysv.h (set_fpu): Likewise.
|
||
|
||
2011-05-14 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* runtime/stop.c (error_stop_string, error_stop_numeric):
|
||
Do not backtrace for ERROR STOP.
|
||
|
||
2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/48915
|
||
* intrinsics/abort.c (abort): Call sys_abort().
|
||
* io/unix.c (st_vprintf): Call sys_abort().
|
||
* libgfortran.h (options_t): Remove dump_core member.
|
||
(handler): Rename to backtrace_handler.
|
||
(compile_options_t): Remove dump_core member.
|
||
(sys_exit): Remove.
|
||
(sys_abort): New function.
|
||
* runtime/backtrace.c (show_backtrace): Print a message if
|
||
backtrace is not available on target, update filter symbol name
|
||
due to backtrace_handler renaming.
|
||
* runtime/compile_options.c (backtrace_handler): New
|
||
implementation based on example in Glibc manual.
|
||
(set_options): Remove dump_core handling, make signal handler
|
||
handle more signals.
|
||
(init_compile_options): Remove dump_core.
|
||
* runtime/environ.c (variable_table[]): Remove
|
||
GFORTRAN_ERROR_DUMPCORE element.
|
||
(show_variables): Update name, call exit().
|
||
* runtime/error.c (sys_exit): Remove.
|
||
(sys_abort): New function.
|
||
(recursion_check): Call sys_abort().
|
||
(os_error): Call exit().
|
||
(runtime_error): Likewise.
|
||
(runtime_error_at): Likewise.
|
||
(internal_error): Likewise.
|
||
(generate_error): Likewise.
|
||
(notify_std): Likewise.
|
||
* runtime/stop.c (stop_numeric): Call exit().
|
||
(stop_numeric_f08): Likewise.
|
||
(stop_string): Likewise.
|
||
(error_stop_string): Call sys_abort().
|
||
(error_stop_numeric): Print backtrace, exit with provided code.
|
||
|
||
2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* io/unix.c (st_vprintf,st_printf): Move to runtime/error.c.
|
||
* libgfortran.h (struct options_t): Remove use_stderr field.
|
||
(st_vprintf,st_printf): Move prototypes.
|
||
(estr_write): New prototype.
|
||
* runtime/error.c (sys_exit): Use estr_write instead of st_printf.
|
||
(estr_write): New function.
|
||
(st_vprintf): Move from io/unix.c, use stack allocated buffer,
|
||
always output to stderr.
|
||
(st_printf): Move from io/unix.c.
|
||
(show_locus): Use a local variable instead of static.
|
||
(os_error): Use estr_write instead of st_printf.
|
||
(runtime_error): Likewise.
|
||
(runtime_error_at): Likewise.
|
||
(runtime_warning_at): Likewise.
|
||
(internal_error): Likewise.
|
||
(generate_error): Likewise.
|
||
(generate_warning): Likewise.
|
||
(notify_std): Likewise.
|
||
* runtime/pause.c (do_pause): Likewise.
|
||
(pause_string): Likewise.
|
||
* runtime/stop.c (stop_string): Likewise.
|
||
(error_stop_string): Likewise.
|
||
* config/fpu_aix.h (set_fpu): Likewise.
|
||
* config/fpu_generic.h (set_fpu): Likewise.
|
||
* config/fpu_glibc.h (set_fpu): Likewise.
|
||
* config/fpu-sysv.h (set_fpu): Likewise.
|
||
* runtime/backtrace.c (dump_glibc_backtrace): Likewise.
|
||
(show_backtrace): Likewise.
|
||
* runtime/environ.c (print_spaces): Likewise.
|
||
(show_string): Likewise.
|
||
(show_variables): Likewise.
|
||
(variable_table[]): Remove GFORTRAN_USE_STDERR entry.
|
||
|
||
2011-05-14 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/48961
|
||
* intrinsics/execute_command_line.c (set_cmdstat): Don't abort if
|
||
synchronously executing with WAIT=.false.
|
||
(execute_command_line): Fix setting of cmdstat and exitstat.
|
||
|
||
2011-05-06 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/18918
|
||
* caf/libcaf.h: Cleanup headers.
|
||
(_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub.
|
||
(caf_register_t): New enum.
|
||
(_gfortran_caf_register, _gfortran_caf_deregister): New prototype.
|
||
* caf/single.c (_gfortran_caf_critical,
|
||
_gfortran_caf_end_critical): Remove.
|
||
(_gfortran_caf_register, _gfortran_caf_deregister): New functions.
|
||
* caf/mpi.c (_gfortran_caf_critical,
|
||
_gfortran_caf_end_critical): Remove.
|
||
(_gfortran_caf_register, _gfortran_caf_deregister): New functions.
|
||
(caf_world_window): Remove global variable.
|
||
(_gfortran_caf_init): Fix off-by-one error of this_image.
|
||
|
||
2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/48787
|
||
* io/write_float.def (output_float): Adjust up and down rounding for
|
||
cases where 'd' = 0. Gather common code to one location.
|
||
|
||
2011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/48787
|
||
* io/write_float.def (output_float): Gather up integer declarations and
|
||
add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference
|
||
everywhere. For ROUND_UP scan the digit string and only perform
|
||
rounding if something other than '0' is found.
|
||
|
||
2011-04-29 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* io/unix.c (min): New macro.
|
||
(unpack_filename): Return errno number for errors.
|
||
(regular_file): Use appropriately sized buffer for path.
|
||
(compare_file_filename): Likewise.
|
||
(find_file): Likewise.
|
||
(delete_file): Likewise.
|
||
(file_exists): Likewise.
|
||
(file_size): Likewise.
|
||
(inquire_sequential): Likewise.
|
||
(inquire_direct): Likewise.
|
||
(inquire_formatted): Likewise.
|
||
(inquire_access): Likewise.
|
||
|
||
2011-04-29 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/48488
|
||
* io/write.c (write_real, write_real_g0): Update comments.
|
||
|
||
2011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libgfortran/48488
|
||
PR libgfortran/48602
|
||
PR libgfortran/48615
|
||
PR libgfortran/48684
|
||
PR libgfortran/48787
|
||
* io/write.c (write_d, write_e, write_f, write_en,
|
||
write_es): Add precision compemsation parameter to call.
|
||
(set_fnode_default): Adjust default widths to assure
|
||
round trip on write and read. (write_real): Adjust call to write_float.
|
||
(write_real_g0): Calculate compensation for extra precision and adjust
|
||
call to write_float.
|
||
* io/write_float.def (output_float_FMT_G_): Use volatile rather than
|
||
asm volatile to avoid optimization issue. Correctly calculate the
|
||
number of blanks (nb) to be appended and simplify calculation logic.
|
||
(write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
|
||
default widths. Eliminate the code that attempted to reduce the
|
||
the precision used in later sprintf functions. Add call parameter to
|
||
compensate for extra precision.
|
||
|
||
2011-04-20 Jim Meyering <meyering@redhat.com>
|
||
|
||
* intrinsics/move_alloc.c (move_alloc): Remove useless
|
||
if-before-free test.
|
||
* io/fbuf.c (fbuf_destroy): Likewise.
|
||
* io/format.c (save_parsed_format): Likewise.
|
||
* io/open.c (already_open): Likewise.
|
||
* io/unit.c (free_internal_unit, close_unit_1): Likewise.
|
||
* io/unix.c (mem_close): Likewise.
|
||
|
||
2011-04-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/48602
|
||
* io/write_float.def (output_float_FMT_G): Fix reversal in conditional.
|
||
Use asm volatile to mark temp variable, avoiding optimization errors.
|
||
|
||
2011-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/48602
|
||
* io/write_float.def (output_float_FMT_G): Use current rounding mode
|
||
to set the rounding parameters. (output_float): Skip rounding
|
||
if value is zero.
|
||
|
||
2011-04-16 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* intrinsics/date_and_time.c (date_and_time): Remove sprintf CPP
|
||
branch.
|
||
* io/format.c (format_error): Use snprintf instead of sprintf.
|
||
* io/list_read.c: Move snprintf fallback macro to libgfortran.h.
|
||
(convert_integer): Use snprintf instead of sprintf.
|
||
(parse_repeat): Likewise.
|
||
(read_logical): Likewise.
|
||
(read_integer): Likewise.
|
||
(read_character): Likewise.
|
||
(parse_real): Likewise.
|
||
(read_complex): Likewise.
|
||
(read_real): Likewise.
|
||
(check_type): Likewise.
|
||
(nml_parse_qualifier): Add string length argument, use snprintf
|
||
instead of sprintf.
|
||
(nml_get_obj_data): Use snprintf instead of sprintf.
|
||
* io/open.c (new_unit): Remove sprintf CPP branch, use snprintf
|
||
instead of sprintf.
|
||
* io/transfer.c (require_type): Use snprintf instead of sprintf.
|
||
* io/unix.c (tempfile): Likewise.
|
||
* io/write.c (nml_write_obj): Likewise.
|
||
* io/write_float.def (output_float): Remove sprintf CPP branch,
|
||
use snprintf instead of sprintf.
|
||
* libgfortran.h: Add fallback snprintf macro from io/list_read.c.
|
||
* runtime/backtrace.c (show_backtrace): Remove sprintf CPP branch.
|
||
* runtime/main.c (store_exe_path): Use snprintf instead of
|
||
sprintf.
|
||
|
||
2011-04-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/48589
|
||
* io/write_float.def (write_infnan): Set width properly for G0.
|
||
|
||
2011-04-15 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/18918
|
||
* Makefile.am: Build and install caf/single.c as
|
||
libcaf_single.a.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2011-04-15 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/47571
|
||
* configure: Regenerated.
|
||
* config.h.in: Regenerated.
|
||
* acinclude.m4: Add alpha*-dec-osf* to gthread blacklist.
|
||
* configure.ac: Use separate symbol for clock_gettime in librt.
|
||
* intrinsics/system_clock.c: Use weakrefs only when needed and
|
||
supported.
|
||
|
||
2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t,
|
||
check for ptrdiff_t.
|
||
* libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for
|
||
index_type, change cshift0* prototypes.
|
||
* config.h.in: Regenerated.
|
||
* configure: Regenerated.
|
||
* intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t.
|
||
* io/io.h (array_loop_spec): Use index_type instead of ssize_t.
|
||
* io/list_read.c (nml_parse_qualifier): Likewise.
|
||
* io/write.c (nml_write_obj): Likewise.
|
||
* m4/cshift0.c (cshift0_'rtype_code`): Likewise.
|
||
* generated/cshift0_*.c: Regenerated.
|
||
|
||
2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS.
|
||
* Makefile.in: Regenerated.
|
||
|
||
2011-04-06 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/18918
|
||
* caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
|
||
Add global variable caf_mpi_initialized and use it for when
|
||
finalizing.
|
||
|
||
2011-04-04 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.
|
||
(fallback_access, open_internal4, compare_file_filename,
|
||
find_file, file_size, inquire_sequential, inquire_direct,
|
||
inquire_formatted): Use "struct stat" instead of gfstat_t.
|
||
|
||
2011-03-27 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/18918
|
||
* caf/libcaf.h: New - coarray communication library.
|
||
* caf/mpi.c: New.
|
||
* caf/single.c: New.
|
||
|
||
2011-03-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/48030
|
||
* io/read.c (read_x): Re-implement using fbuf_getc.
|
||
|
||
2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
PR bootstrap/48135
|
||
* configure.ac (gfortran_use_symver): Handle --disable-symvers.
|
||
* configure: Regenerate.
|
||
|
||
2011-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||
|
||
PR fortran/35667
|
||
* io/io.h (convert_infnan): Declare.
|
||
* io/read.c (convert_infnan): New.
|
||
(read_f): Use convert_infnan to convert INFs and NANs.
|
||
* list_read.c (parse_real, read_real): Likewise.
|
||
|
||
2011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
PR libfortran/47439
|
||
* io/unix.c (tempfile): Work around poor mktemp() implementations.
|
||
|
||
2011-03-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
PR libfortran/47883
|
||
* acinclude.m4: Don't use AC_TRY_ macros.
|
||
* configure.ac: Likewise.
|
||
* configure: Regenerate.
|
||
|
||
2011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
|
||
PR libfortran/48066
|
||
* m4/ifunction.m4: If return array is empty, return.
|
||
* m4/ifunction_logical.m4: Likewise.
|
||
* generated/all_l16.c: Regenerated.
|
||
* generated/all_l1.c: Regenerated.
|
||
* generated/all_l2.c: Regenerated.
|
||
* generated/all_l4.c: Regenerated.
|
||
* generated/all_l8.c: Regenerated.
|
||
* generated/any_l16.c: Regenerated.
|
||
* generated/any_l1.c: Regenerated.
|
||
* generated/any_l2.c: Regenerated.
|
||
* generated/any_l4.c: Regenerated.
|
||
* generated/any_l8.c: Regenerated.
|
||
* generated/count_16_l.c: Regenerated.
|
||
* generated/count_1_l.c: Regenerated.
|
||
* generated/count_2_l.c: Regenerated.
|
||
* generated/count_4_l.c: Regenerated.
|
||
* generated/count_8_l.c: Regenerated.
|
||
* generated/maxloc1_16_i16.c: Regenerated.
|
||
* generated/maxloc1_16_i1.c: Regenerated.
|
||
* generated/maxloc1_16_i2.c: Regenerated.
|
||
* generated/maxloc1_16_i4.c: Regenerated.
|
||
* generated/maxloc1_16_i8.c: Regenerated.
|
||
* generated/maxloc1_16_r10.c: Regenerated.
|
||
* generated/maxloc1_16_r16.c: Regenerated.
|
||
* generated/maxloc1_16_r4.c: Regenerated.
|
||
* generated/maxloc1_16_r8.c: Regenerated.
|
||
* generated/maxloc1_4_i16.c: Regenerated.
|
||
* generated/maxloc1_4_i1.c: Regenerated.
|
||
* generated/maxloc1_4_i2.c: Regenerated.
|
||
* generated/maxloc1_4_i4.c: Regenerated.
|
||
* generated/maxloc1_4_i8.c: Regenerated.
|
||
* generated/maxloc1_4_r10.c: Regenerated.
|
||
* generated/maxloc1_4_r16.c: Regenerated.
|
||
* generated/maxloc1_4_r4.c: Regenerated.
|
||
* generated/maxloc1_4_r8.c: Regenerated.
|
||
* generated/maxloc1_8_i16.c: Regenerated.
|
||
* generated/maxloc1_8_i1.c: Regenerated.
|
||
* generated/maxloc1_8_i2.c: Regenerated.
|
||
* generated/maxloc1_8_i4.c: Regenerated.
|
||
* generated/maxloc1_8_i8.c: Regenerated.
|
||
* generated/maxloc1_8_r10.c: Regenerated.
|
||
* generated/maxloc1_8_r16.c: Regenerated.
|
||
* generated/maxloc1_8_r4.c: Regenerated.
|
||
* generated/maxloc1_8_r8.c: Regenerated.
|
||
* generated/maxval_i16.c: Regenerated.
|
||
* generated/maxval_i1.c: Regenerated.
|
||
* generated/maxval_i2.c: Regenerated.
|
||
* generated/maxval_i4.c: Regenerated.
|
||
* generated/maxval_i8.c: Regenerated.
|
||
* generated/maxval_r10.c: Regenerated.
|
||
* generated/maxval_r16.c: Regenerated.
|
||
* generated/maxval_r4.c: Regenerated.
|
||
* generated/maxval_r8.c: Regenerated.
|
||
* generated/minloc1_16_i16.c: Regenerated.
|
||
* generated/minloc1_16_i1.c: Regenerated.
|
||
* generated/minloc1_16_i2.c: Regenerated.
|
||
* generated/minloc1_16_i4.c: Regenerated.
|
||
* generated/minloc1_16_i8.c: Regenerated.
|
||
* generated/minloc1_16_r10.c: Regenerated.
|
||
* generated/minloc1_16_r16.c: Regenerated.
|
||
* generated/minloc1_16_r4.c: Regenerated.
|
||
* generated/minloc1_16_r8.c: Regenerated.
|
||
* generated/minloc1_4_i16.c: Regenerated.
|
||
* generated/minloc1_4_i1.c: Regenerated.
|
||
* generated/minloc1_4_i2.c: Regenerated.
|
||
* generated/minloc1_4_i4.c: Regenerated.
|
||
* generated/minloc1_4_i8.c: Regenerated.
|
||
* generated/minloc1_4_r10.c: Regenerated.
|
||
* generated/minloc1_4_r16.c: Regenerated.
|
||
* generated/minloc1_4_r4.c: Regenerated.
|
||
* generated/minloc1_4_r8.c: Regenerated.
|
||
* generated/minloc1_8_i16.c: Regenerated.
|
||
* generated/minloc1_8_i1.c: Regenerated.
|
||
* generated/minloc1_8_i2.c: Regenerated.
|
||
* generated/minloc1_8_i4.c: Regenerated.
|
||
* generated/minloc1_8_i8.c: Regenerated.
|
||
* generated/minloc1_8_r10.c: Regenerated.
|
||
* generated/minloc1_8_r16.c: Regenerated.
|
||
* generated/minloc1_8_r4.c: Regenerated.
|
||
* generated/minloc1_8_r8.c: Regenerated.
|
||
* generated/minval_i16.c: Regenerated.
|
||
* generated/minval_i1.c: Regenerated.
|
||
* generated/minval_i2.c: Regenerated.
|
||
* generated/minval_i4.c: Regenerated.
|
||
* generated/minval_i8.c: Regenerated.
|
||
* generated/minval_r10.c: Regenerated.
|
||
* generated/minval_r16.c: Regenerated.
|
||
* generated/minval_r4.c: Regenerated.
|
||
* generated/minval_r8.c: Regenerated.
|
||
* generated/product_c10.c: Regenerated.
|
||
* generated/product_c16.c: Regenerated.
|
||
* generated/product_c4.c: Regenerated.
|
||
* generated/product_c8.c: Regenerated.
|
||
* generated/product_i16.c: Regenerated.
|
||
* generated/product_i1.c: Regenerated.
|
||
* generated/product_i2.c: Regenerated.
|
||
* generated/product_i4.c: Regenerated.
|
||
* generated/product_i8.c: Regenerated.
|
||
* generated/product_r10.c: Regenerated.
|
||
* generated/product_r16.c: Regenerated.
|
||
* generated/product_r4.c: Regenerated.
|
||
* generated/product_r8.c: Regenerated.
|
||
* generated/sum_c10.c: Regenerated.
|
||
* generated/sum_c16.c: Regenerated.
|
||
* generated/sum_c4.c: Regenerated.
|
||
* generated/sum_c8.c: Regenerated.
|
||
* generated/sum_i16.c: Regenerated.
|
||
* generated/sum_i1.c: Regenerated.
|
||
* generated/sum_i2.c: Regenerated.
|
||
* generated/sum_i4.c: Regenerated.
|
||
* generated/sum_i8.c: Regenerated.
|
||
* generated/sum_r10.c: Regenerated.
|
||
* generated/sum_r16.c: Regenerated.
|
||
* generated/sum_r4.c: Regenerated.
|
||
* generated/sum_r8.c: Regenerated.
|
||
|
||
2011-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/48047
|
||
* io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.
|
||
|
||
2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/47802
|
||
* intrinsics/ctime.c (strctime): Use builtins to check localtime_r
|
||
return type.
|
||
|
||
2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/47802
|
||
* intrinsics/ctime.c (strctime): Don't use return value of
|
||
localtime_r.
|
||
|
||
2011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/47567
|
||
* io/write_float.def (output_float): Move handling of w = 0 to after
|
||
output rounding. Check for zero and set zero_flag accordingly. Set
|
||
width according to zero_flag. Add better comments.
|
||
|
||
2011-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/47778
|
||
* io/list_read.c (namelist_read): Intialize the error string buffere.
|
||
If pprev_nl was used during the previous namelist read and the rank
|
||
was zero, reset the pointer to NULL for the next namelist read.
|
||
|
||
2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
PR libfortran/45165
|
||
* unix.c (fallback_access): Fix file descriptor leaks.
|
||
|
||
2011-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
||
|
||
* acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable
|
||
tested in configure.host.
|
||
* configure: Regenerate.
|
||
|
||
2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/47802
|
||
* config.h.in: Regenerated.
|
||
* configure: Regenerated.
|
||
* configure.ac: Remove checks for ctime and ctime_r, add check for
|
||
strftime.
|
||
* intrinsics/date_and_time.c (localtime_r): Move fallback
|
||
implementation to time_1.h.
|
||
* intrinsics/time_1.h (localtime_r): Fallback implementation.
|
||
* intrinsics/ctime.c: Include time_1.h.
|
||
(ctime_r): Remove fallback implementation.
|
||
(strctime): New function.
|
||
(fdate): Use strctime instead of ctime_r.
|
||
(fdate_sub): Likewise.
|
||
(ctime): Likewise.
|
||
(ctime_sub): Likewise.
|
||
|
||
2011-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/47878
|
||
* io/transfer.c (read_sf): Call fbuf_getptr only at the end,
|
||
and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it.
|
||
|
||
2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/47802
|
||
* configure.ac: Add test for POSIX getpwuid_r.
|
||
* intrinsics/getlog.c (getlog): CPP test for
|
||
HAVE_POSIX_GETPWUID_R.
|
||
* config.h.in: Regenerated.
|
||
* configure: Regenerated.
|
||
|
||
2011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/47567
|
||
* io/write_float.def (output_float): Remove special case handling of
|
||
zero with width 1.
|
||
|
||
2011-02-23 Janne Blomqvist <jb@gcc.gnu.org>
|
||
Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libfortran/47694
|
||
* io/fbuf.h (fbuf_getptr): New inline function.
|
||
* io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan
|
||
through the string instead of fbuf_read.
|
||
|
||
2011-02-22 Tobias Burnus <burnus@net-b.de>
|
||
Kai-Uwe Eckhardt <kuehro@gmx.de>
|
||
|
||
PR libfortran/47830
|
||
* intrinsics/c99_functions.c (roundl): Make C valid for
|
||
HAVE_NEXTAFTERL.
|
||
|
||
2011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/47567
|
||
* io/write_float.def (output_float): Adjust width for F0.d to
|
||
allow space for negative signs on zero.
|
||
|
||
2011-02-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/47667
|
||
* io/list_read.c (read_logical): Check for end of line before calling
|
||
eat_line. (read_integer): Likewise. (parse_real): Don't unget the
|
||
separator. Check for end of line before calling eat_line.
|
||
(read_complex): Allow line-end before and after parenthesis and comma.
|
||
Check for end of line before calling eat_line. (read_real): Check for
|
||
end of line before calling eat_line.
|
||
|
||
2011-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR libfortran/47757
|
||
* gfortran.map (GFORTRAN_1.4): Export
|
||
_gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and
|
||
_gfortran_{cshift0,eoshift{0,2}}_16_char4.
|
||
|
||
2011-02-15 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR fortran/47716
|
||
PR fortran/47648
|
||
* acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from
|
||
libquadmath, which uses more features.
|
||
* configure: Regenerate.
|
||
|
||
2011-02-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/47642
|
||
* io/write_float.def (DTOAQ): Use quadmath_snprintf instead of
|
||
quadmath_flt128tostr.
|
||
* io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead
|
||
of quadmath_flt128tostr.
|
||
|
||
2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||
|
||
* Makefile.in: Regenerate.
|
||
* aclocal.m4: Likewise.
|
||
* configure: Likewise.
|
||
|
||
2011-02-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/47567
|
||
* io/write_float.def (output_float): Eliminate some redundant code.
|
||
Adjust width for case of F0.X for values of zero and all other values.
|
||
Expand cases where '*' is set to give cleaner results.
|
||
|
||
2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/47571
|
||
* intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c.
|
||
(weak_gettime): Likewise.
|
||
(gf_gettime): Change API, move weak_gettime() usage to
|
||
system_clock.c
|
||
* intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define.
|
||
(gf_gettime_mono): New function.
|
||
(system_clock_4): Use gf_gettime_mono().
|
||
(system_clock_8): Likewise.
|
||
* intrinsics/date_and_time.c (date_and_time): Update gf_gettime()
|
||
usage.
|
||
|
||
2011-02-02 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/47571
|
||
* configure: Regenerated.
|
||
* configure.ac: Don't add librt to LIBS.
|
||
* intrinsics/time_1.h (weak_gettime): Weakref trickery for
|
||
clock_gettime().
|
||
(gf_gettime): Use weak_gettime() instead of clock_gettime().
|
||
|
||
2011-02-01 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* intrinsics/time_1.h: Include errno.h needed by fallbacks.
|
||
|
||
2011-01-31 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro.
|
||
|
||
2011-01-31 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* configure.ac: Check for clock_gettime().
|
||
* configure: Regenerated.
|
||
* config.h.in: Regenerated.
|
||
* intrinsics/time_1.h (__time_1): Rename to gf_cputime, add
|
||
times() fallback.
|
||
(gf_gettime): New function.
|
||
* intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime.
|
||
* intrinsics/date_and_time.c (date_and_time): Use gf_gettime.
|
||
* intrinsics/dtime.c (dtime_sub): Use gf_cputime.
|
||
* intrinsics/etime.c (etime_sub): Use gf_cputime.
|
||
* intrinsics/system_clock.c (system_clock_4): Use gf_gettime.
|
||
(system_clock_8): Use gf_gettime, increase count rate to allow
|
||
nanosecond precision, remove overflow prone branch.
|
||
|
||
2011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/47434
|
||
* io/write_float.def (write_infnan): Use calculate_sign to determine
|
||
if the sign should be given and check field widths accordingly.
|
||
|
||
2011-01-29 Kai Tietz <kai.tietz@onevision.com>
|
||
|
||
* intrinsics/ctime.c (ctime_r): Improve implementation.
|
||
|
||
2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/47431
|
||
* config.h.in: Regenerated.
|
||
* configure: Regenerated.
|
||
* configure.ac: Add check for ctime_r().
|
||
* intrinsics/ctime.c (ctime_r): Fallback implementation.
|
||
(fdate): Use ctime_r() instead of ctime().
|
||
(fdate_sub): Likewise.
|
||
(ctime): Likewise.
|
||
(ctime_sub): Likewise.
|
||
|
||
2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/47432
|
||
* config.h.in: Regenerated.
|
||
* configure: Regenerated.
|
||
* configure.ac: Add check for ttyname_r.
|
||
* io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype.
|
||
* io/unix.c (stream_ttyname): Use ttyname_r if available, conform
|
||
to new prototype.
|
||
* io/inquire.c (inquire_via_unit): Use changed stream_ttyname.
|
||
* io/intrinsics.c (ttynam_sub): Likewise.
|
||
(ttynam): Likewise.
|
||
|
||
2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/47491
|
||
* configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common
|
||
extensions.
|
||
* config.h.in: Regenerate.
|
||
* configure: Regenerate.
|
||
|
||
2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/47285
|
||
* io/write_float.def (write_infnan): Adjust processor selected width
|
||
to 3 if NaN.
|
||
|
||
2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/47285
|
||
* io/write_float.def (output_float): Return SUCCESS or FAILURE and use
|
||
the result to set the padding.
|
||
|
||
2011-01-26 Kai Tietz <kai.tietz@onevision.com>
|
||
|
||
* intrinsics/getlog.c (getlog): Fix label/statement issue.
|
||
|
||
2011-01-25 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/47375
|
||
* config.h.in: Regenerated.
|
||
* configure: Regenerated.
|
||
* configure.ac: Add check for getpwuid_r.
|
||
* intrinsics/getlog.c (getlog): Use getpwuid_r() if available.
|
||
|
||
2011-01-22 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/46267
|
||
* config.h.in: Regenerated.
|
||
* configure: Regenerated.
|
||
* configure.ac: Check presence of strerror_r.
|
||
* intrinsics/gerror.c (gerror): Use gf_strerror, modify logic.
|
||
* io/unix.c (get_oserror): Remove.
|
||
* libgfortran.h (gf_strerror): Add prototype.
|
||
(get_oserror): Remove prototype.
|
||
* runtime/error.c (gf_strerror): New function.
|
||
(os_error): Use gf_strerror instead of get_oserror.
|
||
(generate_errror): Likewise.
|
||
|
||
2011-01-17 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
PR libfortran/47296
|
||
* io/unix.c (tempfile): Set opp->file and opp->file_len also if an
|
||
error occurs.
|
||
|
||
2011-01-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR fortran/46625
|
||
* io/write_float.def (DTOAQ): Use quadmath_flt128tostr
|
||
instead of quadmath_dtoa.
|
||
* io/transfer128.c (tmp1, tmp2): New variables, bring in
|
||
strtoflt128 and quadmath_flt128tostr.
|
||
(transfer_real128, transfer_real128_write, transfer_complex128,
|
||
transfer_complex128_write): Remove tmp1/tmp2 variables.
|
||
* io/read.c (convert_real): Use strtoflt128 instead of
|
||
quadmath_strtopQ, adjust for the changed arguments and return
|
||
value.
|
||
|
||
2011-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/47296
|
||
* io/unix.c (unpack_filename): Return non-zero if the filename passed
|
||
in is NULL.
|
||
|
||
2011-01-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libgfortran/47154
|
||
* io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the
|
||
duplicate calls via next_record.
|
||
|
||
|
||
Copyright (C) 2011 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|