X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=libgfortran%2FChangeLog;h=56c5fcdcdbe0bd032a04df61231f49d627c423bd;hp=2efc5ce9505b182b5b7dc717527c763d3dd82945;hb=65a5a63e39b8eeb539b37435568fe615e1cd189f;hpb=2fd61f51c14f82db3980c0e71881e300fc6ac9fe diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 2efc5ce9505..56c5fcdcdbe 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,6 +1,1188 @@ +2007-07-21 Christopher D. Rickett + + PR fortran/32627 + * libgfortran/intrinsics/iso_c_generated_procs.c: Add c_f_pointer + for character/string arguments. + * libgfortran/intrinsic/iso_c_binding.c (c_f_pointer_u0): Allow + the optional SHAPE arg to be any valid integer kind. + * libgfortran/gfortran.map: Add c_f_pointer_s0. + * libgfortran/mk-kinds-h.sh: Save smallest integer kind as default + character kind. + * libgfortran/intrinsics/iso_c_generated_procs.c: Add versions of + c_f_pointer for complex and logical types. + * libgfortran/gfortran.map: Add c_f_pointer versions for logical + and complex types. + +2007-07-19 Christopher D. Rickett + + PR fortran/32600 + * libgfortran/intrinsics/iso_c_binding.c: Remove C_LOC. + * libgfortran/intrinsics/iso_c_binding.h: Ditto. + * libgfortran/gfortran.map: Ditto. + +2007-07-15 Jerry DeLisle + Francois-Xavier Coudert + + PR fortran/32611 + * runtime/compile_options.c (set_std): Remove. + (set_options): New function. + (init_compile_options): Add initialization for -fsign-zero option. + * gfortran.map (GFORTRAN_1.0): Rename _gfortran_set_std into + _gfortran_set_options. + * libgfortran.h (compile_options_t): Add sign_zero field. + * io/write.c (output_float): Use the sign bit of the value to determine + if a negative sign should be emitted for zero values. Do not emit the + negative sign for zero if -fno-sign-zero was set during compile. + +2007-07-14 Jerry DeLisle + + PR libgfortran/32752 + * io/unix.c (unix_stream): Move buffer pointer adjacent to small_buffer. + * io/transfer.c (formatted_transfer_scalar): If stream I/O, set + bytes_used to zero. Fix off by one error in calculation of pos and + skips. Eliminate duplicate pending_spaces check. + +2007-07-15 Francois-Xavier Coudert + + PR fortran/32357 + * intrinsics/mvbits.c: Change prototype so that FROMPOS, LEN and + TOPOS arguments are C int. + +2007-07-09 Jerry DeLisle + + PR libgfortran/32702 + * io/unix.c (unix_stream): Restore buffer pointer and small_buffer. + (fd_alloc): If the number of bytes needed is greater than the default + BUFFER_SIZE, allocate a new buffer large enough. Free the old buffer if + necessary. (fd_sfree): Restore use of buffer pointer. + (fd_close): Likewise. (fd_open): Likewise. + (init_error_stream): Likewise. + +2007-07-09 Thomas Koenig + + PR libfortran/32336 + * m4/matmul.m4: When the dimension of b is incorrect, + raise a runtime error instead of a failed assertion. + * generated/matmul_i1.c: Regenerated. + * generated/matmul_i2.c: Regenerated. + * generated/matmul_i4.c: Regenerated. + * generated/matmul_i8.c: Regenerated. + * generated/matmul_i16.c: Regenerated. + * generated/matmul_r4.c: Regenerated. + * generated/matmul_r8.c: Regenerated. + * generated/matmul_r10.c: Regenerated. + * generated/matmul_r16.c: Regenerated. + +2007-07-08 Jerry DeLisle + + PR libgfortran/32678 + * io/transfer.c (formatted_transfer_scalar): Don't allow pending_spaces + to go negative. + +2007-07-08 Thomas Koenig + + PR libfortran/32217 + * intrinsics/unpack_generic.c: If the destination array is + empty, return early. + +2007-07-05 H.J. Lu + + * aclocal.m4: Regenerated. + +2007-07-04 David Edelsohn + + * configure.ac: SUBST CFLAGS. + * configure: Regenerate. + +2007-07-03 Janne Blomqvist + + * libgfortran.h: Mark internal_malloc_size as a malloc function. + * runtime/memory.c (internal_realloc_size): Remove. + (internal_realloc): Call realloc directly instead of + internal_realloc_size. + (allocate_size): Remove. + (allocate): Call malloc directly instead of allocate_size, mark as + malloc function. + +2007-07-02 Steven G. Kargl + + Restore collateral damage from ISO C Binding merge. + + 2007-06-29 Jerry DeLisle + + PR libgfortran/32456 + * io/unit.c (filename_from_unit): Don't use find_unit, instead search + for unit directly. + + +2007-07-02 Steven G. Kargl + + * Makefile.in: Regenerated with automake 1.9.6. + +2007-07-02 Steven G. Kargl + + * Makefile.in: Remove extraneous kill.lo rule. + +2007-07-02 Janne Blomqvist + + PR fortran/32239 + * generated/pow_r*_i4.c: Removed. + +2007-07-01 Christopher D. Rickett + + * Makefile.in: Add support for iso_c_generated_procs.c and + iso_c_binding.c. + * Makefile.am: Ditto. + * intrinsics/iso_c_generated_procs.c: New file containing helper + functions. + * intrinsics/iso_c_binding.c: Ditto. + * intrinsics/iso_c_binding.h: New file + * gfortran.map: Include the __iso_c_binding_c_* functions. + * libgfortran.h: define GFC_NUM_RANK_BITS. + +2007-07-01 Janne Blomqvist + + PR fortran/32239 + * Makefile.am: Don't generate real**int4 pow functions. + * gfortran.map: Remove real**int4 pow symbols. + * Makefile.in: Regenerated. + +2007-07-01 Jerry DeLisle + + PR libgfortran/32554 + * io/write.c (output_float): Set edigits to a fixed size, avoiding + variation in field width calculation and eliminate buffer overrun. + +2007-07-01 Janne Blomqvist + + * runtime/memory.c (internal_realloc): Use index_type for size + argument instead of GFC_INTEGER_4. + (allocate_array): Likewise. + (allocate): Likewise, add ifdef around unnecessary check. + (internal_reallo64): Remove. + (allocate_array64): Remove. + (allocate64): Remove. + * gfortran.map: Remove symbols for 64-bit allocation functions. + +2007-06-29 Jerry DeLisle + + PR libgfortran/32456 + * io/unit.c (filename_from_unit): Don't use find_unit, instead search + for unit directly. + +2007-06-24 Adam Nemet + + PR libfortran/32495 + * runtime/backtrace.c (local_strcasestr): Rename from strcasestr. + (show_backtrace): Rename strcasestr to local_strcasestr. + +2007-06-24 Jerry DeLisle + + PR libgfortran/32456 + * runtime/error.c (show_locus): Update to emit the unit number + and file name involved with the error. Use new function + filename_from_unit. + * libgfortran.h (filename_from_unit): Declare new function. + * io/unit.c (init_units): Set the unit file name for stdin, stdout, + and stderr for use later in error reporting. + (filename_from_unit): Add this new function. + +2007-06-24 Jerry DeLisle + + PR libgfortran/32446 + * io/write.c (output_float): Calculate ndigits correctly for large + numbered formats that must pad zeros before the decimal point. + +2007-06-15 Rainer Orth + + PR libfortran/32345 + * runtime/backtrace.c (show_backtrace): Only use snprintf if + available. + +2007-06-10 Jerry DeLisle + + PR libgfortran/32235 + * io/transfer.c (st_read): Remove test for end of file condition. + (next_record_r): Add test for end of file condition. + +2007-06-02 Paolo Bonzini + + * configure: Regenerate. + +2007-05-28 Tobias Burnus + + PR fortran/32124 + * runtime/memory.c (allocate_size): Use ERROR_ALLOCATION. + (allocate,allocate64): Use stat variable if present. + +2007-05-27 Janne Blomqvist + + * runtime/string.c (compare0): Use gfc_charlen_type instead of + int. + (fstrlen): Likewise. + (find_option): Likewise. + (fstrcpy): Use gfc_charlen_type instead of int, return length. + (cf_strcpy): Likewise. + * libgfortran.h: Change string prototypes to use gfc_charlen_type. + * io/open.c (new_unit): Use snprintf if available. + * io/list_read.c (nml_touch_nodes): Use memcpy instead of + strcpy/strcat. + (nml_read_obj): Likewise. + * io/transfer.c (st_set_nml_var): Likewise. + * io/write.c (output_float): Use snprintf if available. + (nml_write_obj) Use memcpy instead of strcpy/strcat. + +2007-05-26 Janne Blomqvist + + * io/unix.c (unix_stream): Rearrange struct members, remove + small_buffer. + (int_stream): New struct. + (fd_alloc): Always use existing buffer, never reallocate. + (fd_sfree): Remove check for buffer != small_buffer. + (fd_close): Likewise. + (mem_alloc_r_at): Change to use int_stream. + (mem_alloc_w_at): Likewise. + (mem_read): Likewise. + (mem_write): Likewise. + (mem_set): Likewise. + (mem_truncate): Likewise. + (mem_close): Likewise. + (mem_sfree): Likewise. + (empty_internal_buffer): Likewise. + (open_internal): Likewise. + +2007-05-25 Jerry DeLisle + + * io/transfer.c (unformatted_read): Use size from front end eliminating + use of size_from_real_kind. (unformatted_write): Ditto. + +2007-05-23 Steve Ellcey + + * Makefile.in: Regenerate. + * configure: Regenerate. + * aclocal.m4: Regenerate. + +2007-05-22 Tobias Burnus + + * libgfortran.h: Mark stop_numeric as noreturn. + +2007-05-22 Tobias Burnus + + PR libgfortran/31295 + * intrinsics/eoshift0.c (eoshift0): Silence uninitialized warning. + * intrinsics/eoshift2.c (eoshift2): Ditto. + +2007-05-18 Jerry DeLisle + + PR libfortran/31964 + * intrinsics/ishftc.c (ishftc4, ishftc8, ishftc16): Fix mask to handle + shift of bit-size number of bits. + +2007-05-17 Tobias Burnus + + PR fortran/31917 + * runtime/environ.c (mark_range): Fix setting default convert unit. + +2007-05-15 Jerry DeLisle + + PR libfortran/31922 + * intrinsics/string_intrinsics.c (string_trim): Set result to null if + string length is zero. + +2007-05-15 Tobias Burnus + + PR libfortran/31915 + * io/transfer.c (unformatted_read): Use proper size for real(10). + (unformatted_write): Ditto. + +2007-05-14 Francois-Xavier Coudert + + PR fortran/30723 + * runtime/memory.c (internal_malloc, internal_malloc64, + internal_free): Remove. + * runtime/error.c (os_error): Export function. + * intrinsics/move_alloc.c: Include stdlib.h. + (move_alloc): Call free instead of internal_free. + (move_alloc_c): Wrap long lines. + * libgfortran.h (os_error): Export prototype. + (internal_free): Remove prototype. + * gfortran.map (GFORTRAN_1.0): Remove _gfortran_internal_free, + _gfortran_internal_malloc and _gfortran_internal_malloc64. + Add _gfortran_os_error. + +2007-05-09 Jerry DeLisle + + PR libfortran/31880 + * io/unix.c (fd_alloc_r_at): Fix calculation of physical offset. + +2007-05-07 Francois-Xavier Coudert + + PR libfortran/31607 + * intrinsics/system.c (system_sub): Call flush_all_units. + * io/io.h (flush_all_units): Move prototype to libgfortran.h. + * libgfortran.h (flush_all_units): Add prototype. + +2007-05-06 Jerry DeLisle + + PR libfortran/31201 + * runtime/error.c (runtime_error_at): New function. + (generate_error): Export this function. + * gfortran.map: Add _gfortran_generate_error and + _gfortran_runtime_error_at. + * libgfortran.h: Add comment to reference error codes in front end. + (library_start): Locate prototype with library_end macro and add + a new comment. Add prototype for runtime_error_at. Export prototype for + generate_error. + * io/lock.c (library_start): Fix check for error condition. + * io/transfer.c (data_transfer_init): Add library check. + +2007-05-04 Daniel Franke + + PR fortran/22359 + * io/intrinsics.c (fseek_sub): New. + * io/unix.c (fd_fseek): Change logical and physical offsets only + if seek succeeds. + * gfortran.map (fseek_sub): New. + +2007-05-04 Francois-Xavier Coudert + + PR libfortran/31210 + * io/transfer.c (transfer_character): Avoid passing a NULL + pointer as source to the transfer routines, if the string length + is zero. + +2007-04-28 Jerry DeLisle + + PR libfortran/31501 + * io/list_read.c (next_char): Fix whitespace. + * io/io.h: Remove prototypes and define macros for is_array_io, + is_stream_io, and is_internal_unit. + * io/unit.c (is_array_io), (is_internal_unit), (is_stream_io): Delete + these functions. + * io/transfer.c (read_sf): Change handling of internal_unit to make a + single call to salloc_r and use memcpy to transfer the data. + +2007-04-27 Jerry DeLisle + + PR libfortran/31532 + * io/file_pos.c (st_backspace): Set flags.position for end of file + condition and use new function update_position. + (st_endfile): Use new function update_position. + * io/io.h: Add prototype for new function. + * io/inquire.c (inquire_via_unit): If not direct access, set NEXTREC + to zero. + * io/unit.c (update_position): New function to update position info + used by inquire. + * io/transfer.c (next_record): Fix typo and use new function. + +2007-04-25 Francois-Xavier Coudert + + PR libfortran/31299 + * intrinsics/getlog.c: Use getpwuid and geteuid instead of + getlogin if they are available. + * configure.ac: Add checks for getpwuid and geteuid. + * configure: Regenerate. + * config.h.in: Regenerate. + +2007-04-25 Janne Blomqvist + + * configure: Regenerate using autoconf 2.59. + * Makefile.in: Likewise. + * config.h.in: Likewise. + +2007-04-24 Janne Blomqvist + + PR libfortran/27740 + * configure.ac: New test to determine if symbol versioning is + supported. + * Makefile.am: Use result of above test to add appropriate linker + flags. + * gfortran.map: New file. + * configure: Regenerated. + * Makefile.in: Regenerated. + * config.h.in: Regenerated. + +2007-04-23 Thomas Koenig + + PR fortran/31618 + * io/transfer.c (read_block_direct): Instead of calling us_read, + set dtp->u.p.current_unit->current_record = 0 so that pre_position + will read the record marker. + (data_transfer_init): For different error conditions, call + generate_error, then return. + +2007-04-19 Francois-Xavier Coudert + + * runtime/main.c (please_free_exe_path_when_done): New variable. + (store_exe_path): Initialize character buffer, and mark whether + exe_path should be free'd by the library destructor function. + (cleanup): Only free exe_path if needed. + +2007-04-18 Francois-Xavier Coudert + Tobias Burnus + + PR libfortran/31286 + PR libfortran/31296 + * intrinsics/cshift0.c (cshift0): Initialize sstride[0] and rstride[0]. + * intrinsics/unpack_generic.c (unpack0, unpack0_char): Zero the + array structures we pass to unpack_internal. + +2007-04-14 Jerry DeLisle + + * io/open.c (test_endfile): Revert changes for 31052, restoring this + function. + +2007-04-14 Steve Ellcey + + * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS. Add libgfortran_la_LINK. + * Makefile.in: Regenerate. + +2007-04-11 Kai Tietz + + * configure: Regenerate. + +2007-04-06 Francois-Xavier Coudert + + * intrinsics/cpu_time.c: Don't include headers already included + by libgfortran.h. Protect inclusion of sys/times.h. + * configure.ac: Remove unneeded checks for finit, stdio.h, + stddef.h, math.h and sys/params.h. + * config/fpu-aix.h: Don't include headers already included by + libgfortran.h. + * config/fpu-sysv.h: Likewise. + * io/write.c: Likewise. + * m4/minloc1.m4: Likewise. + * m4/maxloc1.m4: Likewise. + * m4/fraction.m4: Likewise. + * m4/set_exponent.m4: Likewise. + * m4/spacing.m4: Likewise. + * m4/minval.m4: Likewise. + * m4/maxval.m4: Likewise. + * m4/exponent.m4: Likewise. + * m4/nearest.m4: Likewise. + * m4/minloc0.m4: Likewise. + * m4/maxloc0.m4: Likewise. + * m4/rrspacing.m4: Likewise. + * runtime/main.c: Likewise. + * runtime/error.c: Likewise. + * intrinsics/system_clock.c: Likewise. + * intrinsics/etime.c: Likewise. + * intrinsics/stat.c: Likewise. + * intrinsics/date_and_time.c: Likewise. + * intrinsics/env.c: Likewise. + * intrinsics/kill.c: Likewise. + * intrinsics/getXid.c: Likewise. + * intrinsics/chmod.c: Likewise. + * intrinsics/args.c: Likewise. + * intrinsics/c99_functions.c: Likewise. + * generated/minval_r8.c: Regenerate. + * generated/maxloc1_4_r8.c: Regenerate. + * generated/minloc1_16_r16.c: Regenerate. + * generated/maxval_i2.c: Regenerate. + * generated/maxloc1_8_i4.c: Regenerate. + * generated/exponent_r16.c: Regenerate. + * generated/maxloc0_4_r4.c: Regenerate. + * generated/fraction_r16.c: Regenerate. + * generated/fraction_r4.c: Regenerate. + * generated/minloc0_4_r16.c: Regenerate. + * generated/minloc0_4_i1.c: Regenerate. + * generated/maxloc0_4_r16.c: Regenerate. + * generated/maxloc0_4_i2.c: Regenerate. + * generated/minloc1_8_r16.c: Regenerate. + * generated/maxloc1_8_r16.c: Regenerate. + * generated/set_exponent_r8.c: Regenerate. + * generated/maxloc0_8_i8.c: Regenerate. + * generated/minloc1_4_r8.c: Regenerate. + * generated/maxloc1_16_r16.c: Regenerate. + * generated/minloc1_16_i4.c: Regenerate. + * generated/maxloc1_16_i4.c: Regenerate. + * generated/minloc0_16_i8.c: Regenerate. + * generated/maxloc0_16_i8.c: Regenerate. + * generated/nearest_r8.c: Regenerate. + * generated/spacing_r16.c: Regenerate. + * generated/maxval_r16.c: Regenerate. + * generated/minloc1_8_i4.c: Regenerate. + * generated/minloc0_16_i16.c: Regenerate. + * generated/minloc0_4_r4.c: Regenerate. + * generated/set_exponent_r10.c: Regenerate. + * generated/rrspacing_r10.c: Regenerate. + * generated/minloc0_4_i2.c: Regenerate. + * generated/maxloc0_8_i1.c: Regenerate. + * generated/minloc0_8_i8.c: Regenerate. + * generated/spacing_r4.c: Regenerate. + * generated/minloc1_16_r10.c: Regenerate. + * generated/minloc0_16_i1.c: Regenerate. + * generated/maxloc0_16_i1.c: Regenerate. + * generated/maxloc1_8_r8.c: Regenerate. + * generated/minval_i16.c: Regenerate. + * generated/exponent_r10.c: Regenerate. + * generated/maxval_i4.c: Regenerate. + * generated/minval_i8.c: Regenerate. + * generated/maxloc1_4_i8.c: Regenerate. + * generated/fraction_r10.c: Regenerate. + * generated/maxloc0_16_i16.c: Regenerate. + * generated/maxloc0_8_r4.c: Regenerate. + * generated/rrspacing_r8.c: Regenerate. + * generated/minloc1_4_i16.c: Regenerate. + * generated/minloc0_4_r10.c: Regenerate. + * generated/maxloc1_4_i16.c: Regenerate. + * generated/minloc0_8_i16.c: Regenerate. + * generated/maxloc0_4_r10.c: Regenerate. + * generated/maxloc0_8_i16.c: Regenerate. + * generated/minloc1_8_r10.c: Regenerate. + * generated/minloc0_16_r4.c: Regenerate. + * generated/maxloc1_8_r10.c: Regenerate. + * generated/maxloc0_16_r4.c: Regenerate. + * generated/minloc1_16_r8.c: Regenerate. + * generated/minloc0_8_i1.c: Regenerate. + * generated/maxloc0_4_i4.c: Regenerate. + * generated/maxloc1_16_r8.c: Regenerate. + * generated/maxloc0_8_i2.c: Regenerate. + * generated/nearest_r16.c: Regenerate. + * generated/maxloc1_16_r10.c: Regenerate. + * generated/minloc0_16_i2.c: Regenerate. + * generated/minloc1_8_r8.c: Regenerate. + * generated/maxloc0_16_i2.c: Regenerate. + * generated/exponent_r4.c: Regenerate. + * generated/spacing_r10.c: Regenerate. + * generated/maxval_r10.c: Regenerate. + * generated/minval_i1.c: Regenerate. + * generated/maxloc1_4_i1.c: Regenerate. + * generated/minloc1_4_i8.c: Regenerate. + * generated/minloc0_8_r4.c: Regenerate. + * generated/minloc0_16_r16.c: Regenerate. + * generated/minloc0_4_i4.c: Regenerate. + * generated/minloc0_8_i2.c: Regenerate. + * generated/minval_r4.c: Regenerate. + * generated/maxloc1_4_r4.c: Regenerate. + * generated/maxval_r8.c: Regenerate. + * generated/minval_r16.c: Regenerate. + * generated/minloc1_4_i1.c: Regenerate. + * generated/minval_i2.c: Regenerate. + * generated/maxloc1_4_i2.c: Regenerate. + * generated/maxloc1_8_i8.c: Regenerate. + * generated/maxloc0_4_r8.c: Regenerate. + * generated/maxloc0_16_r16.c: Regenerate. + * generated/minloc1_4_r16.c: Regenerate. + * generated/fraction_r8.c: Regenerate. + * generated/maxloc1_4_r16.c: Regenerate. + * generated/set_exponent_r4.c: Regenerate. + * generated/minloc0_8_r16.c: Regenerate. + * generated/maxloc0_8_r16.c: Regenerate. + * generated/nearest_r10.c: Regenerate. + * generated/maxloc0_8_i4.c: Regenerate. + * generated/minloc1_4_r4.c: Regenerate. + * generated/minloc0_16_i4.c: Regenerate. + * generated/maxloc0_16_i4.c: Regenerate. + * generated/nearest_r4.c: Regenerate. + * generated/minloc1_16_i8.c: Regenerate. + * generated/maxloc1_16_i8.c: Regenerate. + * generated/minloc1_4_i2.c: Regenerate. + * generated/maxloc1_8_i1.c: Regenerate. + * generated/minloc0_16_r10.c: Regenerate. + * generated/minloc1_8_i8.c: Regenerate. + * generated/minloc0_4_r8.c: Regenerate. + * generated/minloc0_8_i4.c: Regenerate. + * generated/minloc1_16_i16.c: Regenerate. + * generated/spacing_r8.c: Regenerate. + * generated/maxloc1_8_r4.c: Regenerate. + * generated/minloc1_16_i1.c: Regenerate. + * generated/maxloc1_16_i1.c: Regenerate. + * generated/minval_r10.c: Regenerate. + * generated/minval_i4.c: Regenerate. + * generated/minloc1_8_i1.c: Regenerate. + * generated/maxloc1_4_i4.c: Regenerate. + * generated/maxloc1_8_i2.c: Regenerate. + * generated/maxval_i8.c: Regenerate. + * generated/maxloc0_16_r10.c: Regenerate. + * generated/rrspacing_r4.c: Regenerate. + * generated/minloc0_4_i16.c: Regenerate. + * generated/maxloc0_8_r8.c: Regenerate. + * generated/maxloc0_4_i16.c: Regenerate. + * generated/minloc1_4_r10.c: Regenerate. + * generated/minloc1_8_i16.c: Regenerate. + * generated/maxloc1_4_r10.c: Regenerate. + * generated/minloc0_8_r10.c: Regenerate. + * generated/maxloc1_8_i16.c: Regenerate. + * generated/maxloc0_8_r10.c: Regenerate. + * generated/minloc1_16_r4.c: Regenerate. + * generated/maxloc1_16_r4.c: Regenerate. + * generated/minloc0_16_r8.c: Regenerate. + * generated/maxloc0_16_r8.c: Regenerate. + * generated/maxloc0_4_i8.c: Regenerate. + * generated/maxloc1_16_i16.c: Regenerate. + * generated/minloc1_8_r4.c: Regenerate. + * generated/minloc1_16_i2.c: Regenerate. + * generated/maxloc1_16_i2.c: Regenerate. + * generated/maxval_i16.c: Regenerate. + * generated/exponent_r8.c: Regenerate. + * generated/minloc1_4_i4.c: Regenerate. + * generated/maxval_i1.c: Regenerate. + * generated/minloc1_8_i2.c: Regenerate. + * generated/minloc0_8_r8.c: Regenerate. + * generated/set_exponent_r16.c: Regenerate. + * generated/maxloc0_4_i1.c: Regenerate. + * generated/rrspacing_r16.c: Regenerate. + * generated/minloc0_4_i8.c: Regenerate. + * generated/maxval_r4.c: Regenerate. + * configure: Regenerate. + * config.h.in: Regenerate. + +2007-04-06 Jerry DeLisle + + PR libfortran/31395 + * io/format.c (parse_format_list): Fix parsing. + +2007-04-03 Francois-Xavier Coudert + + PR fortran/31304 + intrinsics/string_intrinsics.c (string_repeat): Remove. + +2007-04-01 Jerry DeLisle + + PR libfortran/31052 + * io/open.c (test_endfile): Delete this function. + (edit_modes): Delete call to test_endfile. + (new_unit): Likewise. + * io/io.h: Delete prototype for test_endfile. + * io/transfer.c (next_record_r): Remove use of test_endfile. + (st_read): Add test for end file condition and adjust status. + +2007-04-01 Jerry DeLisle + + PR libfortran/31366 + * io/transfer.c (read_block_direct): Do not generate error when reading + past EOF on a short record that is less than the RECL= specified. + +2007-04-01 Jerry DeLisle + + PR libfortran/31207 + * io/unit.c (close_unit_1): If there are bytes previously written from + ADVANCE="no", move to the end before closing. + +2007-03-31 Francois-Xavier Coudert + + PR libfortran/31335 + * intrinsics/stat.c: Only provide STAT and FSTAT library routines + if stat() and fstat() library functions are available. When lstat() + is not available, use stat() instead. + * configure.ac: Add checks for stat, fstat and lstat. + * configure: Regenerate. + * config.h.in: Regenerate. + +2007-03-27 Jerry DeLisle + + PR libfortran/31052 + * io/transfer.c (next_record_r): Do not call test_endfile if in namelist + mode. + +2007-03-25 Jerry DeLisle + + PR libfortran/31199 + * io/io.h: Add saved_pos to gfc_unit structure. + * io/open.c (new_unit): Initialize saved_pos. + * io/transfer.c (data_transfer_init): Set max_pos to value in saved_pos. + (next_record_w): Fix whitespace. + (finalze_transfer): Calculate max_pos for ADVANCE="no" and save it for + later use. If not ADVANCE="no" set saved_pos to zero. + +2007-03-25 Thomas Koenig + + PR libfortran/31196 + * intrinsics/reshape_generic.c (reshape_internal): Increment + correct variable. + +2007-03-22 Jerry DeLisle + + PR libfortran/31052 + * file_pos.c: Update Copyright year. + * io/open.c (test_endfile): Restore test_endfile to fix SPEC regression. + Update Copyright year. + * io/io.h: Same. + * io/unix.c (is_special): Add missing type for this function. + Update Copyright year. + * io/transfer.c (next_record_r): Restore test_endfile. + (st_read): Fix whitespace. Update Copyright year + +2007-03-20 Francois-Xavier Coudert + + * configure.ac: Add missing check for gettimeofday. + * config.h.in: Renegerate. + * configure: Regenerate. + +2007-03-18 Jerry DeLisle + + PR libfortran/31052 + * io/file_position (st_rewind): Fix comments. Remove use of + test_endfile. Don't seek if already at 0 position. Use new is_special + function to set endfile state. + * io/open.c (test_endfile): Delete this function. + * io/io.h: Delete prototype for test_endfile. Add prototype + for is_special. + * io/unix.c (is_special): New function. Fix whitespace. + * io/transfer.c (next_record_r): Remove use of test_endfile. + +2007-03-16 David Edelsohn + + * runtime/main.c: Include "config.h" first. + +2007-03-15 Jerry DeLisle + + PR libfortran/31099 + * io/file_pos.c (st_rewind): Don't set bytes_left to zero. + +2007-03-15 Francois-Xavier Coudert + + * runtime/backtrace.c: New file. + * runtime/environ.c (variable_table): New GFORTRAN_ERROR_BACKTRACE + environment variable. + * runtime/compile_options.c (set_std): Add new argument. + * runtime/main.c (store_exe_path, full_exe_path): New functions. + * runtime/error.c (sys_exit): Add call to show_backtrace. + * libgfortran.h (options_t): New backtrace field. + (store_exe_path, full_exe_path, show_backtrace): New prototypes. + * configure.ac: Add checks for execinfo.h, execvp, pipe, dup2, + close, fdopen, strcasestr, getrlimit, backtrace, backtrace_symbols + and getppid. + * Makefile.am: Add runtime/backtrace.c. + * fmain.c (main): Add call to store_exe_path. + * Makefile.in: Renegerate. + * config.h.in: Renegerate. + * configure: Regenerate. + +2007-03-14 Jerry DeLisle + + PR libfortran/31051 + * io/transfer.c (formatted_transfer_scalar): Adjust position for pending + spaces when in writing mode. Clean up some formatting. + +2007-03-14 Thomas Koenig + + PR libfortran/30690 + * all.m4: Quote everything, except for m4 macros. + * any.m4: Likewise. + * count.m4: Likewise. + * cshift1.m4: Likewise. + * eoshift1.m4: Likewise. + * eoshift3.m4: Likewise. + * exponent.m4: Likewise. + * fraction.m4: Likewise. + * in_pack.m4: Likewise. + * in_unpack.m4: Likewise. + * matmul.m4: Likewise. + * matmull.m4: Likewise. + * nearest.m4: Likewise. + * pow.m4: Likewise. + * product.m4: Likewise. + * reshape.m4: Likewise. + * rrspacing.m4: Likewise. + * set_exponent.m4: Likewise. + * shape.m4: Likewise. + * spacing.m4: Likewise. + * transpose.m4: Likewise. + +2007-03-14 Jakub Jelinek + + * io/unix.c (regular_file): For ACTION_UNSPECIFIED retry with + O_RDONLY even if errno is EROFS. + +2007-03-09 Jerry DeLisle + + PR libfortran/31099 + * io/open.c (new_unit): Initialize bytes_left and recl_subrecord. + * io/transfer.c (next_record_w): Set bytes left to record length for + sequential unformatted I/O. + (next_record_r): Ditto. + (read_block_direct): Fix test for exceeding bytes_left. + +2007-03-08 Daniel Franke + + PR fortran/30947 + * intrinsics/signal.c (alarm_sub_int): Avoid SEGFAULT with + integer arguments. + +2007-03-04 Thomas Koenig + + PR libfortran/30981 + * m4/pow_m4: Use appropriate unsigned int type for u. + * generated/pow_c10_i16.c: Regenerated. + * generated/pow_c10_i4.c: Regenerated. + * generated/pow_c10_i8.c: Regenerated. + * generated/pow_c16_i16.c: Regenerated. + * generated/pow_c16_i4.c: Regenerated. + * generated/pow_c16_i8.c: Regenerated. + * generated/pow_c4_i16.c: Regenerated. + * generated/pow_c4_i4.c: Regenerated. + * generated/pow_c4_i8.c: Regenerated. + * generated/pow_c8_i16.c: Regenerated. + * generated/pow_c8_i4.c: Regenerated. + * generated/pow_c8_i8.c: Regenerated. + * generated/pow_i16_i16.c: Regenerated. + * generated/pow_i16_i4.c: Regenerated. + * generated/pow_i16_i8.c: Regenerated. + * generated/pow_i4_i16.c: Regenerated. + * generated/pow_i4_i4.c: Regenerated. + * generated/pow_i4_i8.c: Regenerated. + * generated/pow_i8_i16.c: Regenerated. + * generated/pow_i8_i4.c: Regenerated. + * generated/pow_i8_i8.c: Regenerated. + * generated/pow_r10_i16.c: Regenerated. + * generated/pow_r10_i4.c: Regenerated. + * generated/pow_r10_i8.c: Regenerated. + * generated/pow_r16_i16.c: Regenerated. + * generated/pow_r16_i4.c: Regenerated. + * generated/pow_r16_i8.c: Regenerated. + * generated/pow_r4_i16.c: Regenerated. + * generated/pow_r4_i4.c: Regenerated. + * generated/pow_r4_i8.c: Regenerated. + * generated/pow_r8_i16.c: Regenerated. + * generated/pow_r8_i4.c: Regenerated. + * generated/pow_r8_i8.c: Regenerated. + +2007-03-03 Francois-Xavier Coudert + + PR libfortran/31001 + * intrinsics/pack_generic.c (pack_internal): Add special checks + for zero-sized arrays. + +2007-03-01 Brooks Moses + + * Makefile.am: Add dummy install-pdf target. + * Makefile.in: Regenerate + +2007-02-24 Jerry DeLisle + + PR libfortran/30918 + * io/listread.c (namelist_read): Eat comment line. + +2007-02-22 Jerry DeLisle + + PR libfortran/30910 + * io/write.c (output_float): Add condition of format F only for + special case rounding with zero precision. + +2007-02-19 Thomas Koenig + + PR libfortran/30533 + PR libfortran/30765 + * Makefile.am: Add $(srcdir) too all files in generated/. + (i_maxloc0_c): Add maxloc0_4_i1.c, maxloc0_8_i1.c, + maxloc0_16_i1.c, maxloc0_4_i2.c, maxloc0_8_i2.c and + maxloc0_16_i2.c. + (i_maxloc1_c): Add maxloc1_4_i1.c, maxloc1_8_i1.c, + maxloc1_16_i1.c, maxloc1_4_i2.c, maxloc1_8_i2.c and + maxloc1_16_i2.c. + (i_maxval_c): Add maxval_i1.c and maxval_i2.c. + (i_minloc0_c): Add minloc0_4_i1.c, minloc0_8_i1.c, + minloc0_16_i1.c, minloc0_4_i2.c, minloc0_8_i2.c and + minloc0_16_i2.c. + (i_minloc_1.c): Add minloc1_4_i1.c, minloc1_8_i1.c, + minloc1_16_i1.c, minloc1_4_i2.c, minloc1_8_i2.c and + minloc1_16_i2.c. + (i_minval_c): Add minval_i1.c and minval_i2.c. + (i_sum_c): Add sum_i1.c and sum_i2.c. + (i_product_c): Add product_i1.c and product_i2.c. + (i_matmul_c): Add matmul_i1.c and matmul_i2.c. + (gfor_built_specific_src): Remove $(srcdir) from target. + (gfor_bulit_specific2_src): Likewise. + Makefile.in: Regenerated. + libgfortran.h: Add GFC_INTEGER_1_HUGE and GFC_INTEGER_2_HUGE. + Add gfc_array_i1 and gfc_array_i2. + * generated/matmul_i1.c: New file. + * generated/matmul_i2.c: New file. + * generated/maxloc0_16_i1.c: New file. + * generated/maxloc0_16_i2.c: New file. + * generated/maxloc0_4_i1.c: New file. + * generated/maxloc0_4_i2.c: New file. + * generated/maxloc0_8_i1.c: New file. + * generated/maxloc0_8_i2.c: New file. + * generated/maxloc1_16_i1.c: New file. + * generated/maxloc1_16_i2.c: New file. + * generated/maxloc1_4_i1.c: New file. + * generated/maxloc1_4_i2.c: New file. + * generated/maxloc1_8_i1.c: New file. + * generated/maxloc1_8_i2.c: New file. + * generated/maxval_i1.c: New file. + * generated/maxval_i2.c: New file. + * generated/minloc0_16_i1.c: New file. + * generated/minloc0_16_i2.c: New file. + * generated/minloc0_4_i1.c: New file. + * generated/minloc0_4_i2.c: New file. + * generated/minloc0_8_i1.c: New file. + * generated/minloc0_8_i2.c: New file. + * generated/minloc1_16_i1.c: New file. + * generated/minloc1_16_i2.c: New file. + * generated/minloc1_4_i1.c: New file. + * generated/minloc1_4_i2.c: New file. + * generated/minloc1_8_i1.c: New file. + * generated/minloc1_8_i2.c: New file. + * generated/minval_i1.c: New file. + * generated/minval_i2.c: New file. + * generated/product_i1.c: New file. + * generated/product_i2.c: New file. + * generated/sum_i1.c: New file. + * generated/sum_i2.c: New file. + +2007-02-16 Francois-Xavier Coudert + + * runtime/memory.c (deallocate): Correct comment. + +2007-02-10 Thomas Koenig + + * Makefile.am: Use $(M4) instead of m4. + * Makefile.in: Regenerate. + +2007-02-10 Thomas Koenig + + * Makefile.am: Remove $(srcdir) from assorted targets + in maintainer mode. + * Makefile.in: Regenerate. + +2007-02-09 Thomas Koenig + Tobias Burnus + + PR fortran/30512 + * m4/iparm.m4: Use HUGE-1 for most negative integer. + * generated/maxloc1_8_i4.c: Regenerate. + * generated/maxloc0_8_i8.c: Regenerate. + * generated/maxloc1_16_i4.c: Regenerate. + * generated/maxloc0_16_i8.c: Regenerate. + * generated/maxval_i4.c: Regenerate. + * generated/maxloc1_4_i8.c: Regenerate. + * generated/maxloc0_16_i16.c: Regenerate. + * generated/maxloc1_4_i16.c: Regenerate. + * generated/maxloc0_8_i16.c: Regenerate. + * generated/maxloc0_4_i4.c: Regenerate. + * generated/maxloc1_8_i8.c: Regenerate. + * generated/maxloc0_8_i4.c: Regenerate. + * generated/maxloc0_16_i4.c: Regenerate. + * generated/maxloc1_16_i8.c: Regenerate. + * generated/maxloc1_4_i4.c: Regenerate. + * generated/maxval_i8.c: Regenerate. + * generated/maxloc0_4_i16.c: Regenerate. + * generated/maxloc1_8_i16.c: Regenerate. + * generated/maxloc0_4_i8.c: Regenerate. + * generated/maxloc1_16_i16.c: Regenerate. + * generated/maxval_i16.c: Regenerate. + +2007-02-04 Francois-Xavier Coudert + + PR fortran/30611 + * intrinsics/string_intrinsics.c (string_repeat): Don't check + if ncopies is negative. + +2007-02-04 Francois-Xavier Coudert + + PR libfortran/30007 + * libgfortran.h: Do not prefix symbol name with + __USER_LABEL_PREFIX__ when used in __attribute__((__alias__(...))). + +2007-02-02 Paul Thomas + + PR fortran/30284 + PR fortran/30626 + * io/transfer.c (init_loop_spec, next_array_record): Change to + lbound rather than unity base. + +2007-01-21 Francois-Xavier Coudert + + * runtime/error.c: Include sys/time.h before sys/resource.h. + +2007-01-21 Thomas Koenig + + PR libfortran/30525 + * intrinsics/string_intrinsics.c(compare_string): Make + sure that comparisons are done unsigned. + +2007-01-21 Tobias Burnus + + PR libfortran/30015 + * intrinsics/date_and_time.c (date_and_time): Fix case where time + can go backwards. + * configure.ac: Remove AC_TRY_RUN test for timezone in + gettimeofday. + * acinclude.m4: Ditto. + * configure: Regenerate. + * config.h.in: Regenerate. + +2007-01-20 Francois-Xavier Coudert + + * m4/misc_specifics.m4: Add _gfortran prefix to specific names. + * m4/specific2.m4: Likewise. + * m4/specific.m4: Likewise. + * intrinsics/f2c_specifics.F90: Likewise. + * intrinsics/selected_int_kind.f90: Add _gfortran prefix. + * intrinsics/selected_real_kind.f90: Likewise. + * intrinsics/dprod_r8.f90: Likewise. + * Makefile.am: Add -fallow-leading-underscore to the + gfor_specific_src files, as well as selected_real_kind.F90 + and selected_int_kind.F90 + * Makefile.in: Regenerate. + * generated/_sqrt_c8.F90: Regenerate. + * generated/_sign_r16.F90: Regenerate. + * generated/_log_c16.F90: Regenerate. + * generated/_sin_c10.F90: Regenerate. + * generated/_tanh_r4.F90: Regenerate. + * generated/_tanh_r8.F90: Regenerate. + * generated/_log10_r10.F90: Regenerate. + * generated/_aimag_c4.F90: Regenerate. + * generated/_sign_r4.F90: Regenerate. + * generated/_aimag_c8.F90: Regenerate. + * generated/_sign_r8.F90: Regenerate. + * generated/_mod_i4.F90: Regenerate. + * generated/_cos_r16.F90: Regenerate. + * generated/_aint_r10.F90: Regenerate. + * generated/_mod_i8.F90: Regenerate. + * generated/_abs_i16.F90: Regenerate. + * generated/_sqrt_c10.F90: Regenerate. + * generated/_atan2_r4.F90: Regenerate. + * generated/_cos_c4.F90: Regenerate. + * generated/_atan_r16.F90: Regenerate. + * generated/_tanh_r10.F90: Regenerate. + * generated/_atan2_r8.F90: Regenerate. + * generated/_cos_c8.F90: Regenerate. + * generated/_exp_r4.F90: Regenerate. + * generated/_log_r10.F90: Regenerate. + * generated/_exp_r8.F90: Regenerate. + * generated/_abs_r4.F90: Regenerate. + * generated/_abs_r8.F90: Regenerate. + * generated/_sin_r16.F90: Regenerate. + * generated/_tan_r4.F90: Regenerate. + * generated/_tan_r8.F90: Regenerate. + * generated/_sign_i4.F90: Regenerate. + * generated/_sign_i8.F90: Regenerate. + * generated/_exp_c16.F90: Regenerate. + * generated/_sqrt_r16.F90: Regenerate. + * generated/_conjg_c4.F90: Regenerate. + * generated/_conjg_c8.F90: Regenerate. + * generated/_dim_r16.F90: Regenerate. + * generated/_mod_r10.F90: Regenerate. + * generated/_abs_c10.F90: Regenerate. + * generated/_conjg_c16.F90: Regenerate. + * generated/_tan_r16.F90: Regenerate. + * generated/_asinh_r10.F90: Regenerate. + * generated/_abs_i4.F90: Regenerate. + * generated/_abs_i8.F90: Regenerate. + * generated/_acos_r10.F90: Regenerate. + * generated/_exp_r10.F90: Regenerate. + * generated/_acosh_r16.F90: Regenerate. + * generated/_atan2_r16.F90: Regenerate. + * generated/_cos_c16.F90: Regenerate. + * generated/_mod_i16.F90: Regenerate. + * generated/_asin_r4.F90: Regenerate. + * generated/_anint_r16.F90: Regenerate. + * generated/_asin_r8.F90: Regenerate. + * generated/_aimag_c10.F90: Regenerate. + * generated/_exp_c4.F90: Regenerate. + * generated/_sinh_r10.F90: Regenerate. + * generated/_exp_c8.F90: Regenerate. + * generated/_log10_r4.F90: Regenerate. + * generated/_log10_r8.F90: Regenerate. + * generated/_abs_c4.F90: Regenerate. + * generated/_abs_r16.F90: Regenerate. + * generated/_abs_c8.F90: Regenerate. + * generated/_asin_r10.F90: Regenerate. + * generated/_sign_r10.F90: Regenerate. + * generated/_atanh_r16.F90: Regenerate. + * generated/_log_c10.F90: Regenerate. + * generated/_cosh_r16.F90: Regenerate. + * generated/_sin_c16.F90: Regenerate. + * generated/_cos_r10.F90: Regenerate. + * generated/_log10_r16.F90: Regenerate. + * generated/_aint_r16.F90: Regenerate. + * generated/_acos_r4.F90: Regenerate. + * generated/_acos_r8.F90: Regenerate. + * generated/_sqrt_c16.F90: Regenerate. + * generated/_acosh_r4.F90: Regenerate. + * generated/_atan_r10.F90: Regenerate. + * generated/_acosh_r8.F90: Regenerate. + * generated/_sign_i16.F90: Regenerate. + * generated/_tanh_r16.F90: Regenerate. + * generated/_log_r4.F90: Regenerate. + * generated/_log_r8.F90: Regenerate. + * generated/_sin_r4.F90: Regenerate. + * generated/_sin_r8.F90: Regenerate. + * generated/_log_r16.F90: Regenerate. + * generated/_sin_r10.F90: Regenerate. + * generated/_sqrt_r4.F90: Regenerate. + * generated/_exp_c10.F90: Regenerate. + * generated/_sqrt_r8.F90: Regenerate. + * generated/_asinh_r4.F90: Regenerate. + * generated/_sqrt_r10.F90: Regenerate. + * generated/_asinh_r8.F90: Regenerate. + * generated/_dim_r4.F90: Regenerate. + * generated/_dim_r8.F90: Regenerate. + * generated/_dim_r10.F90: Regenerate. + * generated/_cosh_r4.F90: Regenerate. + * generated/_conjg_c10.F90: Regenerate. + * generated/_tan_r10.F90: Regenerate. + * generated/_cosh_r8.F90: Regenerate. + * generated/_mod_r16.F90: Regenerate. + * generated/_abs_c16.F90: Regenerate. + * generated/_cos_r4.F90: Regenerate. + * generated/_asinh_r16.F90: Regenerate. + * generated/_cos_r8.F90: Regenerate. + * generated/_atanh_r4.F90: Regenerate. + * generated/_atanh_r8.F90: Regenerate. + * generated/_acos_r16.F90: Regenerate. + * generated/_anint_r4.F90: Regenerate. + * generated/_acosh_r10.F90: Regenerate. + * generated/_anint_r8.F90: Regenerate. + * generated/_exp_r16.F90: Regenerate. + * generated/_mod_r4.F90: Regenerate. + * generated/_cos_c10.F90: Regenerate. + * generated/_atan2_r10.F90: Regenerate. + * generated/_dim_i16.F90: Regenerate. + * generated/_mod_r8.F90: Regenerate. + * generated/_anint_r10.F90: Regenerate. + * generated/_aint_r4.F90: Regenerate. + * generated/_aint_r8.F90: Regenerate. + * generated/_dim_i4.F90: Regenerate. + * generated/_sinh_r4.F90: Regenerate. + * generated/_log_c4.F90: Regenerate. + * generated/_dim_i8.F90: Regenerate. + * generated/_sinh_r8.F90: Regenerate. + * generated/_log_c8.F90: Regenerate. + * generated/_sin_c4.F90: Regenerate. + * generated/_sin_c8.F90: Regenerate. + * generated/misc_specifics.F90: Regenerate. + * generated/_abs_r10.F90: Regenerate. + * generated/_aimag_c16.F90: Regenerate. + * generated/_atan_r4.F90: Regenerate. + * generated/_sinh_r16.F90: Regenerate. + * generated/_atan_r8.F90: Regenerate. + * generated/_atanh_r10.F90: Regenerate. + * generated/_cosh_r10.F90: Regenerate. + * generated/_sqrt_c4.F90: Regenerate. + * generated/_asin_r16.F90: Regenerate. + +2007-01-19 Francois-Xavier Coudert + + PR libfortran/26893 + * acinclude.m4 (LIBGFOR_WORKING_GFORTRAN): New check. + * configure.ac: Add call to LIBGFOR_WORKING_GFORTRAN. + * configure: Regenerate. + * config.h.in: Regenerate because it was forgottent in the last + commit. + +2007-01-18 Francois-Xavier Coudert + Tobias Burnus + + PR libfortran/29649 + * runtime/environ.c (variable_table): New GFORTRAN_ERROR_DUMPCORE + environment variable. + * runtime/compile_options.c (set_std): Add new argument. + * runtime/error.c (sys_exit): Move from io/unix.c. Add coredump + functionality. + * libgfortran.h (options_t): New dump_core and backtrace members. + (sys_exit): Move prototype. + * io/unix.c (sys_exit): Move to runtime/error.c. + * configure.ac: Add check for getrlimit. + * configure: Regenerate. + 2007-01-17 Tom Tromey - PR libgfortran/27107: + PR libfortran/27107: * aclocal.m4, configure, Makefile.in: Rebuilt. * configure.ac: Enable automake dependency tracking. Update minimum automake version. @@ -36,14 +1218,14 @@ 2007-01-12 Jerry DeLisle - PR libgfortran/30435 + PR libfortran/30435 * io/list_read.c (finish_separator): Don't call next_record. (list_formatted_read_scalar): Clean up some comments and whitespace. (nml_read_obj): Whitespace fix. 2007-01-05 Jerry DeLisle - PR libgfortran/30162 + PR libfortran/30162 * io/unix.c (fd_flush): Don't seek if file is not seekable, defined as s->file_length == -1. (fd_alloc_w_at): Do not adjust file_length if file is not seekable.