OSDN Git Service

Daily bump.
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
index cca3bbe..d760b2f 100644 (file)
@@ -1,8 +1,627 @@
+2005-11-28  Steven G. Kargl  <kargls@comcast.net>
+
+       PR libgfortran/25149
+       * intrinsics/abort.c: Add external abort_ to allow linking when 
+       invoking -std=f95 in testsuite.
+
+2005-11-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/25109
+       * io/unit.c (init_units): Set default flag to BLANK_NULL per
+       requirement of F95 standard.  Set PAD_YES for stdin.
+
+2005-11-27  David Edelsohn  <edelsohn@gnu.org>
+
+       * intrinsics/random.c: Include config.h
+       * io/size_from_kind.c: Include config.h and libgfortran.h
+       * io/io.h: Revert 2005-11-21 change.
+
+2005-11-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * io/write.c (namelist_write): Correct type in previous
+       commit.
+
+2005-11-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR libfortran/24919
+       * io/list_read.c (eat_separator, finish_separator,
+       read_character): Handle CRLF separators correctly during reads.
+       (nml_query): Use the HAVE_CRLF macro to print adequate newlines.
+       * io/io.h (st_parameter_dt): Add comment about the possible
+       values for sf_seen_eor.
+       * io/unix.c (tempfile, regular_file): HAVE_CRLF doesn't imply
+       that O_BINARY is defined, so we add that condition.
+       (stream_at_bof): Fix typo in comment.
+       * io/transfer.c (read_sf): Handle correctly CRLF, setting
+       sf_seen_eor value to 2 instead of 1.
+       (formatted_transfer_scalar): Use the sf_seen_eor value to
+       handle CRLF the right way.
+       * io/write.c (nml_write_obj, namelist_write): Use CRLF as newline
+       when HAVE_CRLF is defined.
+
+2005-11-26  Richard Henderson  <rth@redhat.com>
+
+       * io/list_read.c (nml_parse_qualifier): Use ssize_t instead of int
+       in dtp->u.p.value.
+
+2005-11-26  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libgfortran/24945
+       * io/open.c (edit_modes): Check for STATUS_UNKNOWN flag.
+       
+2005-11-25  Richard Henderson  <rth@redhat.com>
+
+       * io/list_read.c (nml_parse_qualifier): Use memcpy to extract
+       values from dtp->u.p.value.
+       * io/io.h (struct st_parameter_dt): Change reversion_flag, first_item,
+       seen_dollar, sf_seen_eor, eor_condition, no_leading_blank, char_flag,
+       input_complete, at_eol, comma_flag, namelist_mode, nml_read_error to
+       single-bit fields.  Move value to where it'll be at least pointer
+       aligned.
+
+2005-11-23  Alan Modra  <amodra@bigpond.net.au>
+
+       * io/open.c (new_unit): Use the right unit number when checking
+       for stdin, stdout, stderr.
+
+2005-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/24794
+       * io/list_read.c (read_character): Add auto completion on short
+       namelist reads.
+
+2005-11-21  David Edelsohn  <edelsohn@gnu.org>
+
+       * io/io.h (_LARGE_FILES): Undefine for AIX.
+       (_LARGE_FILE_API): Define for AIX.
+
+2005-11-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/24774
+       PR fortran/14943
+       PR fortran/21647
+       * Makefile.am (AM_CPPFLAGS): Add gcc directories as -I paths,
+       add -D_GNU_SOURCE.
+       * Makefile.in: Regenerated.
+       * acinclude.m4 (LIBGFOR_CHECK_SYNC_FETCH_AND_ADD,
+       LIBGFOR_CHECK_GTHR_DEFAULT, LIBGFOR_CHECK_PRAGMA_WEAK): New macros.
+       * configure.ac: Add them.
+       * configure: Rebuilt.
+       * config.h.in: Rebuilt.
+       * libtool-version: Bump libgfortran.so SONAME to libgfortran.so.1.
+       * libgfortran.h (library_start, show_locus, internal_error,
+       generate_error, find_option): Add st_parameter_common * argument.
+       (library_end): Change into a dummy macro.
+       * io/io.h: Include gthr.h.
+       (SUPPORTS_WEAK): Define if HAVE_PRAGMA_WEAK.
+       (CHARACTER): Remove define.
+       (st_parameter, global_t): Remove typedef.
+       (ioparm, g, ionml, current_unit): Remove variables.
+       (init_error_stream): Remove prototype.
+       (CHARACTER1, CHARACTER2): Define.
+       (st_parameter_common, st_parameter_open, st_parameter_close,
+       st_parameter_filepos, st_parameter_inquire, st_parameter_dt): New
+       typedefs.
+       (IOPARM_LIBRETURN_MASK, IOPARM_LIBRETURN_OK, IOPARM_LIBRETURN_ERROR,
+       IOPARM_LIBRETURN_END, IOPARM_LIBRETURN_EOR, IOPARM_ERR, IOPARM_END,
+       IOPARM_EOR, IOPARM_HAS_IOSTAT, IOPARM_HAS_IOMSG, IOPARM_COMMON_MASK,
+       IOPARM_OPEN_HAS_RECL_IN, IOPARM_OPEN_HAS_FILE, IOPARM_OPEN_HAS_STATUS,
+       IOPARM_OPEN_HAS_ACCESS, IOPARM_OPEN_HAS_FORM, IOPARM_OPEN_HAS_BLANK,
+       IOPARM_OPEN_HAS_POSITION, IOPARM_OPEN_HAS_ACTION,
+       IOPARM_OPEN_HAS_DELIM, IOPARM_OPEN_HAS_PAD, IOPARM_CLOSE_HAS_STATUS,
+       IOPARM_INQUIRE_HAS_EXIST, IOPARM_INQUIRE_HAS_OPENED,
+       IOPARM_INQUIRE_HAS_NUMBER, IOPARM_INQUIRE_HAS_NAMED,
+       IOPARM_INQUIRE_HAS_NEXTREC, IOPARM_INQUIRE_HAS_RECL_OUT,
+       IOPARM_INQUIRE_HAS_FILE, IOPARM_INQUIRE_HAS_ACCESS,
+       IOPARM_INQUIRE_HAS_FORM, IOPARM_INQUIRE_HAS_BLANK,
+       IOPARM_INQUIRE_HAS_POSITION, IOPARM_INQUIRE_HAS_ACTION,
+       IOPARM_INQUIRE_HAS_DELIM, IOPARM_INQUIRE_HAS_PAD,
+       IOPARM_INQUIRE_HAS_NAME, IOPARM_INQUIRE_HAS_SEQUENTIAL,
+       IOPARM_INQUIRE_HAS_DIRECT, IOPARM_INQUIRE_HAS_FORMATTED,
+       IOPARM_INQUIRE_HAS_UNFORMATTED, IOPARM_INQUIRE_HAS_READ,
+       IOPARM_INQUIRE_HAS_WRITE, IOPARM_INQUIRE_HAS_READWRITE,
+       IOPARM_DT_LIST_FORMAT, IOPARM_DT_NAMELIST_READ_MODE,
+       IOPARM_DT_HAS_REC, IOPARM_DT_HAS_SIZE, IOPARM_DT_HAS_IOLENGTH,
+       IOPARM_DT_HAS_FORMAT, IOPARM_DT_HAS_ADVANCE,
+       IOPARM_DT_HAS_INTERNAL_UNIT, IOPARM_DT_HAS_NAMELIST_NAME,
+       IOPARM_DT_IONML_SET): Define.
+       (gfc_unit): Add lock, waiting and close fields.  Change file
+       from flexible array member into pointer to char.
+       (open_external): Add st_parameter_open * argument.
+       (find_file, file_exists): Add file and file_len arguments.
+       (flush_all_units): New prototype.
+       (max_offset, unit_root, unit_lock): New variable.
+       (is_internal_unit, is_array_io, next_array_record,
+       parse_format, next_format, unget_format, format_error,
+       read_block, write_block, next_record, convert_real,
+       read_a, read_f, read_l, read_x, read_radix, read_decimal,
+       list_formatted_read, finish_list_read, namelist_read,
+       namelist_write, write_a, write_b, write_d, write_e, write_en,
+       write_es, write_f, write_i, write_l, write_o, write_x, write_z,
+       list_formatted_write, get_unit): Add st_parameter_dt * argument.
+       (insert_unit): Remove prototype.
+       (find_or_create_unit, unlock_unit): New prototype.
+       (new_unit): Return gfc_unit *.  Add st_parameter_open *
+       and gfc_unit * arguments.
+       (free_fnodes): Remove prototype.
+       (free_format_data): New prototype.
+       (scratch): Remove.
+       (init_at_eol): Remove prototype.
+       (free_ionml): New prototype.
+       (inc_waiting_locked, predec_waiting_locked, dec_waiting_unlocked):
+       New inline functions.
+       * io/unit.c (max_offset, unit_root, unit_lock): New variables.
+       (insert): Adjust os_error caller.
+       (insert_unit): Made static.  Allocate memory here, initialize
+       lock and after inserting it return it, locked.
+       (delete_unit): Adjust for deletion of g.
+       (find_unit_1): New function.
+       (find_unit): Use it.
+       (find_or_create_unit): New function.
+       (get_unit): Add dtp argument, change meaning of the int argument
+       as creation request flag.  Adjust for different st_* calling
+       conventions, lock internal unit's lock before returning it
+       and removal of g.  Call find_unit_1 instead of find_unit.
+       (is_internal_unit, is_array_io): Add dtp argument, adjust for
+       removal of most of global variables.
+       (init_units): Initialize unit_lock.  Adjust insert_unit callers
+       and adjust for g removal.
+       (close_unit_1): New function.
+       (close_unit): Use it.
+       (unlock_unit): New function.
+       (close_units): Lock unit_lock, use close_unit_1 rather than
+       close_unit.
+       * io/close.c (st_close): Add clp argument.  Adjust for new
+       st_* calling conventions and internal function API changes.
+       * io/file_pos.c (st_backspace, st_endfile, st_rewind, st_flush):
+       Add fpp argument.  Adjust for new st_* calling conventions and
+       internal function API changes.
+       (formatted_backspace, unformatted_backspace): Likewise.  Add
+       u argument.
+       * io/open.c (edit_modes, st_open): Add opp argument.  Adjust for
+       new st_* calling conventions and internal function API changes.
+       (already_open): Likewise.  If not HAVE_UNLINK_OPEN_FILE, unlink
+       scratch file.  Instead of calling close_unit just call sclose,
+       free u->file if any and clear a few u fields before calling
+       new_unit.
+       (new_unit): Return gfc_unit *.  Add opp and u arguments.
+       Adjust for new st_* calling conventions and internal function
+       API changes.  Don't allocate unit here, rather than work with
+       already created unit u already locked on entry.  In case
+       of failure, close_unit it.
+       * io/unix.c: Include unix.h.
+       (BUFFER_SIZE, unix_stream): Moved to unix.h.
+       (unit_to_fd): Add unlock_unit call.
+       (tempfile): Add opp argument, use its fields rather than ioparm.
+       (regular_file): Likewise.
+       (open_external): Likewise.  Only unlink file if fd >= 0.
+       (init_error_stream): Add error argument, set structure it points
+       to rather than filling static variable and returning its address.
+       (FIND_FILE0_DECL, FIND_FILE0_ARGS): Define.
+       (find_file0): Use them.  Don't crash if u->s == NULL.
+       (find_file): Add file and file_len arguments, use them instead
+       of ioparm.  Add locking.  Pass either an array of 2 struct stat
+       or file and file_len pair to find_file0.
+       (flush_all_units_1, flush_all_units): New functions.
+       (file_exists): Add file and file_len arguments, use them instead
+       of ioparm.
+       * io/unix.h: New file.
+       * io/lock.c (ioparm, g, ionml): Remove variables.
+       (library_start): Add cmp argument, adjust for new st_* calling
+       conventions.
+       (library_end): Remove.
+       (free_ionml): New function.
+       * io/inquire.c (inquire_via_unit, inquire_via_filename,
+       st_inquire): Add iqp argument, adjust for new st_* calling
+       conventions and internal function API changes.
+       * io/format.c (FARRAY_SIZE): Decrease to 64.
+       (fnode_array, format_data): New typedefs.
+       (avail, array, format_string, string, error, saved_token, value,
+       format_string_len, reversion_ok, saved_format): Remove variables.
+       (colon_node): Add const.
+       (free_fnode, free_fnodes): Remove.
+       (free_format_data): New function.
+       (next_char, unget_char, get_fnode, format_lex, parse_format_list,
+       format_error, parse_format, revert, unget_format, next_test): Add
+       fmt or dtp arguments, pass it all around, adjust for internal
+       function API changes and adjust for removal of global variables.
+       (next_format): Likewise.  Constify return type.
+       (next_format0): Constify return type.
+       * io/transfer.c (current_unit, sf_seen_eor, eor_condition, max_pos,
+       skips, pending_spaces, scratch, line_buffer, advance_status,
+       transfer): Remove variables.
+       (transfer_integer, transfer_real, transfer_logical,
+       transfer_character, transfer_complex, transfer_array, current_mode,
+       read_sf, read_block, read_block_direct, write_block,
+       write_block_direct, unformatted_read, unformatted_write,
+       type_name, write_constant_string, require_type,
+       formatted_transfer_scalar, us_read, us_write, pre_position,
+       data_transfer_init, next_record_r, next_record_w, next_record,
+       finalize_transfer, iolength_transfer, iolength_transfer_init,
+       st_iolength, st_iolength_done, st_read, st_read_done, st_write,
+       st_write_done, st_set_nml_var, st_set_nml_var_dim,
+       next_array_record): Add dtp argument, pass it all around, adjust for
+       internal function API changes and removal of global variables.
+       * io/list_read.c (repeat_count, saved_length, saved_used,
+       input_complete, at_eol, comma_flag, last_char, saved_string,
+       saved_type, namelist_mode, nml_read_error, value, parse_err_msg,
+       nml_err_msg, prev_nl): Remove variables.
+       (push_char, free_saved, next_char, unget_char, eat_spaces,
+       eat_separator, finish_separator, nml_bad_return, convert_integer,
+       parse_repeat, read_logical, read_integer, read_character,
+       parse_real, read_complex, read_real, check_type,
+       list_formatted_read_scalar, list_formatted_read, finish_list_read,
+       find_nml_node, nml_untouch_nodes, nml_match_name, nml_query,
+       namelist_read): Add dtp argument, pass it all around, adjust for
+       internal function API changes and removal of global variables.
+       (nml_parse_qualifier): Likewise.  Add parse_err_msg argument.
+       (nml_read_obj): Likewise.  Add pprev_nl, nml_err_msg, clow and
+       chigh arguments.
+       (nml_get_obj_data): Likewise.  Add pprev_nl and nml_err_msg
+       arguments.
+       (init_at_eol): Removed.
+       * io/read.c (convert_real, read_l, read_a, next_char, read_decimal,
+       read_radix, read_f, read_x): Add dtp argument, pass it all around,
+       adjust for internal function API changes and removal of global
+       variables.
+       (set_integer): Adjust internal_error caller.
+       * io/write.c (no_leading_blank, nml_delim): Remove variables.
+       (write_a, calculate_sign, calculate_G_format, output_float,
+       write_l, write_float, write_int, write_decimal, write_i, write_b,
+       write_o, write_z, write_d, write_e, write_f, write_en, write_es,
+       write_x, write_char, write_logical, write_integer, write_character,
+       write_real, write_complex, write_separator,
+       list_formatted_write_scalar, list_formatted_write, nml_write_obj,
+       namelist_write): Add dtp argument, pass it all around, adjust for
+       internal function API changes and removal of global variables.
+       (extract_int, extract_uint, extract_real): Adjust internal_error
+       callers.
+       * runtime/fpu.c (_GNU_SOURCE): Don't define here.
+       * runtime/error.c: Include ../io/unix.h.
+       (filename, line): Remove variables.
+       (st_printf): Pass address of a local variable to init_error_stream.
+       (show_locus): Add cmp argument.  Use fields it points to rather than
+       filename and line variables.
+       (os_error, runtime_error): Remove show_locus calls.
+       (internal_error): Add cmp argument.  Pass it down to show_locus.
+       (generate_error): Likewise.  Use flags bitmask instead of non-NULL
+       check for iostat and iomsg parameter presence, adjust for st_*
+       calling convention changes.
+       * runtime/stop.c (stop_numeric, stop_string): Remove show_locus
+       calls.
+       * runtime/pause.c (pause_numeric, pause_string): Likewise.
+       * runtime/string.c: Include ../io/io.h.
+       (find_option): Add cmp argument.  Pass it down to generate_error.
+       * intrinsics/flush.c (recursive_flush): Remove.
+       (flush_i4, flush_i8): Use flush_all_units.  Add unlock_unit
+       call.
+       * intrinsics/rand.c: Include ../io/io.h.
+       (rand_seed_lock): New variable.
+       (srand, irand): Add locking.
+       (init): New constructor function.
+       * intrinsics/random.c: Include ../io/io.h.
+       (random_lock): New variable.
+       (random_r4, random_r8, arandom_r4, arandom_r8): Add locking.
+       (random_seed): Likewise.  open failed if fd < 0.  Set i correctly.
+       (init): New constructor function.
+       * intrinsics/system_clock.c (tp0, t0): Remove.
+       (system_clock_4, system_clock_8): Don't subtract tp0/t0 from current
+       time, use just integer arithmetics.
+       * intrinsics/tty.c (isatty_l4, isatty_l8, ttynam_sub): Add
+       unlock_unit calls.
+
+2005-11-20  Richard Henderson  <rth@redhat.com>
+
+        * Makefile.am: Revert 2005-11-14 change.  Enable -free-vectorize
+        via gmake per-target variables.
+       * Makefile.in, aclocal.m4: Regenerate.
+
+2005-11-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * configure.ac: Add "-I ." to the AM_FCFLAGS.
+       * configure: Regenerate.
+
+2005-11-18  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/fpu-glibc.h (set_fpu): Only call fedisableexcept for
+       nonzero FE_ALL_EXCEPT.
+
+2005-11-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR fortran/24892
+       * io/io.h (unit_access): Add ACCESS_APPEND.
+       * io/open.c (access_opt): Add APPEND value for ACCESS keyword.
+       (st_open): Use that new value to set the POSITION accordingly.
+
+2005-11-14  Janne Blomqvist  <jb@gcc.gnu.org>
+
+        PR fortran/21468
+        * Makefile.am: Add -ftree-vectorize for compiling matmul.
+        * m4/matmul.m4: Add const and restrict to type declarations as
+        appropriate.
+        * m4/matmull.m4: Likewise.
+        * Makefile.in: Regenerated.
+        * generated/matmul_*.c: Likewise.
+       
+2005-11-13  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * intrinsics/fget.c: New file.
+       * intrinsics/ftell.c: New file.
+       * io/unix.c (stream_offset): New function.
+       * io/io.h: Add prototype for stream_offset.
+       * Makefile.am: Add intrinsics/fget.c and intrinsics/ftell.c.
+       * Makefile.in: Regenerate.
+
+2005-11-12  Steven G. Kargl  <kargls@comcast.net>
+
+       PR libgfortran/24787
+       *  intrinsics/string_intrinsics.c (string_scan): Off by one; Fix typos
+       in nearby comment.
+
+2005-11-10  Andreas Jaeger  <aj@suse.de>
+
+       * libgfortran.h: Add proper defines where needed.
+
+2005-11-10  Andreas Jaeger  <aj@suse.de>
+
+       * libgfortran.h: Add missing prototypes for internal_pack
+       functions.
+
+2005-11-06  Janne Blomqvist <jb@gcc.gnu.org>
+
+       PR fortran/24174
+       PR fortran/24305
+       * io/io.h: Add argument to prototypes, add prototypes for
+       size_from_*_kind functions.
+       * io/list_read.c (read_complex): Add size argument, use
+       it.
+       (list_formatted_read): Add size argument, cleanup.
+       (list_formatted_read_scalar): Add size argument.
+       (nml_read_obj): Fix for padding.
+       * io/transfer.c: Add argument to transfer function pointer.
+       (unformatted_read): Add size argument.
+       (unformatted_write): Likewise.
+       (formatted_transfer_scalar): Fix for padding with complex(10).
+       (formatted_transfer): Add size argument, cleanup.
+       (transfer_integer): Add size argument to transfer call.
+       (transfer_real): Likewise.
+       (transfer_logical): Likewise.
+       (transfer_character): Likewise.
+       (transfer_complex): Likewise.
+       (transfer_array): New kind argument, use it.
+       (data_transfer_init): Add size argument to formatted_transfer
+       call.
+       (iolength_transfer): Add size argument, cleanup.
+       * io/write.c (write_complex): Add size argument, fix for padding
+       with complex(10).
+       (list_formatted_write): Add size argument, cleanup.
+       (list_formatted_write_scalar): Add size argument, use it.
+       (nml_write_obj): Fix for size vs. kind issue.
+       * io/size_from_kind.c: New file.
+       * Makefile.am: Add io/size_from_kind.c.
+       * configure: Regenerate.
+       * Makefile.in: Regenerate.
+
+2005-11-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * intrinsics/ctime.c: New file.
+       * configure.ac: Add check for ctime.
+       * Makefile.am: Add ctime.c
+       * configure: Regenerate.
+       * config.h.in: Regenerate.
+       * Makefile.in: Regenerate.
+
+2005-11-05  Richard Guenther  <rguenther@suse.de>
+
+       * configure.ac: Use AM_FCFLAGS for extra flags, not FCFLAGS.
+       * configure: Regenerate.
+
+2005-11-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * intrinsics/tty.c (ttynam): New function.
+
+2005-11-04  Steven G. Kargl <kargls@comcast.net>
+
+       PR fortran/24636
+       * runtime/stop.c (stop_numeric): Use stop_code = -1.
+
+2005-11-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR libfortran/22298
+       * runtime/main.c (stupid_function_name_for_static_linking): New
+       function.
+       * runtime/error.c (internal_error): Call
+       stupid_function_name_for_static_linking.
+       * libgfortran.h: Add prototype for
+       stupid_function_name_for_static_linking.
+
+2005-11-01  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/14994
+       * libgfortran/intrinsics/date_and_time.c: Add interface to
+       the functions date_and_time for the intrinsic function secnds.
+
+2005-10-31  Jerry DeLisle  <jvdelisle@verizon.net>
+
+       PR libgfortran/24584
+       * io/list_read.c (free_saved): Set saved_used to zero.
+
+2005-10-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR libfortran/20179
+       * io/unix.c (flush_if_preconnected): New function.
+       * io/io.h: Add prototype for flush_if_preconnected.
+       * io/transfer.c (data_transfer_init): Use flush_if_preconnected
+       to workaround buggy mixed C-Fortran code.
+
+2005-10-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * Makefile.am: Add intrinsics/malloc.c file.
+       * Makefile.in: Regenerate.
+       * intrinsics/malloc.c: New file, with implementations for free
+       and malloc library functions.
+
+2005-10-29  Mike Stump  <mrs@apple.com>
+
+       * Makefile.am (kinds.h): Remove target, if command fails.
+       (selected_int_kind.inc): Likewise.
+       (selected_real_kind.inc): Likewise.
+       * Makefile.in: Regenerate.
+
+2005-10-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+
+       * Makefile.am (intrinsics): Add signal.c.
+       * Makefile.in: Regenerate.
+       * configure.ac: Checks for signal and alarm.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * intrinsics/signal.c: New file for SIGNAL and ALARM intrinsics.
+
+2005-10-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): New check.
+       * configure.ac: Check for floatingpoint.h, fptrap.h and float.h
+       headers. Use LIBGFOR_CHECK_FPSETMASK. Check for fp_trap and
+       fp_enable functions.
+       * configure.host: Add case for systems with fpsetmask and systems
+       with fp_trap/fp_enable.
+       * config/fpu-sysv.h: New file, FPU code using fpsetmask.
+       * config/fpu-aix.h: New file, FPU code for AIX using fp_trap and
+       fp_enable.
+       * aclocal.m4: Regenerate.
+       * configure: Regenerate.
+       * config.h.in: Regenerate.
+
+2005-10-24  Jerry DeLisle  <jvdelisle@verizon.net>
+
+       PR libgfortran/24224
+       * libgfortran.h: Remove array stride error code.
+       * runtime/error.c: Remove array stride error.
+       * io/io.h: Change name of 'nml_loop_spec' to 'array_loop_spec' to be
+       generic.  Add pointer to array_loop_spec and rank to gfc_unit
+       structure.
+       * io/list_read.c: Revise nml_loop_spec references to array_loop_spec.
+       * io/transfer.c (init_loop_spec): New function to initialize
+       an array_loop_spec.
+       (next_array_record): New function to return the index to the next array
+       record by incrementing through the array_loop_spec.
+       (next_record_r): Use new function.
+       (next_record_w): Use new function.
+       (finalize_transfer): Free memory allocated for array_loop_spec.
+       * io/unit.c (get_array_unit_len): Delete this function. Use new
+       function init_loop_spec to initialize the array_loop_spec.
+
+2005-10-24  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/24416
+       * libgfortran/io/list_read.c (namelist_read): Exit with call to
+       free_saved () so that character strings do not accumulate.
+
+2005-10-23  Jerry DeLisle  <jvdelisle@verizon.net>
+
+       PR libgfortran/24489
+       * io/transfer.c (read_block): Change the order of execution to not read
+       past end-of-record.
+       (read_block_direct): Same change.
+
+2005-10-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR libfortran/23272
+       * acinclude.m4 (LIBGFOR_CHECK_WORKING_STAT): New check.
+       * configure.ac: Use LIBGFOR_CHECK_WORKING_STAT.
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * config.h.in: Regenerate.
+       * aclocal.m4: Regenerate.
+       * io/unix.c (compare_file_filename): Add fallback case for
+       systems without working stat.
+       * io/open.c (already_open): Correct call to
+       compare_file_filename.
+       * io/io.h: Correct proto for compare_file_filename.
+
+2005-10-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * runtime/fpu.c: Add _GNU_SOURCE definition.
+       * config/fpu-glibc.h: Remove __USE_GNU definition.
+
+2005-10-23  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/24384
+       * intrinsics/spread_generic.c (spread_internal_scalar): New
+       function that handles the special case of spread with a scalar
+       source. This has new interface functions -
+       (spread_scalar, spread_char_scalar): New functions to interface
+       with the calls specified in gfc_resolve_spread.
+
+2005-10-21  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR libfortran/24383
+       * io/unix.c: Add fallback definition for SSIZE_MAX.
+
+2005-10-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * c99_protos.h: Define preprocessor HAVE_ macros with value 1
+       instead of empty value.
+       * intrinsics/c99_functions.c: Likewise.
+       * intrinsics/getXid.c: Define HAVE_GETPID with value 1 instead of
+       empty value.
+       * intrinsics/sleep.c: Define HAVE_SLEEP with value 1 instead of
+       empty value.
+
+2005-10-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR libfortran/24432
+       * c99_protos.h: Define HAVE_ macros for all provided functions.
+
+2005-10-14  Uros Bizjak  <uros@kss-loka.si>
+
+       * config/fpu-387.h (set_fpu): Remove extra ":" in stmxcsr.
+       Change cw and cw_sse variables to unsigned.
+       (SSE): New definition.
+       (has_sse): Use it.
+
+2005-10-13  Thomas Koenig  <Thomas.Koenig@online.de>
+
+       * io/unix.c(fd_alloc_r_at):  Use read() instead of do_read()
+       only in case of special files (e.g. terminals).
+
+2005-10-13  Uros Bizjak  <uros@kss-loka.si>
+
+       * config/fpu-387.h (set_fpu): Add "=m" for stmxcsr.
+
+2005-10-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       * Makefile.am: Add fpu.c to the build process, and
+       target-dependent code as fpu-target.h.
+       * Makefile.in: Regenerate.
+       * configure.ac: Add call to configure.host to set
+       FPU_HOST_HEADER.
+       * configure: Regenerate.
+       * configure.host: New script to determine which host-dependent
+       code should go in.
+       * libgfortran.h: Add fpe option, remove previous fpu_ options.
+       Add bitmasks for different FPE traps. Add prototype for set_fpu.
+       * runtime/environ.c: Remove environment variables to control
+       fpu behaviour.
+       * runtime/fpu.c (set_fpe): New function for the front-end.
+       * runtime/main.c (init): Set FPU state.
+       * config: New directory to store host-dependent code.
+       * config/fpu-387.h: New file with code handling the i387 FPU.
+       * config/fpu-glibc.h: New file with code for glibc systems.
+       * config/fpu-generic.h: Fallback for the most generic host. Issue
+       warnings.
+
+2005-10-12  Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+       * io/unix.c(fd_alloc_r_at): Remove parts of patch of 2005/10/07 that
+       cause input from the terminal to hang.
+
 2005-10-11  Steven G. Kargl  <kargls@comcast.net>
 
        PR libgfortran/24313
        *  c99_functions.c (csqrtf, csqrt): Fix choice of branch cut.  Note
-       csqrt{f} were imported from glibc, and this bug is still present 
+       csqrt{f} were imported from glibc, and this bug is still present
        there. glibc PR is 1146.
 
 2005-10-07  Janne Blomqvist <jblomqvi@cc.hut.fi>
         * io/unix.c (mem_alloc_w_at): Remove call to generate_error end-of-file.
         * io/write.c (write_float): Add checks for NULL pointer returns from
         write_block calls. (write_integer): Same.
-        
+
 2005-10-03  Jakub Jelinek  <jakub@redhat.com>
 
        * runtime/memory.c (allocate_size): Malloc 1 byte if size == 0.