summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-01 17:14:35 +0000
committerkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>2006-01-01 17:14:35 +0000
commit9815425b85a72d2c663dd09e2e7aa02af7c1b5b3 (patch)
treea034ea972623e4f26d7c9cb1caf816f95fb8a7de
parent7f1fc9392231df89c2725d41bc8b0a0d7c2518fd (diff)
downloadgcc-9815425b85a72d2c663dd09e2e7aa02af7c1b5b3.tar.gz
* Split the ChangeLog into years.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109225 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libgfortran/ChangeLog4629
-rw-r--r--libgfortran/ChangeLog-200260
-rw-r--r--libgfortran/ChangeLog-2003542
-rw-r--r--libgfortran/ChangeLog-20041104
-rw-r--r--libgfortran/ChangeLog-20052915
5 files changed, 4627 insertions, 4623 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index efd38f64cb5..36d412ce75d 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,4624 +1,7 @@
-2005-12-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+2006-01-01 Steven G. Kargl <kargls@comcast.net>
- PR libgfortran/25594
- PR libgfortran/25419
- * io/list_read.c (list_formatted_read_scalar): Test for comma to return
- a null value (default). Revert patch of 25419 on 2005-12-28.
-
-2005-12-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/25139
- * io/unix.c (fd_truncate): Set s->active to zero.
- PR libgfortran/25510
- * libgfortran.h: Add ERROR_INTERNAL and ERROR_INTERNAL_UNIT.
- * runtime/error.c (translate_error): Add messages for new errors.
- * io/list_read.c (next_char): Use new errors.
- * io/transfer.c (next_record_r) (next_record_w): Use new errors.
-
-2005-12-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/25550
- * io/file_pos.c (st_rewind): Reset bytes left so no error occurs in
- next_record_r.
-
-2005-12-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/25419
- * io/list_read.c (list_formatted_read_scalar): Allow comma to return a
- null value (default).
-
-2005-12-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/25307
- * io/list_read.c (next_char): Handle end-of-file conditions for
- internal units and add support for internal character array units.
-
-2005-12-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/25463
- * io/transfer.c (finalize_transfer): Fix execution order so that
- next_record is set to zero in all cases.
-
-2005-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/25264
- PR libgfortran/25349
- * io/unit.c (get_unit): Delete code that cleared the string when the
- unit was opened, which is too soon.
- * io/transfer.c (next_record_w): Pass done flag in. Change logic for
- setting max_pos. Add code to position unit and pad record as needed.
-
-2005-12-13 Richard Sandiford <richard@codesourcery.com>
- Victor Leikehman <LEI@il.ibm.com>
-
- * m4/matmul.m4: Use a different order in the special case of a
- transposed first argument.
- * generated/matmul_c4.c, generated/matmul_c8.c, generated/matmul_c10.c,
- * generated/matmul_c16.c, generated/matmul_i4.c, generated/matmul_i8.c,
- * generated/matmul_i10.c, generated/matmul_r4.c, generated/matmul_r8.c
- * generated/matmul_r10.c, generated/matmul_r16.c: Regenerated.
-
-2005-12-10 Janne Blomqvist <jb@gcc.gnu.org>
-
- * Makefile.am: Enable loop unrolling for matmul.
- * configure: Regenerated.
- * Makefile.in: Regenerated.
- * aclocal.m4: Regenerated.
-
-2005-12-10 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR fortran/23815
- * io/file_pos.c (unformatted_backspace): If flags.convert
- does not equal CONVERT_NATIVE, reverse the record marker.
- * io/open.c: Add convert_opt[].
- (st_open): If no convert option is given, set CONVERT_NATIVE.
- If CONVERT_BIG or CONVERT_LITTLE are given, set flags.convert to
- CONVERT_NATIVE or CONVERT_SWAP (depending on wether we have
- a big- or little-endian system).
- * io/transfer.c (unformatted_read): Remove unused attribute
- from arguments.
- If we need to reverse
- bytes, break up large transfers into a loop. Split complex
- numbers into its two parts.
- (unformatted_write): Likewise.
- (us_read): If flags.convert does not equal CONVERT_NATIVE,
- reverse the record marker.
- (next_record_w): Likewise.
- (reverse_memcpy): New function.
- * io/inquire.c (inquire_via_unit): Implement convert.
- * io/io.h (top level): Add enum unit_convert.
- Add convert to st_parameter_open and st_parameter_inquire.
- Define IOPARM_OPEN_HAS_CONVERT and IOPARM_INQUIRE_HAS_CONVERT.
- Increase padding for st_parameter_dt.
- Declare reverse_memcpy().
-
-2005-12-09 Jakub Jelinek <jakub@redhat.com>
-
- PR libfortran/24991
- * acinclude.m4: Include acx.m4 and no-executables.m4.
- * configure.ac: Add GCC_TOPLEVEL_SUBDIRS.
- * configure: Rebuilt.
- * Makefile.am (AM_CPPFLAGS): Use $(host_subdir) in build dir
- path.
- * Makefile.in: Rebuilt.
-
-2005-12-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/25039
- * io/io.h: Create a new flag sf_read_comma to control comma
- separators in numeric reads.
- * io/transfer.c (formatted_transfer_scalar): Initialize the flag.
- (read_sf): Check for commas coming in and if the flag is set,
- shortcut the read.
- * io/read.c (read_a) (read_x): Clear the flag for character reads and
- reset it after the reads.
-
-2005-12-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * io/format.c: Removing unused code.
- * intrinsics/random.c: Likewise.
-
-2005-12-02 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/25116
- * io/transfer.c (data_transfer_init): Don't set the default for
- namelist I/O on preconnected files to UNFORMATTED.
-
-2005-11-30 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * libgfortran.h (ILP32 typedefs): Define _UINT8_T, _UINT32_T and
- _UINT64_T on Solaris.
-
-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-28 Jakub Jelinek <jakub@redhat.com>
-
- PR libfortran/24991
- * acinclude.m4 (LIBGFOR_CHECK_PRAGMA_WEAK): Rename to...
- (LIBGFOR_GTHREAD_WEAK): ... this. Define SUPPORTS_WEAK rather
- than HAVE_PRAGMA_WEAK. Define GTHREAD_USE_WEAK to 0 on hosts
- that shouldn't use weak in gthr.h.
- * configure.ac: Use LIBGFOR_GTHREAD_WEAK instead of
- LIBGFOR_CHECK_PRAGMA_WEAK.
- * config.h.in: Regenerated.
- * configure: Regenerated.
- * io/io.h (SUPPORTS_WEAK): Don't define here.
-
- * intrinsics/ftell.c (ftell, FTELL_SUB): Add unlock_unit call.
- * intrinsics/fget.c (fgetc, fputs): Likewise.
- * intrinsics/tty.c (ttynam): Likewise.
-
-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-27 Janne Blomqvist <jb@gcc.gnu.org>
-
- * m4/ifunction.m4: Add const restrict to function arguments.
- * m4/iforeach.m4: Likewise.
- * m4/eoshift1.m4: Likewise.
- * m4/eoshift3.m4: Likewise.
- * m4/dotprod.m4: Likewise.
- * m4/dotprodc.m4: Likewise.
- * m4/dotprodl.m4: Likewise.
- * m4/shape.m4: Likewise.
- * m4/cshift1.m4: Likewise.
- * m4/reshape.m4: Likewise.
- * m4/transpose.m4: Likewise.
- * generated/eoshift*: Regenerated
- * generated/dotprod*: Likewise.
- * generated/shape*: Likewise.
- * generated/cshift1*: Likewise.
- * generated/reshape*: Likewise.
- * generated/transpose*: Likewise.
-
-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
- there. glibc PR is 1146.
-
-2005-10-07 Janne Blomqvist <jblomqvi@cc.hut.fi>
-
- PR fortran/16339
- PR fortran/23363
- * io/io.h: Add read and write members to stream, define access
- macros.
- * io/transfer.c (read_block_direct): New function.
- (write_block_direct): New function.
- (unformatted_read): Change to use read_block_direct.
- (unformatted_write): Change to use write_block_direct.
- * io/unix.c: Remove mmap includes and defines.
- (writen): Remove.
- (readn): Remove.
- (reset_stream): New function.
- (do_read): New function.
- (do_write): New function.
- (fd_flush): Change to use do_write() instead of writen().
- (fd_alloc_r_at): Change to use do_read().
- (fd_seek): Change return type to try, as the prototype. Add check
- to avoid syscall overhead if possible.
- (fd_read): New function.
- (fd_write): New function.
- (fd_open): Set pointers for new functions.
- (mem_read): New function.
- (mem_write): New function.
- (open_internal): Set pointers for new functions.
- (is_seekable): Clean up comment.
-
-2005-10-07 Jerry DeLisle <jvdelisle@verizon.net>
-
- * io/transfer.c (write_block): Add test for end-of-file condition,
- removed from mem_alloc_w_at. (next_record_w): Clean up checks for
- NULL pointer returns from s_alloc_w.
- * 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.
-
-2005-10-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/19308
- PR libfortran/22437
- * Makefile.am: Add generated files for large real and integers
- kinds. Add a rule to create the kinds.inc c99_protos.inc files.
- Use kinds.inc to preprocess Fortran generated files.
- * libgfortran.h: Add macro definitions for GFC_INTEGER_16_HUGE,
- GFC_REAL_10_HUGE and GFC_REAL_16_HUGE. Add types gfc_array_i16,
- gfc_array_r10, gfc_array_r16, gfc_array_c10, gfc_array_c16,
- gfc_array_l16.
- * mk-kinds-h.sh: Define macros HAVE_GFC_LOGICAL_* and
- HAVE_GFC_COMPLEX_* when these types are available.
- * intrinsics/ishftc.c (ishftc16): New function for GFC_INTEGER_16.
- * m4/all.m4, m4/any.m4, m4/count.m4, m4/cshift1.m4, m4/dotprod.m4,
- m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
- m4/exponent.m4, m4/fraction.m4, m4/in_pack.m4, m4/in_unpack.m4,
- m4/matmul.m4, m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4,
- m4/maxval.m4, m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/mtype.m4,
- m4/nearest.m4, m4/pow.m4, m4/product.m4, m4/reshape.m4,
- m4/set_exponent.m4, m4/shape.m4, m4/specific.m4, m4/specific2.m4,
- m4/sum.m4, m4/transpose.m4: Protect generated functions with
- appropriate "#if defined (HAVE_GFC_type_kind)" preprocessor directives.
- * Makefile.in: Regenerate.
- * all files in generated/: Regenerate.
-
-2005-10-01 Jakub Jelinek <jakub@redhat.com>
-
- * runtime/memory.c (malloc_t): Remove.
- (GFC_MALLOC_MAGIC, HEADER_SIZE, DATA_POINTER, DATA_HEADER): Remove.
- (mem_root, runtime_cleanup, malloc_with_header): Remove.
- (internal_malloc_size): Use just get_mem if size != 0, return NULL
- otherwise.
- (internal_free): Just free if non-NULL.
- (internal_realloc_size): Remove debugging stuff.
- (allocate_size): Use malloc directly, remove debugging stuff.
- (deallocate): Use free directly, fix error message wording.
-
- * libgfortran.h (GFC_ITOA_BUF_SIZE, GFC_XTOA_BUF_SIZE,
- GFC_OTOA_BUF_SIZE, GFC_BTOA_BUF_SIZE): Define.
- (gfc_itoa, xtoa): Add 2 extra arguments.
- * runtime/environ.c: Include stdio.h.
- (check_buffered): Use sprintf.
- * runtime/error.c: Include assert.h.
- (gfc_itoa, xtoa): Add 2 extra arguments, avoid using static
- buffers.
- (st_printf, st_sprintf): Adjust callers.
- * io/write.c (otoa, btoa): Add 2 extra arguments, avoid using
- static buffers.
- (write_int, write_decimal): Add 2 extra arguments to conv
- function pointer, adjust caller.
- (write_integer): Adjust gfc_itoa caller.
-
- * io/unit.c (get_array_unit_len): Return 0 rather than NULL.
-
- * io/read.c (read_f): Remove spurious pointer dereference.
-
-2005-09-30 Janne Blomqvist <jblomqvi@cc.hut.fi>
-
- PR 24112
- * io/open.c (edit_modes): Check for correct flag.
-
-2005-09-29 Jakub Jelinek <jakub@redhat.com>
-
- * runtime/string.c (find_option): Change 3rd argument to
- const st_option *.
- * libgfortran.h (find_option): Likewise.
- * runtime/environ.c (rounding, precision, signal_choices): Constify.
- (init_choice, show_choice): Change 2nd argument to const choice *.
- * io/open.c (access_opt, action_opt, blank_opt, delim_opt, form_opt,
- position_opt, status_opt, pad_opt): Constify.
- * io/transfer.c (advance_opt): Likewise.
- * io/inquire.c (undefined): Likewise.
- * io/close.c (status_opt): Likewise.
- * io/format.c (posint_required, period_required, nonneg_required,
- unexpected_element, unexpected_end, bad_string, bad_hollerith,
- reversion_error): Likewise.
- * io/unix.c (yes, no, unknown): Change from const char *
- into const char [].
-
-2005-09-27 Steve Ellcey <sje@cup.hp.com>
-
- PR target/23552
- * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): New.
- (LIBGFOR_CHECK_FOR_BROKEN_ISNAN): New.
- (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): New.
- * configure.ac (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): Add use.
- (LIBGFOR_CHECK_FOR_BROKEN_ISNAN): Add use.
- (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): Add use.
- * configure: Regenerate.
- * config.h.in: Regenerate.
- * libgfortan.h (isfinite): undef if broken, set if needed.
- (isnan): undef if broken, set if needed.
- (fpclassify): undef if broken, set if needed.
- * io/write.c: Remove TODO comment about working isfinite.
- * intrinsics/c99_functions.c (round): Use isfinite instead
- of fpclassify.
- * intrinsics/c99_functions.c (roundf): Ditto.
-
-2005-09-24 Janne Blomqvist <jblomqvi@cc.hut.fi>
-
- * io.h: Changed prototypes of list_formatted_{read|write}.
- * list_read.c (list_formatted_read): Renamed to
- list_formatted_read_scalar and made static.
- (list_formatted_read): New function.
- * transfer.c: Prototype for transfer_array. Changed transfer
- function pointer.
- (unformatted_read): Add nelems argument, use it.
- (unformatted_write): Likewise.
- (formatted_transfer): Changed name to formatted_transfer_scalar.
- (formatted_transfer): New function.
- (transfer_integer): Add nelems argument to transfer call, move
- updating item count to transfer functions.
- (transfer_real): Likewise.
- (transfer_logical): Likewise.
- (transfer_character): Likewise.
- (transfer_complex): Likewise.
- (transfer_array): New function.
- (data_transfer_init): Call formatted_transfer with new argument.
- (iolength_transfer): New argument, use it.
- * write.c (list_formatted_write): Renamed to
- list_formatted_write_scalar, made static.
- (list_formatted_write): New function.
-
-2005-09-26 David Edelsohn <edelsohn@gnu.org>
-
- * configure.ac: Add check for __clog.
- * configure: Regenerate.
-
-2005-09-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * c99_protos.h: Add prototypes for C99 complex functions.
- * libgfortran.h: Include complex.h before c99_protos.h.
- * intrinsics/c99_functions.c: Define HAVE_ macros for the
- fallback functions we provide.
- (cabsf, cabs, cabsl, cargf, carg, cargl, cexpf, cexp, cexpl,
- clogf, clog, clogl, clog10f, clog10, clog10l, cpowf, cpow, cpowl,
- cqsrtf, csqrt, csqrtl, csinhf, csinh, csinhl, ccoshf, ccosh,
- ccoshl, ctanhf, ctanh, ctanhl, csinf, csin, csinl, ccosf, ccos,
- ccosl, ctanf, ctan, ctanl): New fallback functions.
- * Makefile.am (gfor_math_trig_c, gfor_math_trig_obj,
- gfor_specific_c, gfor_cmath_src, gfor_cmath_obj): Remove.
- * Makefile.in: Regenerate.
- * configure.ac: Remove checks for csin. Add checks for all C99
- complex functions.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * aclocal.m4: Regenerate.
-
-2005-09-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
- Danny Smith <dannysmith@users.sourceforge.net>
-
- PR libfortran/23803
- * intrinsics/getXid.c: Add getpid wrapper for MinGW.
- * intrinsics/getlog.c: Add getlogin wrapper for MinGW.
- * intrinsics/hostnm.c: Add gethostname wrapper for MinGW.
-
-2005-09-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/23802
- * intrinsics/sleep.c: Add correct sleep macro for MinGW.
-
-2005-09-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/23380
- * intrinsics/cpu_time.c (__cpu_time_1): Provide a MS Windows
- version.
-
-2005-09-14 Jerry DeLisle <jvdelisle@verizon.net
-
- PR fortran/21875 Internal Unit Array I/O, NIST
- * libgfortran.h: Add run time error code for array stride.
- * runtime/error.c (translate_error): Add error message for
- array stride.
- * io/io.h: Add array descriptor pointer to IOPARM structure.
- Add prtotypes for two new functions.
- * io/transfer.c (data_transfer_init): Removed initialization and
- moved to unit.c (get_unit)
- * io/transfer.c (next_record_r): Include internal unit read
- functionality.
- * io/transfer.c (next_record_w): Include internal unit write
- functionality, including padding of character array records.
- * io/unit.c (get_array_unit_len): New function to return the number
- of records in the character array 'file' from the array descriptor.
- * io/unit.c (get_unit): Gathered initialization code from
- init_data_transfer for internal units and added initialization of
- character array unit.
- * io/unit.c (is_array_io): New function to determine if internal unit
- is an array.
- * io/unix.c (mem_alloc_w_at): Add error checks for bad record length
- and end of file.
-
-2005-09-13 Richard Sandiford <richard@codesourcery.com>
-
- PR target/19269
- * intrinsics/cshift0.c (cshift0): Add an extra size argument.
- (cshift0_1, cshift0_2, cshift0_4, cshift0_8): Replace explicit
- implementations with...
- (DEFINE_CSHIFT): ...this new macro. Define character versions too.
- * intrinsics/eoshift0.c (zeros): Delete.
- (eoshift0): Add extra size and filler arguments. Use memset if no
- bound is provided.
- (eoshift0_1, eoshift0_2, eoshift0_4, eoshift0_8): Replace explicit
- implementations with...
- (DEFINE_EOSHIFT): ...this new macro. Define character versions too.
- * intrinsics/eoshift2.c (zeros): Delete.
- (eoshift2): Add extra size and filler arguments. Use memset if no
- bound is provided.
- (eoshift2_1, eoshift2_2, eoshift2_4, eoshift2_8): Replace explicit
- implementations with...
- (DEFINE_EOSHIFT): ...this new macro. Define character versions too.
- * intrinsics/pack.c (pack_internal): New static function, reusing
- the contents of pack and adding an extra size argument. Change
- "mptr" rather than "m" when calculating the array size.
- (pack): Redefine as a forwarder to pack_internal.
- (pack_s_internal): New static function, reusing the contents of
- pack_s and adding an extra size argument.
- (pack_s): Redefine as a forwarder to pack_s_internal.
- (pack_char, pack_s_char): New functions.
- * intrinsics/reshape.c (reshape_internal): New static function,
- reusing the contents of reshape and adding an extra size argument.
- (reshape): Redefine as a forwarder to reshape_internal.
- (reshape_char): New function.
- * intrinsics/spread.c (spread_internal): New static function,
- reusing the contents of spread and adding an extra size argument.
- (spread): Redefine as a forwarder to spread_internal.
- (spread_char): New function.
- * intrinsics/transpose.c (transpose_internal): New static function,
- reusing the contents of transpose and adding an extra size argument.
- (transpose): Redefine as a forwarder to transpose_internal.
- (transpose_char): New function.
- * intrinsics/unpack.c (unpack_internal): New static function, reusing
- the contents of unpack1 and adding extra size and fsize arguments.
- (unpack1): Redefine as a forwarder to unpack_internal.
- (unpack0): Call unpack_internal instead of unpack1.
- (unpack1_char, unpack0_char): New functions.
- * m4/cshift1.m4 (cshift1): New static function, reusing the contents
- of cshift1_<kind> and adding an extra size argument.
- (cshift1_<kind>): Redefine as a forwarder to cshift1.
- (cshift1_<kind>_char): New function.
- * m4/eoshift1.m4 (zeros): Delete.
- (eoshift1): New static function, reusing the contents of
- eoshift1_<kind> and adding extra size and filler arguments.
- Fix calculation of hstride. Use memset if no bound is provided.
- (eoshift1_<kind>): Redefine as a forwarder to eoshift1.
- (eoshift1_<kind>_char): New function.
- * m4/eoshift3.m4 (zeros): Delete.
- (eoshift3): New static function, reusing the contents of
- eoshift3_<kind> and adding extra size and filler arguments.
- Use memset if no bound is provided.
- (eoshift3_<kind>): Redefine as a forwarder to eoshift3.
- (eoshift3_<kind>_char): New function.
- * generated/cshift1_4.c, generated/cshift1_8.c,
- * generated/eoshift1_4.c, generated/eoshift1_8.c,
- * generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerate.
-
-2005-09-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20179
- * io/unix.c (is_preconnected): Add function to test if a stream
- corresponds to a preconnected unit.
- * io/io.h: Add prototype for is_preconnected.
- * io/transfer.c (data_transfer_init): Do not truncate
- preconnected units.
-
-2005-09-10 Janne Blomqvist <jblomqvi@cc.hut.fi>
-
- * io/unix.c: Remove mmap code.
-
-2005-09-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/23784
- * io/close.c (st_close): Call library_end even in case of error.
-
-2005-09-09 Thomas Koenig <Thomas.Koenig@online.de>
-
- * io/io.h: Add iomsg as last field of st_parameter.
- * runtime/error.c (generate_error): If iomsg is present, copy
- the message there.
-
-2005-09-09 Richard Sandiford <richard@codesourcery.com>
-
- PR fortran/12840
- * runtime/memory.c (internal_malloc_size): Return a null pointer
- if the size is zero.
- (internal_free): Do nothing if the pointer is null.
- (internal_realloc_size, internal_realloc, internal_realloc64): New.
-
-2005-09-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/23262
- * acinclude.m4 (LIBGFOR_CHECK_CRLF): New check.
- * configure.ac: Use new check.
- * configure.in: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * io/transfer.c (next_record_w): Add case for CRLF as line
- terminator.
- * io/unix.c (tempfile, regular_file): Open files with
- O_BINARY on systems with CRLF.
-
-2005-09-07 Steve Ellcey <sje@cup.hp.com>
-
- PR libfortran/23419
- * io/write.c (extract_int): Use memcpy to access buffer.
- (extract_uint): Ditto.
- (extract_real): Ditto.
-
-2005-09-05 Thomas Koenig <Thomas.Koenig@online.de>
-
- * io/list_read.c: Adjust size of of value to 32 (to hold
- kind=16 complex values).
-
-2005-09-04 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/23321
- * io/transfer.c(data_transfer_init): Check for a too-large
- record number. Return if sseek failed.
-
-2005-09-03 Jakub Jelinek <jakub@redhat.com>
-
- * io/read.c (read_x): Take int argument instead of fnode * and
- digging the N from F->u.n.
- * io/io.h (read_x): Adjust prototype.
- * io/transfer.c (formatted_transfer): Adjust callers. Don't clobber
- f->u.n for FMT_T.
-
-2005-09-02 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * io/unix.c (stream_ttyname): Protect use of ttyname by
- HAVE_TTYNAME macro.
- * configure.ac: Add check for ttyname.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
-2005-09-02 Andreas Jaeger <aj@suse.de>
-
- * libgfortran.h: Add prototype for init_compile_options.
-
- * io/io.h: Add prototype for notify_std.
-
-2005-08-31 Steve Ellcey <sje@cup.hp.com>
-
- * io/read.c (set_integer): Use memcpy to fill buffer.
-
-2005-08-31 Steve Ellcey <sje@cup.hp.com>
-
- PR target/23556
- * io/read.c (convert_real): Use memcpy to fill buffer.
-
-2005-08-29 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/23598
- * io/lock.c(library_start): If ioparm.iostat is present, clear
- it unconditionally.
-
-2005-08-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Add check to see
- if target can unlink open files.
- * configure.ac: Use this new test.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
- * aclocal.ac: Regenerate.
- * io/io.h: Add prototype for unpack_filename.
- * io/close.c (st_close): Delete file after closing unit if
- HAVE_UNLINK_OPEN_FILE is not defined.
- * io/unix.c (unpack_filename): Unlink scratch file after opening
- it only if HAVE_UNLINK_OPEN_FILE is defined.
-
-2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * All files: Update FSF address.
-
-2005-08-16 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/23428
- * io/transfer.c (iolength_transfer): Remove __attribute__ ((unused))
- from type. Return correct length for inquire(iolength=)
- for complex variables.
-
-2005-08-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
- Steven Bosscher <stevenb@suse.de>
-
- PR libfortran/20006
- * Makefile.am: Add file runtime/compile_options.c.
- * Makefile.in: Regenerate.
- * libgfortran.h: Create structure compile_options_t. Define the
- compile_options variable and GFC_STD_ macros.
- * runtime/compile_options.c: New file.
- * runtime/error.c (notify_std): New function.
- * runtime/main.c (init): Call init_compile_options during
- initialization.
- * io/format.c: Use the new notify_std function for the $
- descriptor extension.
-
-2005-08-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
- * Makefile.am: Add file intrinsics/tty.c to Makefile process.
- * Makefile.in: Regenerate.
- * io/io.h: Prototypes for new functions stream_isatty and
- stream_ttyname.
- * io/unix (stream_isatty, stream_ttyname): New functions to call
- isatty() and ttyname() on a given unit.
- * intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM
- and ISATTY.
-
-2005-08-08 Jerry DeLisle <jvdelisle@verizon.net>
-
- PR libfortran/23154
- * io/transfer.c (data_transfer_init): Initialize
- current_unit->bytes_left for a read.
-
-2005-08-07 Janne Blomqvist <jblomqvi@cc.hut.fi>
-
- PR fortran/22390
- * io/backspace.c: File removed, contents moved to ...
- * io/endfile.c: Ditto.
- * io/rewind.c: Ditto.
- * io/file_pos.c: New file, ... here.
- * Makefile.am: Add file_pos.c to list, remove obsolete files.
- * Makefile.in: Regenerated.
-
-2005-08-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * io/io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp.
- * io/unix.c (tempfile): Look at the TEMP environment variable
- to find the temporary files directory. Whitespace correction.
-
-2005-08-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * io/unix.c: Add O_RDWR to open() call.
-
-2005-08-04 Paul Thomas <pault@gcc.gnu.org>
-
- * transfer.c (data_transfer_init): Truncate file in
- sequential WRITE when last_record == 0, rather than
- current_record. Cures problem on RH9.
-
-2005-08-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * libgfortran.h: When isfinite is not provided by the system,
- define it as a macro, so that it can accept any floating point
- type.
-
-2005-08-01 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/23178
- * intrinsics/flush.c (flush_i8): Add function flush_i8. Update
- copyright years.
-
-2005-07-31 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/21787
- * intrinsics/abort.c (abort): Close units before aborting.
- Updated copyright years.
-
-2005-07-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/22436
- * io/write.c (write_real): Add default formats for real(10) and
- real(16).
-
-2005-07-30 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/22570 and related issues.
- * transfer.c (formatted_transfer): Make sure that there
- really is data present before X- or T- editing. Move all
- treatment of tabbing during writes to start of next data
- producing format. Suppress incorrect zeroing of bytes_left
- in slash formating. Insert int cast for assignment of a
- difference of two gfc_offsets.
-
-2005-07-23 Jerry DeLisle <jvdelisle@verizon.net>
-
- * io/write.c (write_float): Revise output of IEEE exceptional
- values to comply with F95 and F2003 standards.
-
-2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
-
- PR libfortran/22570
- * io/unit.c (init_units): Replace BLANK_ZERO with
- BLANK_UNSPECIFIED.
-
-2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
-
- PR libfortran/21875 (FM111.f)
- * io/read.c (next_char): Return a ' ' character when BLANK_ZERO
- or BLANK_NULL are active.
- (read_decimal): Interpret ' ' character correctly for BZ or BN.
- (read_radix): Interpret ' ' character correctly for BZ or BN.
- (read_f): Interpret ' ' character correctly for BZ or BN.
-
-2005-07-22 Paul Thomas <pault@gcc.gnu.org>
-
- PR libfortran/22570
- * read.c (read_x): Correct the condition for doing the
- x-editing during formatted input.
- * transfer.c (formatted_transfer): Cast offset difference
- as int, clean-up arithmetic with new variable, bytes_used,
- zero counters for FMT_SLASH,
- (data_transfer_init) Zero X- and T-editing counters
- unconditionally.
- (next_record_w) Zero X- and T-editing counters.
- unconditionally.
-
-2005-07-17 Jerry DeLisle <jvdelisle@verizon.net>
-
- * io/write.c (write_float): Fix field width checks for
- printing 'Infinity' or 'Inf'.
- (output_float): Fix typo in comment.
-
-2005-07-12 Paul Thomas <pault@gcc.gnu.org>
-
- PR libfortran/16435
- * transfer.c (formatted_transfer): Correct the problems
- with X- and T-editting that caused TLs followed by TRs
- to overwrite data, which caused NIST FM908.FOR to fail
- on many tests.
- (data_transfer_init): Zero X- and T-editting counters at
- the start of formatted IO.
- * write.c (write_x): Write specified number of skips with
- specified number of spaces at the end.
-
-2005-07-13 Paul Thomas <pault@gcc.gnu.org>
-
- * io/read.c (read_complex): Prevent X formatting during reads
- from going beyond EOR to fix NIST fm908.FOR failure.
- * io/list_read.c (read_complex): Allow complex data in list-
- directed reads to have eols either side of the comma to
- fix NIST FM906.FOR failure.
-
-2005-07-12 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/21593
- * io/unix.c: Add member special_file to type unix_stream.
- (fd_truncate): Don't call ftruncate or chsize if
- s refers to a special file.
- (fd_to_stream): initialize s->special_file.
-
-2005-07-11 David Edelsohn <edelsohn@gnu.org>
-
- PR libgfortran/22412
- * io/write.c (otoa): Bias p by SCRATCH_SIZE, not
- sizeof (SCRATCH_SIZE).
- (btoa): Same.
-
-2005-07-09 Jerry DeLisle <jvdelisle@verizon.net>
-
- PR libfortran/21875 (FM111.f)
- * io/read.c (next_char): Return a ' ' character when BLANK_ZERO or
- BLANK_NULL are active.
- (read_decimal): Interpret ' ' character correctly for BZ or BN.
- (read_radix): Interpret ' ' character correctly for BZ or BN.
- (read_f): Interpret ' ' character correctly for BZ or BN.
- * gfortran.dg/test (fmt_read_bz_bn.f90): New test case.
-
-2005-07-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
- Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/22217
- * io/write.c (extract_unit): New function; extract
- ints as unsigned signed int of the correct size.
- (write_int): Use it.
- * runtime/error.c: Adjust copyright years.
- Adjust size of buffer to maximum that can occur.
-
-2005-07-07 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
-
- * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Replace 'type *base' by
- 'size_t offset'.
- * intrinsics/cshift0.c, intrinsics/eoshift0.c,
- intrinsics/eoshift2.c,intrinsics/pack_generic.c,
- intrinsics/reshape_generic.c, intrinsics/spread_generic.c,
- intrinsics/transpose_generic.c, intrinsics/unpack_generic,
- m4/cshift1.m4, m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4,
- m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/reshape.m4,
- m4,transpose.m4: Set renamed field 'offset' to zero instead of
- 'base'.
- * generated/all_l4.c, generated/all_l8.c,
- generated/any_l4.c, generated/any_l8.c, generated/count_4_l4.c,
- generated/count_4_l8.c, generated/count_8_l4.c,
- generated/count_8_l8.c, generated/chift1_4.c,
- generated/cshift1_8.c, generated/eoshift1_4.c,
- generated/eoshift1_8.c, generated/eoshift3_4.c,
- generated/eoshift3_8.c, generated/matmul_c4.c,
- generated/matmul_c8.c, generated/matmul_i4.c, matmul_i8.c,
- generated/matmul_l4.c, generated/matmul_l8.c,
- generated/matmul_r4.c, generated/matmul_r8.c,
- generated/maxloc0_4_i4.c, generated/maxloc0_4_i8.c,
- generated/maxloc0_4_r4.c, generated/maxloc0_4_r8.c,
- generated/maxloc0_8_i4.c, generated/maxloc0_8_i8.c,
- generated/maxloc0_8_r4.c, generated/maxloc0_8_r8.c,
- generated/maxloc1_4_i4.c, generated/maxloc1_4_i8.c,
- generated/maxloc1_4_r4.c, generated/maxloc1_4_r8.c,
- generated/maxloc1_8_i4.c, generated/maxloc1_8_i8.c,
- generated/maxloc1_8_r4.c, generated/maxloc1_8_r8.c,
- generated/maxval_i4.c, generated/maxval_i8.c,
- generated/maxval_r4.c, generated/maxval_r8.c,
- generated/minloc0_4_i4.c, generated/minloc0_4_i8.c,
- generated/minloc0_4_r4.c, generated/minloc0_4_r8.c,
- generated/minloc0_8_i4.c, generated/minloc0_8_i8.c,
- generated/minloc0_8_r4.c, generated/minloc0_8_r8.c,
- generated/minloc1_4_i4.c, generated/minloc1_4_i8.c,
- generated/minloc1_4_r4.c, generated/minloc1_4_r8.c,
- generated/minloc1_8_i4.c, generated/minloc1_8_i8.c,
- generated/minloc1_8_r4.c, generated/minloc1_8_r8.c,
- generated/minval_i4.c, generated/minval_i8.c,
- generated/minval_r4.c, generated/minval_r8.c,
- generated/product_c4.c, generated/product_c8.c,
- generated/product_i4.c, generated/product_i8.c,
- generated/product_r4.c, generated/product_r8.c,
- generated/reshape_c4.c, generated/reshape_c8.c,
- generated/reshape_i4.c, generated/reshape_i8.c,
- generated/sum_c4.c, generated/sum_c8.c, generated/sum_i4.c,
- generated/sum_i8.c, generated/sum_r4.c, generated/sum_r8.c,
- generated/transpose_c4.c, generated/transpose_c8.c,
- generated/transpose_i4.c, generated/transpose_i8.c: Regenerate:
-
-2005-07-07 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/21594
- * intrinsics/eoshift0.c: If abs(shift) > len, fill the
- the whole array with the boundary value, but don't overrun it.
- * intrinsics/eoshift2.c: Likewise.
- * m4/eoshift1.m4: Likewise.
- * m4/eoshift3.m4: Likewise.
- * generated/eoshift1_4.c: Regenerated.
- * generated/eoshift1_8.c: Regenerated.
- * generated/eoshift3_4.c: Regenerated.
- * generated/eoshift3_8.c: Regenerated.
-
-2005-07-07 Feng Wang <fengwang@nudt.edu.cn>
-
- PR fortran/16531
- * io/transfer.c (formatted_transfer): Enable FMT_A on other types to
- support Hollerith constants.
-
-2005-07-01 Andreas Jaeger <aj@suse.de>
-
- * intrinsics/unpack_generic.c: Remove const from parameter.
-
- * io/transfer.c (formatted_transfer): Remove unused variable.
-
-2005-06-28 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/22142
- * m4/eoshift1.m4: Correct bstride (it needs to be multiplied
- by size since it's a char pointer).
- * m4/eoshift1_4.c: Regenerated.
- * m4/eoshift1_8.c: Regenerated.
-
-2005-06-28 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/22142
- * m4/eoshift3.m4: Correct bstride (it needs to be multiplied
- by size since it's a char pointer).
- * m4/eoshift3_4.c: Regenerated.
- * m4/eoshift3_8.c: Regenerated.
-
-2005-06-28 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/22170
- * io/transfer.c (formatted_transfer): Do not iterate on the
- repeat count of a FMT_SLASH, since this is already done in
- next_format().
-
-2005-06-25 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/22144
- * m4/cshift1.m4: Remove const from argument ret.
- Populate return array descriptor if ret->data is NULL.
- * m4/eoshift1.m4: Likewise.
- * m4/eoshift3.m4: Likewise.
- * generated/cshift1_4.c: Regenerated.
- * generated/cshift1_8.c: Regenerated.
- * generated/eoshift1_4.c: Regenerated.
- * generated/eoshift1_8.c: Regenerated.
- * generated/eoshift3_4.c: Regenerated.
- * generated/eoshift3_8.c: Regenerated.
-
-2005-06-24 Jerry DeLisle <jvdelisle@verizon.net>
-
- PR libfortran/21915
- * Makefile.am: Include intrinsics/hyper.c.
- * c99_protos.h: Add prototypes for single precision versions of
- acosh, asinh, and atanh for platforms that do not have these.
- * config.h.in: Add #undef for wrappers.
- * configure.ac: Add checks for single precision versions.
- * aclocal.m4: Regenerated.
- * Makefile.in: Regenerated.
- * configure: Regenerated.
- * intrinsics/hyper.c: New file, adds new wrapper functions.
-
-2005-06-23 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * intrinsics/c99_functions.c (log10l): New log10l function for
- systems where this is not available.
- * c99_protos.h: Prototype for log10l function.
- * libgfortran.h: Use generated kinds.h to define GFC_INTEGER_*,
- GFC_UINTEGER_*, GFC_LOGICAL_*, GFC_REAL_*, GFC_COMPLEX_*. Update
- prototypes for gfc_itoa and xtoa.
- * io/io.h: Update prototypes for set_integer and max_value.
- * io/list_read.c (convert_integer): Use new
- GFC_(INTEGER|REAL)_LARGEST type.
- * io/read.c (set_integer): Likewise.
- (max_value): Likewise.
- (convert_real): Likewise.
- (real_l): Likewise.
- (next_char): Likewise.
- (read_decimal): Likewise.
- (read_radix): Likewise.
- (read_f): Likewise.
- * io/write.c (extract_int): Use new GFC_INTEGER_LARGEST type.
- (extract_real): Use new GFC_REAL_LARGEST type.
- (calculate_exp): Likewise.
- (calculate_G_format): Likewise.
- (output_float): Likewise. Use log10l for long double values.
- Add comment for sprintf format. Use GFC_REAL_LARGEST_FORMAT.
- (write_l): Use new GFC_INTEGER_LARGEST type.
- (write_float): Use new GFC_REAL_LARGEST type.
- (write_int): Remove useless special case for (len < 8).
- (write_decimal): Use GFC_INTEGER_LARGEST.
- (otoa): Use GFC_UINTEGER_LARGEST as argument.
- (btoa): Use GFC_UINTEGER_LARGEST as argument.
- * runtime/error.c (gfc_itoa): Use GFC_INTEGER_LARGEST as
- argument.
- (xtoa): Use GFC_UINTEGER_LARGEST as argument.
- * Makefile.am: Use mk-kinds-h.sh to generate header kinds.h
- with all Fortran kinds available.
- * configure.ac: Check for strtold and log10l.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * config.h.in: Regenerate.
- * mk-kinds-h.sh: Configuration script for available integer
- and real kinds.
-
-
-2005-06-18 Janne Blomqvist <jblomqvi@cc.hut.fi>
-
- * unix.c (stream_at_bof): Don't assume that all non-mmapped files
- are non-seekable.
- (stream_at_eof): Likewise.
-
-2005-06-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/19155
- * io/read.c (convert_real): strtod can set errno to EINVAL on an
- empty string, but we shouldn't have an error in that case.
-
-2005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/19216
- * io/list_read.c (eat_separator): No need to call next_record,
- even in non-namelist_mode.
-
-2005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * io/transfer.c (formatted_transfer): Fix typo in error message.
-
-2005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/16436
- * io/transfer.c (read_sf): Correct updating of bytes_left field.
- (formatted_transfer): Correct updating of bytes_left field and
- reformatting code (comments and whitespace).
- * io/unix.c (move_pos_offset): "active" field should not be
- changed here. Whitespace corrections.
-
-2005-06-15 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/21950
- * intrinsics/c99_functions.c (scalbn): Provide fallback
- implementation for scalbn.
- * c99_protos.h: Prototype for scalbn.
- * configure.ac: Add check for scalbn.
- * configure: Regenerate.
- * config.h.in: Regenerate.
-
-2005-06-14 Thomas Koenig <Thomas.Koenig@online.de>
-
- * intrinsics/eoshift0.c: Removed prototype for eoshift0.
- * intrinsics/eoshift2.c: Removed prototype for eoshift2.
-
-2005-06-14 Tom Tromey <tromey@redhat.com>
-
- PR libgcj/19877:
- * configure, aclocal.m4, Makefile.in: Rebuilt.
-
-2005-06-12 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/21594
- * intrinsics/eoshift0.c: Add prototype for eoshift0.
- * intrinsics/eoshift2.c: Add prototype for eoshift2.
-
-2005-06-12 Steven G. Kargl <kargls@comcast.net>
- Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/PR21797
- * m4/cexp.m4 (csqrt`'q): Add type qualifyer to
- sqrt and fabs.
- * generated/exp_c4.c: Regenerated.
-
-2005-06-12 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/19155
- * io/read.c (read_f): Take care of spaces after initial sign.
-
-2005-06-11 Thomas Koenig <Thomas.Koenig@onlinde.de>
-
- PR libfortran/21333
- * Makefile.am: Add in_pack_c4.c, in_pack_c8.c, in_unpack_c4.c
- and in_unpack_c8.c.
- * Makefile.in: Regenerate.
- * libgfortran.h: Declare internal_pack_c4, internal_pack_c8,
- internal_unpack_c4 and internal_unpack_c8.
- * m4/in_pack.m4: Use rtype_ccode insteald of rtype_kind
- in function name.
- Use sizeof (rtype_name) as size for memory allocation.
- * m4/in_unpack.m4: Use rtype_ccode insteald of rtype_kind
- in function name.
- Use sizeof (rtype_name) for calculation of sizes for memcpy.
- * runtime/in_pack_generic.c: For real, integer and logical
- call internal_pack_4 if size==4 and internal_pack_8 if
- size==8.
- For complex, call internal_pack_c4 if size==8 and
- internal_pack_c8 if size==16.
- * runtime/in_unpack_generic.c: For real, integer and logical
- call internal_unpack_4 if size==4 and internal_unpack_8 if
- size==8.
- For complex, call internal_unpack_c4 if size==8 and
- internal_unpack_c8 if size==16.
- * generated/in_pack_i4.c: Regenerated.
- * generated/in_pack_i8.c: Regenerated.
- * generated/in_unpack_i4.c: Regenerated.
- * generated/in_unpack_i8.c: Regenerated.
- * generated/in_pack_c4.c: New file.
- * generated/in_pack_c8.c: New file.
- * generated/in_unpack_c4.c: New file.
- * generated/in_unpack_c8.c: New file.
-
-2005-06-09 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/21480
- * m4/reshape.m4: Use sizeof (rtype_name) for sizes to be passed
- to reshape_packed.
- * generated/reshape_c4.c: Regenerated.
- * generated/reshape_c8.c: Regenerated.
- * generated/reshape_i4.c: Regenerated.
- * generated/reshape_i8.c: Regenerated.
-
-2005-06-07 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/21926
- * m4/matmul.m4: Correct zeroing of result for non-packed
- arrays with lowest stride is one.
- * generated/matmul_c4.c: Regenerated.
- * generated/matmul_c8.c: Regenerated.
- * generated/matmul_i4.c: Regenerated.
- * generated/matmul_i8.c: Regenerated.
- * generated/matmul_r4.c: Regenerated.
- * generated/matmul_r8.c: Regenerated.
-
-2005-05-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20179
- * io/unix.c (fd_close): Add test so that we don't close()
- stdout and stderr.
-
-2005-05-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20006
- * io/format.c (parse_format_list): Set repeat count of $ format
- node to 1.
- * io/transfer.c (read_sf): Add g.seen_dollar to the test
- concerning advancing I/O.
- (data_transfer_init): Likewise.
- (finalize_transfer): Likewise.
-
-2005-05-27 Thomas Koenig <Thomas.Koenig@online.de>
-
- * runtime/in_pack_generic.c: Adjust copyright years.
- (in_pack_generic): Change dimension of auxiliary arrays from
- GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
- * runtime/in_unpack_generic.c: Adjust copyright years.
- (in_unpack_generic): Change dimension of auxiliary arrays from
- GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
-
-2005-05-26 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/17283
- * intrinsics/unpack_generic.c: Fix name of routine
- on top. Update copyright years.
- (unpack1): Remove const from return array descriptor.
- rs: New variable, for calculating return sizes.
- Populate return array descriptor if ret->data is NULL.
-
-2005-05-22 Peter Wainwright <prw@ceiriog1.demon.co.uk>
-
- PR libfortran/21376
- * io/write.c (output_float): Rework logic to avoid call to log10
- with argument equal to zero.
-
-2005-05-21 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * configure.ac: Check for trunc and truncf in libm.
- * configure: Regenerate.
- * config.h.in: Likewise.
- * intrinsics/c99_functions.c (trunc, truncf): New functions.
- * c99_protos.h (trunc, truncf): Declare them.
-
-2005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/21127
- * Makefile.am: Really commit.
- * Makefile.in: Really commit.
-
-2005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/21127
- * Makefile.am: Add generated/reshape_c4.c and
- generated/reshape_c8.c.
- * Makefile.in: Regenerated.
- * m4/iparm.m4: Define rtype_ccode to be c4 or c8 for
- complex types, 4 or 8 otherwise.
- * m4/reshape.m4: Use rtype_ccode instead of rtype_kind
- in function name.
- * generated/reshape_c4.c: New file.
- * generated/reshape_c8.c: New file.
-
-2005-05-16 Andreas Jaeger <aj@suse.de>
-
- * configure.ac: Add additional warning flags.
- * configure: Regenerate.
-
- * io/write.c (calculate_G_format): Remove unused parameter.
- (output_float): Remove unused parameter.
- (write_float): Change callers.
- (nml_write_obj): Avoid signed warning.
- Make variable const to support -Wwrite-strings.
-
- * io/unix.c (fd_alloc, mmap_open, mmap_sfree, mem_sfree,
- mem_truncate): Mark argument as unused.
-
- * io/unit.c (get_unit): Mark argument as unused.
- (init_units): Avoid warning about signed comparision.
-
- * io/transfer.c (next_record_r): Remove unused parameter.
- (next_record_w): Remove unused parameter.
- (next_record): Change callers.
- (iolength_transfer): Mark arguments as unused.
-
- * io/open.c: Add initializer.
-
- * io/list_read.c (read_character): Mark argument as unused.
- (nml_match_name): Add const to make compile with -Wwrite-strings.
-
- * io/format.c: Add initializer.
-
-2005-05-15 Andreas Jaeger <aj@suse.de>
-
- * m4/eoshift1.m4: Initialize variables to avoid warnings.
- * m4/eoshift3.m4: Initialize variables to avoid warnings.
- * generated/eoshift1_4.c, generated/eoshift1_8.c,
- generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerated.
-
- * intrinsics/spread_generic.c (spread): Initialize variables to
- avoid warnings.
-
- * intrinsics/eoshift0.c (eoshift0): Initialize variables to avoid
- warnings.
- * intrinsics/eoshift2.c (eoshift2): Initialize variables to avoid
- warnings.
-
- * io/list_read.c (nml_get_obj_data): Initialize variables to avoid
- warnings.
-
- * intrinsics/pack_generic.c (pack): Remove unneeded calculation.
-
- * m4/matmull.m4 (matmul_): Remove unneeded calculations, fix
- pointer cast to avoid warning.
- * generated/matmul_l4.c: Regenerated.
- * generated/matmul_l8.c: Regenerated.
-
- * Makefile.am: Remove AM_CFLAGS here.
- * configure.ac: Define AM_CFLAGS and AM_FCFLAGS so that warnings
- are set. Set additionally -Wstrict-prototypes for CFLAGS.
- * Makefile.in: Regenerated.
- * aclocal.m4: Regenerated.
- * configure: Regenerated.
-
- * intrinsics/system_clock.c (system_clock_4, system_clock_8): Add
- missing returns, reformat a bit.
-
- * io/write.c (nml_write_obj): Use %d again - and cast to int,
- st_sprintf does not handle %ld.
-
- * io/unit.c (is_internal_unit): Add void as parameter list.
-
- * io/transfer.c: Move prototype declarations before the functions.
-
- * runtime/normalize.c (almostone_r4, almostone_r8): Fix parameter
- list.
-
- * intrinsics/random.c (KISS_DEFAULT_SEED): Remove extra semicolon.
-
- * io/transfer.c: Do not use empty initializers for global objects.
- Add missing initializers.
-
- * io/lock.c: Do not use empty initializers for global objects.
-
- * io/close.c: Add missing initializers.
-
- * runtime/environ.c: Add missing initializers. Do not use empty
- initializers for global object.
- (init_string): Mark argument as unused.
-
- * runtime/main.c (cleanup): Fix parameter list.
-
- * io/io.h: Fix parameter lists.
-
- * m4/transpose.m4, m4/matmul.m4: Fix pointer cast to avoid
- warning.
-
- * generated/transpose_c4.c, generated/transpose_c8.c,
- generated/transpose_i4.c, generated/transpose_i8.c,
- generated/matmul_c4.c, generated/matmul_c8.c,
- generated/matmul_i4.c, generated/matmul_i8.c,
- generated/matmul_r4.c, generated/matmul_r8.c: Regenerated.
-
- * io/write.c (nml_write_obj): Fix 64-bit problem.
-
- * io/list_read.c (nml_get_obj_data): Add missing braces around
- initializer to avoid warnings.
-
- * intrinsics/etime.c (etime_sub): Remove unused variable.
-
- * intrinsics/chdir.c, intrinsics/getlog.c, intrinsics/link.c,
- intrinsics/symlnk.c, intrinsics/perror.c: Include <string.h> for
- prototypes.
-
- * runtime/string.c (compare0): Remove unused variable.
- * io/unit.c (init_units): Remove unused variables.
- * intrinsics/getcwd.c (getcwd_i4_sub): Remove unused variable.
- * intrinsics/unlink.c (unlink_i4_sub): Remove unused variable.
- * intrinsics/stat.c (stat_i4_sub, fstat_i8_sub, fstat_i4_sub,
- stat_i8_sub): Remove unused variable.
-
-2005-05-12 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/21324
- * runtime/memory.c: Don't define GFC_CLEAR_MEMORY (it's a
- performance hog).
- * io/open.c (new_unit): Zero freshly allocated memory for
- unit structure.
- * io/unit.c (init_units): Zero freshly allocated memory for
- STDIN, STDOUT and STDERR.
- * io/unix.c (open_internal): Zero freshly allocated memory
- for unix_stream.
- (fd_to_stream): Likewise.
-
-2005-05-11 Bud Davis <bdavis@gfortran.org>
-
- PR fortran/19478
- * io/unix.c (fd_truncate): update positions when ftruncate
- fails (like writing to /dev/null).
-
-2005-05-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/21471
- * open.c (new_unit): Take care of the case where POSITION_APPEND
- is specified (sseek to the end, and set u>-endfile).
-
-2005-05-10 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
-
- PR fortran/20178
- * Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
- to dependencies.
- * Makefile.in: Regenerate.
- * intrinsics/f2c_specific.F90: New file.
-
-2005-05-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20788
- * io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
- we don't we to mmap this stream. Use fd_open instead of mmap_open
- in that case.
- (open_external): Call fd_to_stream with avoid_mmap = 0.
- (input_stream): Call fd_to_stream with avoid_mmap = 1.
- (output_stream): Likewise.
- (error_stream): Likewise.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-05-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/19155
- * io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
- non-blank characters of a real number.
-
-2005-05-04 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/21354
- * m4/cshift1.m4: Change dimension of auxiliary arrays from
- GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
- * m4/eoshift1.m4: Likewise.
- * m4/eoshift3.m4: Likewise.
- * m4/ifunction.m4: Likewise.
- * m4/in_pack.m4: Likewise.
- * m4/in_unpack.m4: Likewise.
- * intrinsics/cshift0.c: Likewise.
- * intrinsics/eoshift0.c: Likewise.
- * intrinsics/eoshift2.c: Likewise.
- * intrinsics/random.c: Likewise.
- * intrinsics/spread_generic.c: Likewise.
- * intrinsics/stat.c: Likewise.
- * generated/all_l4.c: Regenerated.
- * generated/all_l8.c: Regenerated.
- * generated/any_l4.c: Regenerated.
- * generated/any_l8.c: Regenerated.
- * generated/count_4_l4.c: Regenerated.
- * generated/count_4_l8.c: Regenerated.
- * generated/count_8_l4.c: Regenerated.
- * generated/count_8_l8.c: Regenerated.
- * generated/cshift1_4.c: Regenerated.
- * generated/cshift1_8.c: Regenerated.
- * generated/eoshift1_4.c: Regenerated.
- * generated/eoshift1_8.c: Regenerated.
- * generated/eoshift3_4.c: Regenerated.
- * generated/eoshift3_8.c: Regenerated.
- * generated/in_pack_i4.c: Regenerated.
- * generated/in_pack_i8.c: Regenerated.
- * generated/in_unpack_i4.c: Regenerated.
- * generated/in_unpack_i8.c: Regenerated.
- * generated/maxloc0_4_i4.c: Regenerated.
- * generated/maxloc0_4_i8.c: Regenerated.
- * generated/maxloc0_4_r4.c: Regenerated.
- * generated/maxloc0_4_r8.c: Regenerated.
- * generated/maxloc0_8_i4.c: Regenerated.
- * generated/maxloc0_8_i8.c: Regenerated.
- * generated/maxloc0_8_r4.c: Regenerated.
- * generated/maxloc0_8_r8.c: Regenerated.
- * generated/maxloc1_4_i4.c: Regenerated.
- * generated/maxloc1_4_i8.c: Regenerated.
- * generated/maxloc1_4_r4.c: Regenerated.
- * generated/maxloc1_4_r8.c: Regenerated.
- * generated/maxloc1_8_i4.c: Regenerated.
- * generated/maxloc1_8_i8.c: Regenerated.
- * generated/maxloc1_8_r4.c: Regenerated.
- * generated/maxloc1_8_r8.c: Regenerated.
- * generated/maxval_i4.c: Regenerated.
- * generated/maxval_i8.c: Regenerated.
- * generated/maxval_r4.c: Regenerated.
- * generated/maxval_r8.c: Regenerated.
- * generated/minloc0_4_i4.c: Regenerated.
- * generated/minloc0_4_i8.c: Regenerated.
- * generated/minloc0_4_r4.c: Regenerated.
- * generated/minloc0_4_r8.c: Regenerated.
- * generated/minloc0_8_i4.c: Regenerated.
- * generated/minloc0_8_i8.c: Regenerated.
- * generated/minloc0_8_r4.c: Regenerated.
- * generated/minloc0_8_r8.c: Regenerated.
- * generated/minloc1_4_i4.c: Regenerated.
- * generated/minloc1_4_i8.c: Regenerated.
- * generated/minloc1_4_r4.c: Regenerated.
- * generated/minloc1_4_r8.c: Regenerated.
- * generated/minloc1_8_i4.c: Regenerated.
- * generated/minloc1_8_i8.c: Regenerated.
- * generated/minloc1_8_r4.c: Regenerated.
- * generated/minloc1_8_r8.c: Regenerated.
- * generated/minval_i4.c: Regenerated.
- * generated/minval_i8.c: Regenerated.
- * generated/minval_r4.c: Regenerated.
- * generated/minval_r8.c: Regenerated.
- * generated/product_c4.c: Regenerated.
- * generated/product_c8.c: Regenerated.
- * generated/product_i4.c: Regenerated.
- * generated/product_i8.c: Regenerated.
- * generated/product_r4.c: Regenerated.
- * generated/product_r8.c: Regenerated.
- * generated/sum_c4.c: Regenerated.
- * generated/sum_c8.c: Regenerated.
- * generated/sum_i4.c: Regenerated.
- * generated/sum_i8.c: Regenerated.
- * generated/sum_r4.c: Regenerated.
- * generated/sum_r8.c: Regenerated.
-
-2005-04-30 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/18958
- libgfortran.h: Change typedef of index_type from size_t
- to ssize_t.
-
-2005-04-30 Paul Thomas <pault@gcc.gnu.org>
-
- PR libfortran/18857
- * generated/matmul_r8.c: Remove incorrect assertions.
- * generated/matmul_c4.c: Regenerate
- * generated/matmul_c8.c: Regenerate
- * generated/matmul_i4.c: Regenerate
- * generated/matmul_i8.c: Regenerate
- * generated/matmul_r4.c: Regenerate
- * generated/matmul_r8.c: Regenerate
-
-2005-04-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * configure.ac: Check for ftruncate and chsize.
- * io/unix.c (fd_truncate): Provide chsize as alternative to
- ftruncate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
-2004-04-29 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
-
- * intrinsics/rename.c: Add missing #includes.
-
-2004-04-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
-
- * AUTHORS, COPYING, INSTALL, NEWS, README: Remove.
-
-2005-04-26 David Edelsohn <edelsohn@gnu.org>
-
- PR libfortran/20930
- * io/rewind.c (st_rewind): Flush the stream when resetting the mode
- from WRITING to READING.
-
-2005-04-22 Paul Thomas <pault@gcc.gnu.org>
- Jerry DeLisle <jvdelisle@verizon.net>
-
- * io/write.c (nml_write_obj): Provide 1 more byte for ext_name.
- * io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem
- call for ext_name. These fix the bug reported by Jerry DeLisle to
- the fortran list and are based on his suggested fix.
-
-2005-04-22 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/20074
- PR libfortran/20436
- PR libfortran/21108
- * m4/reshape.m4 (reshape_`'rtype_kind): rs, rex: New
- variables, to be used in calculation of return array sizes.
- Populate return array descriptor if ret->data is NULL.
- Fix condition for early return (it used to test something
- undefined if order was used).
- Remove duplicate check wether pad is used.
- * intrinsics/reshape_generic.c (reshape_generic): Likewise.
- Fix a few places where the wrong variables were set.
- * generated/reshape_i4.c: Regenerated.
- * generated/reshape_i8.c: Regenerated.
-
-2005-04-18 Paul Thomas <pault@gcc.gnu.org>
-
- * io/list_read.c (nml_touch_nodes, nml_read_obj,
- nml_get_obj_data): Fix memory leaks in code for derived types.
-
-2005-04-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20950
- * io/inquire.c (inquire_via_unit): Check for the gfc_unit being
- NULL when setting ioparm.sequential.
-
-2005-04-17 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/21075
- * m4/reshape.m4 (reshape_`'rtype_kind): Change dimension
- of auxiliary arrays from GFC_MAX_DIMENSIONS - 1 to
- GFC_MAX_DIMENSIONS.
- * intrinsics/reshape_generic.c (reshape_generic): Likewise.
- * generated/reshape_i4.c: Regenerated.
- * generated/reshape_i8.c: Regenerated.
-
-2005-04-17 Paul Thomas <pault@gcc.gnu.org>
-
- * io/list_read.c (eat_separator): at_eol = 1 replaced
- (zapped at some time?).
-
-2005-04-17 Paul Thomas <pault@gcc.gnu.org>
-
- PR libgfortran/12884
- PR libgfortran/17285
- PR libgfortran/18122
- PR libgfortran/18210
- PR libgfortran/18392
- PR libgfortran/18591
- PR libgfortran/18879
- * io/io.h (nml_ls): Declare.
- (namelist_info): Modify for arrays.
- * io/list_read.c (namelist_read): Reduced to call to new functions.
- (match_namelist_name): Simplified.
- (nml_query): Handles stdin queries ? and =?. New function.
- (nml_get_obj_data): Parses object name. New function.
- (touch_nml_nodes): Marks objects for read. New function.
- (untouch_nml_nodes): Resets objects. New function.
- (parse_qualifier): Parses and checks qualifiers. New function
- (nml_read_object): Reads and stores object data. New function.
- (eat_separator): No new_record on '/' in namelist.
- (finish_separator): No new_record on '/' in namelist.
- (read_logical): Error return for namelist.
- (read_integer): Error return for namelist.
- (read_complex): Error return for namelist.
- (read_real): Error return for namelist.
- * io/lock.c (library_end): Free extended namelist_info types.
- * io/transfer.c (st_set_nml_var): Modified for arrays.
- (st_set_nml_var_dim): Dimension descriptors. New function.
- * io/write.c (namelist_write): Reduced to call to new functions.
- (nml_write_obj): Writes output for object. New function.
- (write_integer): Suppress leading blanks for repeat counts.
- (write_int): Suppress leading blanks for repeat counts.
- (write_float): Suppress leading blanks for repeat counts.
- (output_float): Suppress leading blanks for repeat counts.
-
-2005-04-15 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/18495
- * intrinsics/spread_generic.c (spread): Remove const from
- return array descriptor.
- New variables: rrank (rank of return array), rs (for
- calculating the size of the return array), srank (rank
- of the source array).
- Generate runtime error if the dim= argument is larger than
- the rank of the return array.
- Generate runtime error if the needed rank of the return
- array is larger than 7.
- If ret->data is null, populate the return array descriptor
- and initialize the variables for the actual operation.
- Otherwise, set ret->dim[0].stride to one if it is zero.
- Change second, independent use of variable dim to srank.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-04-13 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/19106
- * m4/iforeach.c (name`'rtype_qual`_'atype_code): Add TODO
- that setting correct strides is a front end job.
- (`m'name`'rtype_qual`_'atype_code): Likewise. If mask has
- a lowest stride of 0, adjust to 1.
- * m4/ifunction.c (name`'rtype_qual`_'atype_code): Add TODO
- that setting correct strides is a front end job.
- (`m'name`'rtype_qual`_'atype_code): Likewise. If mask has
- a lowest stride of 0, adjust to 1.
- * maxloc0_4_i4.c: Regenerated
- * maxloc0_4_i8.c: Regenerated
- * maxloc0_4_r4.c: Regenerated
- * maxloc0_4_r8.c: Regenerated
- * maxloc0_8_i4.c: Regenerated
- * maxloc0_8_i8.c: Regenerated
- * maxloc0_8_r4.c: Regenerated
- * maxloc0_8_r8.c: Regenerated
- * maxloc1_4_i4.c: Regenerated
- * maxloc1_4_i8.c: Regenerated
- * maxloc1_4_r4.c: Regenerated
- * maxloc1_4_r8.c: Regenerated
- * maxloc1_8_i4.c: Regenerated
- * maxloc1_8_i8.c: Regenerated
- * maxloc1_8_r4.c: Regenerated
- * maxloc1_8_r8.c: Regenerated
- * maxval_i4.c: Regenerated
- * maxval_i8.c: Regenerated
- * maxval_r4.c: Regenerated
- * maxval_r8.c: Regenerated
- * minloc0_4_i4.c: Regenerated
- * minloc0_4_i8.c: Regenerated
- * minloc0_4_r4.c: Regenerated
- * minloc0_4_r8.c: Regenerated
- * minloc0_8_i4.c: Regenerated
- * minloc0_8_i8.c: Regenerated
- * minloc0_8_r4.c: Regenerated
- * minloc0_8_r8.c: Regenerated
- * minloc1_4_i4.c: Regenerated
- * minloc1_4_i8.c: Regenerated
- * minloc1_4_r4.c: Regenerated
- * minloc1_4_r8.c: Regenerated
- * minloc1_8_i4.c: Regenerated
- * minloc1_8_i8.c: Regenerated
- * minloc1_8_r4.c: Regenerated
- * minloc1_8_r8.c: Regenerated
- * minval_i4.c: Regenerated
- * minval_i8.c: Regenerated
- * minval_r4.c: Regenerated
- * minval_r8.c: Regenerated
- * product_c4.c: Regenerated
- * product_c8.c: Regenerated
- * product_i4.c: Regenerated
- * product_i8.c: Regenerated
- * product_r4.c: Regenerated
- * product_r8.c: Regenerated
- * sum_c4.c: Regenerated
- * sum_c8.c: Regenerated
- * sum_i4.c: Regenerated
- * sum_i8.c: Regenerated
- * sum_r4.c: Regenerated
- * sum_r8.c: Regenerated
-
-2005-04-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20788
- * runtime/environ.c (init_unsigned_integer): Function for
- environment variables we want to be positive.
- (init_integer): Function to allow negative environment
- variables (e.g. for GFORTRAN_STDIN_UNIT).
-
-2005-04-10 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/17992
- PR libfortran/19568
- PR libfortran/19595
- PR libfortran/20005
- PR libfortran/20092
- PR libfortran/20131
- PR libfortran/20661
- PR libfortran/20744
- * io/transfer.c (top level): eor_condition: New static variable.
- (read_sf): Remove unnecessary zeroing of buffer (there is enough
- information in its length).
- Return a string of length 0 (to be padded by caller) if EOR was
- seen previously.
- Remove erroneous special casing of EOR for standard input.
- Set eor_condition for non-advancing I/O if an end of line was
- detected.
- Increment ioparm.size if necessary.
- (formatted_transfer): Skip the function if there is an EOR condition.
- (data_transfer_init): Initialize eor_condition to zero (false).
- (next_record_r): Clear sf_seen_eor if a \n has been seen already.
- (finalize_transfer): If there is an EOR condition, raise the error.
-
-2005-04-09 Bud Davis <bdavis@gfortran.org>
- Steven G. Kargl <kargls@comcast.net>
-
- PR fortran/19872
- * io/transfer.c (data_transfer_init): truncate an existing
- file on the first write.
-
-2005-04-09 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/19106
- PR libfortran/19014
- * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): ditto.
- If retarray->data is NULL (i.e. the front end does not
- know the rank and dimenson of the array), fill in its
- properties and allocate memory.
- Change the assertions about rank and dimension of retarray into
- runtime errors and only check them for retarray->data != NULL.
- Do the same for correcting the stride from 0 to 1 in retarray.
- (`m'name`'rtype_qual`_'atype_code): Likewise.
- * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
- Change assertion about rank of array to runtime error.
- (`m'name`'rtype_qual`_'atype_code): Likewise.
- * generated/all_l4.c: Regenerated.
- * generated/all_l8.c: Regenerated.
- * generated/any_l4.c: Regenerated.
- * generated/any_l8.c: Regenerated.
- * generated/count_4_l4.c: Regenerated.
- * generated/count_4_l8.c: Regenerated.
- * generated/count_8_l4.c: Regenerated.
- * generated/count_8_l8.c: Regenerated.
- * generated/maxloc0_4_i4.c: Regenerated.
- * generated/maxloc0_4_i8.c: Regenerated.
- * generated/maxloc0_4_r4.c: Regenerated.
- * generated/maxloc0_4_r8.c: Regenerated.
- * generated/maxloc0_8_i4.c: Regenerated.
- * generated/maxloc0_8_i8.c: Regenerated.
- * generated/maxloc0_8_r4.c: Regenerated.
- * generated/maxloc0_8_r8.c: Regenerated.
- * generated/maxloc1_4_i4.c: Regenerated.
- * generated/maxloc1_4_i8.c: Regenerated.
- * generated/maxloc1_4_r4.c: Regenerated.
- * generated/maxloc1_4_r8.c: Regenerated.
- * generated/maxloc1_8_i4.c: Regenerated.
- * generated/maxloc1_8_i8.c: Regenerated.
- * generated/maxloc1_8_r4.c: Regenerated.
- * generated/maxloc1_8_r8.c: Regenerated.
- * generated/maxval_i4.c: Regenerated.
- * generated/maxval_i8.c: Regenerated.
- * generated/maxval_r4.c: Regenerated.
- * generated/maxval_r8.c: Regenerated.
- * generated/minloc0_4_i4.c: Regenerated.
- * generated/minloc0_4_i8.c: Regenerated.
- * generated/minloc0_4_r4.c: Regenerated.
- * generated/minloc0_4_r8.c: Regenerated.
- * generated/minloc0_8_i4.c: Regenerated.
- * generated/minloc0_8_i8.c: Regenerated.
- * generated/minloc0_8_r4.c: Regenerated.
- * generated/minloc0_8_r8.c: Regenerated.
- * generated/minloc1_4_i4.c: Regenerated.
- * generated/minloc1_4_i8.c: Regenerated.
- * generated/minloc1_4_r4.c: Regenerated.
- * generated/minloc1_4_r8.c: Regenerated.
- * generated/minloc1_8_i4.c: Regenerated.
- * generated/minloc1_8_i8.c: Regenerated.
- * generated/minloc1_8_r4.c: Regenerated.
- * generated/minloc1_8_r8.c: Regenerated.
- * generated/minval_i4.c: Regenerated.
- * generated/minval_i8.c: Regenerated.
- * generated/minval_r4.c: Regenerated.
- * generated/minval_r8.c: Regenerated.
- * generated/product_c4.c: Regenerated.
- * generated/product_c8.c: Regenerated.
- * generated/product_i4.c: Regenerated.
- * generated/product_i8.c: Regenerated.
- * generated/product_r4.c: Regenerated.
- * generated/product_r8.c: Regenerated.
- * generated/sum_c4.c: Regenerated.
- * generated/sum_c8.c: Regenerated.
- * generated/sum_i4.c: Regenerated.
- * generated/sum_i8.c: Regenerated.
- * generated/sum_r4.c: Regenerated.
- * generated/sum_r8.c: Regenerated.
-
-2005-04-09 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/20163
- * runtime/string.c (compare0): Use fstrlen() to
- strip trailing blanks from option string.
-
-2005-04-09 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR fortran/13257
- * format.c (parse_format_list): Allow an optional comma
- between descriptors.
-
-2005-04-08 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * io/backspace.c (unformatted_backspace): Do not dereference
- the pointer to the stream.
-
-2005-04-07 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR libfortran/20766
- * configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
- "-Wl,-single_module".
- * configure: Regenerate.
- * Makefile.am (libgfortran_la_LDFLAGS): Add extra_ldflags_libgfortran.
- * Makefile.in: Regenerate.
-
-2005-04-05 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20755
- * write.c (write_float): A G edit descriptor may locally change
- the scale factor, but it needs to be restored afterwards.
-
-2005-04-03 Dale Ranta <dir@lanl.gov>
- Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20068
- PR libfortran/20125
- PR libfortran/20156
- PR libfortran/20471
- * io/backspace.c (unformatted_backspace): Fix error in arithmetic.
- (st_backspace): When in WRITING mode, we flush and falling back
- into READING mode. In all cases, correctly position the stream.
-
-2005-03-31 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20660
- * io/inquire.c (inquire_via_unit): Non-opened units should still be
- reported by an INQUIRE statement as existing.
- * io/transfer.c (data_transfer_init): Never accept negative units.
-
-2005-03-29 Dale Ranta <dir@lanl.gov>
- Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20163
- * io/open.c (st_open): call library_end() before returning even if
- an error arises.
-
-2005-03-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/19678
- * list_read.c (next_char, eat_separator, finish_separator, read_real)
- (namelist_read): Add support for '\r' as well as '\n' as EOL
- character.
-
- PR libfortran/19679
- * list_read.c (read_sf): Add a '\r' in a test to support DOS
- line-endings when line length is exceeded.
-
-2005-03-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/15332
- * io/format.c (parse_format_list): format node for colon edit
- descriptor needs a repeat counter set to 1.
-
-2005-02-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * config.h.in: Regenerate.
-
-2005-02-23 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/18025
- * write.c (output_float): Handling the "F0.d" format similarly as
- commercial compilers.
-
-2005-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- * Makefile.am: Added new files.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * configure.ac: add checks for signal.h headers file, as well as
- following functions: chdir, strerror, getlogin, gethostname, kill,
- link, symlink, perror, sleep, time.
- * configure: Regenerate.
- * intrinsics/chdir.c, intrinsics/gerror.c, intrinsics/getlog.c,
- intrinsics/hostnm.c, intrinsics/ierrno.c, intrinsics/kill.c,
- intrinsics/link.c, intrinsics/perror.c, intrinsics/rename.c,
- intrinsics/sleep.c, intrinsics/symlnk.c, intrinsics/time.c: Newly
- implementend g77 intrinsics.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * configure.ac: Do not invoke TL_AC_GCC_VERSION.
- In all substitutions, leave gcc_version to be expanded by the Makefile.
- * aclocal.m4, configure: Regenerate.
- * Makefile.am: Set gcc_version.
- * Makefile.in: Regenerate.
-
-2005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20257
- * open.c (new_unit): set record length to max_offset rather than
- using a hard-coded limit (which was too low).
-
-2005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20480
- * write.c (output_float): special check when writing 0.0 with
- EN and ES formats.
-
-2005-03-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20124
- * write.c (output_float): Adds a nzero_real variable to store
- the number of leading zeros whatever the format width is. Corrects
- the rounding of numbers less than 10^(-width). Fixes typo in an
- error message. Updates copyright years
-
-2005-02-27 Toon Moene <toon@moene.indiv.nluug.nl>
-
- * runtime/environ.c: Update copyright years.
-
-2005-02-27 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
-
- * io/write.c: Update copyright years.
-
-2005-02-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
-
- PR libfortran/20101
- * io/write.c (output_float): Added special check for value 0.0 in
- PE format.
-
-2004-02-27 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
-
- * io/write.c (output_float): Fix typo in condition.
-
-2005-02-25 Peter O'Gorman <peter@pogma.com>
- Toon Moene <toon@moene.indiv.nluug.nl>
-
- PR libgfortran/17748
- * runtime/environ.c: Remove references to environ.
- (show_variables): remove GFORTRAN_UNBUFFERED_* and
- GFORTRAN_NAME_* because they require environ.
- (pattern_scan): Remove function.
-
-2004-02-22 Paul Thomas <paulthomas2@wannado.fr>
- Bud Davis <bdavis@gfortran.org>
-
- * io/list_read.c (read_real): Handle separators properly
- in list directed read.
-
-2004-02-21 Bud Davis <bdavis@gfortran.org>
-
- PR fortran/20086
- * io/transfer.c (write_constant_string): accept an 'h' as
- the start of a hollerith format string.
-
-2005-02-21 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR libfortran/19302
- * intrinsics/c99_functions.c (nextafterf): Special-case infinite
- numbers.
-
-2005-02-21 Steven G. Kargl <kargls@comcast.net>
-
- * io/write.c (output_float): Typo in error meesage.
-
-2005-02-20 Steven G. Kargl <kargls@comcast.net>
-
- PR 20085
- * intrinsic/args.c (iargc): Off by 1.
-
-2005-02-19 Steven G. Kargl <kargls@comcast.net>
-
- * intrinsic/date_and_time.c: Fix conformance problems.
-
-2005-02-01 Paul Thomas <paulthomas2@wanadoo.fr>
-
- PR libgfortran/19363
- PR libgfortran/19691
- * libgfortran.h (isfinite): Work around broken isfinite(x) in Cygwin.
-
-2005-01-30 Bud Davis <bdavis@gfortran.org>
-
- PR fortran/19647
- * io/inquire.c (inquire_via_unit): Use correct variable for
- pad.
-
-2005-01-29 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/19595
- * io/transfer.c (data_transfer_init): eor requires advance="NO".
-
-2005-01-25 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
-
- PR libfortran/19524
- * io/read.c (read_f): Don't free uninitialized pointer.
-
-2005-01-23 James A. Morrison <phython@gcc.gnu.org>
- Paul Brook <paul@codesourcery.com>
-
- PR fortran/19294
- * Makefile.am: Add transpose_c4.c and transpose_c8.c.
- * intrinsics/cshift0.c: Use separate optimized loops for complex types.
- * m4/transpose.m4: Include type letter in function name.
- * Makefile.in: Regenerate.
- * generated/transpose_*.c: Regenerate.
-
-2005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/19451
- * io/transfer.c (finalize_transfer): Don't do anything if
- there is an error condition.
-
-2005-01-22 David Edelsohn <edelsohn@gnu.org>
-
- PR libgfortran/19052
- * libgfortran.h (options_t): Add stderr_unit.
- * io/io.h (error_stream): Declare.
- * io/open.c (new_unit): Do not terminate abnormally if opening
- file preconnected to stdin, stdout, or stderr.
- * io/unit.c (init_units): Initialize stderr_unit.
- * io/unix.c (error_stream): New function.
- * runtime/environ.c (GFORTRAN_STDERR_UNIT): New environment variable.
-
-2005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
-
- PR libfortran/18982
- * io/unix.c (regular_file): No need to change flags->action
- if an error occurs. Document this.
- No need to call stat() for STATUS_OLD, open() will
- fail anyway.
- For ACTION_UNSPECIFIED, try open for read-write, then for
- read-only if open fails with EACCES, then for write-only
- if that fails with EACCES again.
- * io/unix.c (open_external): Document changed behavior of
- regular_file.
-
-2005-01-22 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
-
- PR fortran/19194
- * io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int',
- use CHARACTER macro for definition of string valued paramters.
-
-2005-01-22 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/19314
- * io/inquire.c(inquire_via_unit): implement POSITION=.
- * io/transfer.c(next_record): update position for
- INQUIRE.
- * io/rewind.c(st_rewind): update position for
- INQUIRE.
-
-2005-01-16 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/18778
- * io/transfer.c (us_read): no bytes available is not a
- runtime error.
-
-2005-01-15 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/18983
- * io/transfer.c (st_write_done): only truncate when it
- is required.
-
-2005-01-12 Toon Moene <toon@moene.indiv.nluug.nl>
-
- PR libfortran/19280
- c99_protos.h: License changed to GPL+exception.
- libgfortran.h: Ditto.
- intrinsics/abort.c: Ditto.
- intrinsics/args.c: Ditto.
- intrinsics/associated.c: Ditto.
- intrinsics/bessel.c: Ditto.
- intrinsics/c99_functions.c: Ditto.
- intrinsics/cpu_time.c: Ditto.
- intrinsics/cshift0.c: Ditto.
- intrinsics/date_and_time.c: Ditto.
- intrinsics/env.c: Ditto.
- intrinsics/eoshift0.c: Ditto.
- intrinsics/eoshift2.c: Ditto.
- intrinsics/erf.c: Ditto.
- intrinsics/etime.c: Ditto.
- intrinsics/exit.c: Ditto.
- intrinsics/flush.c: Ditto.
- intrinsics/fnum.c: Ditto.
- intrinsics/getXid.c: Ditto.
- intrinsics/getcwd.c: Ditto.
- intrinsics/ishftc.c: Ditto.
- intrinsics/mvbits.c: Ditto.
- intrinsics/pack_generic.c: Ditto.
- intrinsics/rand.c: Ditto.
- intrinsics/random.c: Ditto.
- intrinsics/reshape_generic.c: Ditto.
- intrinsics/reshape_packed.c: Ditto.
- intrinsics/size.c: Ditto.
- intrinsics/spread_generic.c: Ditto.
- intrinsics/stat.c: Ditto.
- intrinsics/string_intrinsics.c: Ditto.
- intrinsics/system.c: Ditto.
- intrinsics/system_clock.c: Ditto.
- intrinsics/transpose_generic.c: Ditto.
- intrinsics/umask.c: Ditto.
- intrinsics/unlink.c: Ditto.
- intrinsics/unpack_generic.c: Ditto.
- io/backspace.c: Ditto.
- io/close.c: Ditto.
- io/endfile.c: Ditto.
- io/format.c: Ditto.
- io/inquire.c: Ditto.
- io/io.h: Ditto.
- io/list_read.c: Ditto.
- io/lock.c: Ditto.
- io/open.c: Ditto.
- io/read.c: Ditto.
- io/rewind.c: Ditto.
- io/transfer.c: Ditto.
- io/unit.c: Ditto.
- io/unix.c: Ditto.
- io/write.c: Ditto.
- m4/all.m4: Ditto.
- m4/any.m4: Ditto.
- m4/cexp.m4: Ditto.
- m4/chyp.m4: Ditto.
- m4/count.m4: Ditto.
- m4/cshift1.m4: Ditto.
- m4/ctrig.m4: Ditto.
- m4/dotprod.m4: Ditto.
- m4/dotprodc.m4: Ditto.
- m4/dotprodl.m4: Ditto.
- m4/eoshift1.m4: Ditto.
- m4/eoshift3.m4: Ditto.
- m4/exponent.m4: Ditto.
- m4/fraction.m4: Ditto.
- m4/head.m4: Ditto.
- m4/iforeach.m4: Ditto.
- m4/ifunction.m4: Ditto.
- m4/in_pack.m4: Ditto.
- m4/in_unpack.m4: Ditto.
- m4/iparm.m4: Ditto.
- m4/matmul.m4: Ditto.
- m4/matmull.m4: Ditto.
- m4/maxloc0.m4: Ditto.
- m4/maxloc1.m4: Ditto.
- m4/maxval.m4: Ditto.
- m4/minloc0.m4: Ditto.
- m4/minloc1.m4: Ditto.
- m4/minval.m4: Ditto.
- m4/mtype.m4: Ditto.
- m4/nearest.m4: Ditto.
- m4/pow.m4: Ditto.
- m4/product.m4: Ditto.
- m4/reshape.m4: Ditto.
- m4/set_exponent.m4: Ditto.
- m4/shape.m4: Ditto.
- m4/specific.m4: Ditto.
- m4/specific2.m4: Ditto.
- m4/sum.m4: Ditto.
- m4/transpose.m4: Ditto.
- m4/types.m4: Ditto.
- runtime/environ.c: Ditto.
- runtime/error.c: Ditto.
- runtime/in_pack_generic.c: Ditto.
- runtime/in_unpack_generic.c: Ditto.
- runtime/main.c: Ditto.
- runtime/memory.c: Ditto.
- runtime/normalize.c: Ditto.
- runtime/pause.c: Ditto.
- runtime/select.c: Ditto.
- runtime/stop.c: Ditto.
- runtime/string.c: Ditto.
- generated/_abs_c4.f90: Regenerated.
- generated/_abs_c8.f90: Regenerated.
- generated/_abs_i4.f90: Regenerated.
- generated/_abs_i8.f90: Regenerated.
- generated/_abs_r4.f90: Regenerated.
- generated/_abs_r8.f90: Regenerated.
- generated/_acos_r4.f90: Regenerated.
- generated/_acos_r8.f90: Regenerated.
- generated/_aint_r4.f90: Regenerated.
- generated/_aint_r8.f90: Regenerated.
- generated/_anint_r4.f90: Regenerated.
- generated/_anint_r8.f90: Regenerated.
- generated/_asin_r4.f90: Regenerated.
- generated/_asin_r8.f90: Regenerated.
- generated/_atan2_r4.f90: Regenerated.
- generated/_atan2_r8.f90: Regenerated.
- generated/_atan_r4.f90: Regenerated.
- generated/_atan_r8.f90: Regenerated.
- generated/_conjg_c4.f90: Regenerated.
- generated/_conjg_c8.f90: Regenerated.
- generated/_cos_c4.f90: Regenerated.
- generated/_cos_c8.f90: Regenerated.
- generated/_cos_r4.f90: Regenerated.
- generated/_cos_r8.f90: Regenerated.
- generated/_cosh_r4.f90: Regenerated.
- generated/_cosh_r8.f90: Regenerated.
- generated/_dim_i4.f90: Regenerated.
- generated/_dim_i8.f90: Regenerated.
- generated/_dim_r4.f90: Regenerated.
- generated/_dim_r8.f90: Regenerated.
- generated/_exp_c4.f90: Regenerated.
- generated/_exp_c8.f90: Regenerated.
- generated/_exp_r4.f90: Regenerated.
- generated/_exp_r8.f90: Regenerated.
- generated/_log10_r4.f90: Regenerated.
- generated/_log10_r8.f90: Regenerated.
- generated/_log_c4.f90: Regenerated.
- generated/_log_c8.f90: Regenerated.
- generated/_log_r4.f90: Regenerated.
- generated/_log_r8.f90: Regenerated.
- generated/_mod_i4.f90: Regenerated.
- generated/_mod_i8.f90: Regenerated.
- generated/_mod_r4.f90: Regenerated.
- generated/_mod_r8.f90: Regenerated.
- generated/_sign_i4.f90: Regenerated.
- generated/_sign_i8.f90: Regenerated.
- generated/_sign_r4.f90: Regenerated.
- generated/_sign_r8.f90: Regenerated.
- generated/_sin_c4.f90: Regenerated.
- generated/_sin_c8.f90: Regenerated.
- generated/_sin_r4.f90: Regenerated.
- generated/_sin_r8.f90: Regenerated.
- generated/_sinh_r4.f90: Regenerated.
- generated/_sinh_r8.f90: Regenerated.
- generated/_sqrt_c4.f90: Regenerated.
- generated/_sqrt_c8.f90: Regenerated.
- generated/_sqrt_r4.f90: Regenerated.
- generated/_sqrt_r8.f90: Regenerated.
- generated/_tan_r4.f90: Regenerated.
- generated/_tan_r8.f90: Regenerated.
- generated/_tanh_r4.f90: Regenerated.
- generated/_tanh_r8.f90: Regenerated.
- generated/all_l4.c: Regenerated.
- generated/all_l8.c: Regenerated.
- generated/any_l4.c: Regenerated.
- generated/any_l8.c: Regenerated.
- generated/count_4_l4.c: Regenerated.
- generated/count_4_l8.c: Regenerated.
- generated/count_8_l4.c: Regenerated.
- generated/count_8_l8.c: Regenerated.
- generated/cshift1_4.c: Regenerated.
- generated/cshift1_8.c: Regenerated.
- generated/dotprod_c4.c: Regenerated.
- generated/dotprod_c8.c: Regenerated.
- generated/dotprod_i4.c: Regenerated.
- generated/dotprod_i8.c: Regenerated.
- generated/dotprod_l4.c: Regenerated.
- generated/dotprod_l8.c: Regenerated.
- generated/dotprod_r4.c: Regenerated.
- generated/dotprod_r8.c: Regenerated.
- generated/eoshift1_4.c: Regenerated.
- generated/eoshift1_8.c: Regenerated.
- generated/eoshift3_4.c: Regenerated.
- generated/eoshift3_8.c: Regenerated.
- generated/exp_c4.c: Regenerated.
- generated/exp_c8.c: Regenerated.
- generated/exponent_r4.c: Regenerated.
- generated/exponent_r8.c: Regenerated.
- generated/fraction_r4.c: Regenerated.
- generated/fraction_r8.c: Regenerated.
- generated/hyp_c4.c: Regenerated.
- generated/hyp_c8.c: Regenerated.
- generated/in_pack_i4.c: Regenerated.
- generated/in_pack_i8.c: Regenerated.
- generated/in_unpack_i4.c: Regenerated.
- generated/in_unpack_i8.c: Regenerated.
- generated/matmul_c4.c: Regenerated.
- generated/matmul_c8.c: Regenerated.
- generated/matmul_i4.c: Regenerated.
- generated/matmul_i8.c: Regenerated.
- generated/matmul_l4.c: Regenerated.
- generated/matmul_l8.c: Regenerated.
- generated/matmul_r4.c: Regenerated.
- generated/matmul_r8.c: Regenerated.
- generated/maxloc0_4_i4.c: Regenerated.
- generated/maxloc0_4_i8.c: Regenerated.
- generated/maxloc0_4_r4.c: Regenerated.
- generated/maxloc0_4_r8.c: Regenerated.
- generated/maxloc0_8_i4.c: Regenerated.
- generated/maxloc0_8_i8.c: Regenerated.
- generated/maxloc0_8_r4.c: Regenerated.
- generated/maxloc0_8_r8.c: Regenerated.
- generated/maxloc1_4_i4.c: Regenerated.
- generated/maxloc1_4_i8.c: Regenerated.
- generated/maxloc1_4_r4.c: Regenerated.
- generated/maxloc1_4_r8.c: Regenerated.
- generated/maxloc1_8_i4.c: Regenerated.
- generated/maxloc1_8_i8.c: Regenerated.
- generated/maxloc1_8_r4.c: Regenerated.
- generated/maxloc1_8_r8.c: Regenerated.
- generated/maxval_i4.c: Regenerated.
- generated/maxval_i8.c: Regenerated.
- generated/maxval_r4.c: Regenerated.
- generated/maxval_r8.c: Regenerated.
- generated/minloc0_4_i4.c: Regenerated.
- generated/minloc0_4_i8.c: Regenerated.
- generated/minloc0_4_r4.c: Regenerated.
- generated/minloc0_4_r8.c: Regenerated.
- generated/minloc0_8_i4.c: Regenerated.
- generated/minloc0_8_i8.c: Regenerated.
- generated/minloc0_8_r4.c: Regenerated.
- generated/minloc0_8_r8.c: Regenerated.
- generated/minloc1_4_i4.c: Regenerated.
- generated/minloc1_4_i8.c: Regenerated.
- generated/minloc1_4_r4.c: Regenerated.
- generated/minloc1_4_r8.c: Regenerated.
- generated/minloc1_8_i4.c: Regenerated.
- generated/minloc1_8_i8.c: Regenerated.
- generated/minloc1_8_r4.c: Regenerated.
- generated/minloc1_8_r8.c: Regenerated.
- generated/minval_i4.c: Regenerated.
- generated/minval_i8.c: Regenerated.
- generated/minval_r4.c: Regenerated.
- generated/minval_r8.c: Regenerated.
- generated/nearest_r4.c: Regenerated.
- generated/nearest_r8.c: Regenerated.
- generated/pow_c4_i4.c: Regenerated.
- generated/pow_c4_i8.c: Regenerated.
- generated/pow_c8_i4.c: Regenerated.
- generated/pow_c8_i8.c: Regenerated.
- generated/pow_i4_i4.c: Regenerated.
- generated/pow_i4_i8.c: Regenerated.
- generated/pow_i8_i4.c: Regenerated.
- generated/pow_i8_i8.c: Regenerated.
- generated/pow_r4_i4.c: Regenerated.
- generated/pow_r4_i8.c: Regenerated.
- generated/pow_r8_i4.c: Regenerated.
- generated/pow_r8_i8.c: Regenerated.
- generated/product_c4.c: Regenerated.
- generated/product_c8.c: Regenerated.
- generated/product_i4.c: Regenerated.
- generated/product_i8.c: Regenerated.
- generated/product_r4.c: Regenerated.
- generated/product_r8.c: Regenerated.
- generated/reshape_i4.c: Regenerated.
- generated/reshape_i8.c: Regenerated.
- generated/set_exponent_r4.c: Regenerated.
- generated/set_exponent_r8.c: Regenerated.
- generated/shape_i4.c: Regenerated.
- generated/shape_i8.c: Regenerated.
- generated/sum_c4.c: Regenerated.
- generated/sum_c8.c: Regenerated.
- generated/sum_i4.c: Regenerated.
- generated/sum_i8.c: Regenerated.
- generated/sum_r4.c: Regenerated.
- generated/sum_r8.c: Regenerated.
- generated/transpose_i4.c: Regenerated.
- generated/transpose_i8.c: Regenerated.
- generated/trig_c4.c: Regenerated.
- generated/trig_c8.c: Regenerated.
-
-2005-01-07 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/18398
- * transfer.c (next_record_r): always skip the
- eol search if it was found during sf_read.
-
-2004-12-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
-
- * libgfortran/libgfortran.h (GFC_UINTEGER_1, GFC_UINTEGER_2):
- Define.
- * intrinsics/ishftc.c: Update copyright years.
- (ishftc8): Change 'shift' and 'size' to GFC_INTEGER_4.
- * intrinsics/mvbits.c: Correct non-ASCII character in my name.
- Add implementations for GFC_INTEGER_1 and GFC_INTEGER_2.
-
-2004-12-23 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/19071
- * io/tranfer.c (formatted_transfer): moved check for
- format reversion inside the processing loop.
-
-2004-12-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- PR libfortran/19074
- * libgfortran.h (itoa): Rename to gfc_itoa.
- * io/write.c (itoa): Same.
- * runtime/environ.c (itoa): Same.
- * runtime/error.c (itoa): Same.
-
-2004-12-15 Bud Davis <bdavis9659@comcast.net>
- Steven G. Kargl <kargls@comcast.net>
-
- PR fortran/17597
- * io/list_read.c (read_real): do not push back a comma when
- it delimits a real value without a decimal point
-
-2004-12-14 Steve Ellcey <sje@cup.hp.com>
-
- * libgfortran/io/transfer.c (us_read): Use memcpy/memset
- instead of assignment to fill unaligned buffer.
- (us_write): Ditto.
- (next_record_w): Ditto.
-
-2004-12-14 Steven G. Kargl <kargls@comcast.net>
-
- PR libfortran/18966
- * gfortran.h: typedef GFC_INTEGER_1 and GFC_INTEGER_2
- * intrinsics/cshift0.c (cshift0_1,cshift0_2): New functions.
- * intrinsics/eoshift0.c (eoshift0_1,eoshift0_2): New functions.
- * intrinsics/eoshift2.c (eoshift2_1,eoshift2_2): New functions.
-
-2004-12-13 David Edelsohn <edelsohn@gnu.org>
-
- * io/transfer.c (read_sf): Change bitwise "and" to logical "and".
-
-2004-12-12 Richard Henderson <rth@redhat.com>
-
- * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
- intrinsics/pack_generic.c, intrinsics/reshape_generic.c,
- intrinsics/spread_generic.c, intrinsics/transpose_generic.c,
- intrinsics/unpack_generic.c, m4/cshift1.m4, m4/dotprod.m4,
- m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
- m4/iforeach.m4, m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4,
- m4/reshape.m4, m4/shape.m4, m4/transpose.m4: Use standard prefix
- instead of "__".
- * generated/*: Rebuild.
-
-2004-12-12 Richard Henderson <rth@redhat.com>
-
- * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
- (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT): New.
- (LIBGFOR_CHECK_ATTRIBUTE_ALIAS): New.
- * configure.ac: Use them.
- * configure, config.h.in, aclocal.m4: Rebuild.
- * libgfortran.h (prefix): Remove.
- (PREFIX, IPREFIX): New.
- (sym_rename, sym_rename1, sym_rename2): New.
- (internal_proto, export_proto, export_proto_np): New.
- (iexport_proto, iexport): New.
- (iexport_data_proto, iexport_data): New.
- * intrinsics/abort.c, intrinsics/args.c, intrinsics/associated.c,
- intrinsics/cpu_time.c, intrinsics/cshift0.c,
- intrinsics/date_and_time.c, intrinsics/env.c, intrinsics/eoshift0.c,
- intrinsics/eoshift2.c, intrinsics/etime.c, intrinsics/exit.c,
- intrinsics/flush.c, intrinsics/fnum.c, intrinsics/getXid.c,
- intrinsics/getcwd.c, intrinsics/ishftc.c, intrinsics/mvbits.c,
- intrinsics/pack_generic.c, intrinsics/rand.c, intrinsics/random.c,
- intrinsics/reshape_generic.c, intrinsics/size.c,
- intrinsics/spread_generic.c, intrinsics/stat.c,
- intrinsics/string_intrinsics.c, intrinsics/system.c,
- intrinsics/system_clock.c, intrinsics/transpose_generic.c,
- intrinsics/umask.c, intrinsics/unlink.c, intrinsics/unpack_generic.c,
- io/backspace.c, io/close.c, io/endfile.c, io/inquire.c, io/io.h,
- io/open.c, io/rewind.c, io/transfer.c, libgfortran.h, m4/cshift1.m4,
- m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4,
- m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/iforeach.m4,
- m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/nearest.m4,
- m4/pow.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4,
- m4/transpose.m4, runtime/environ.c, runtime/error.c,
- runtime/in_pack_generic.c, runtime/in_unpack_generic.c,
- runtime/main.c, runtime/memory.c, runtime/pause.c, runtime/select.c,
- runtime/stop.c: Use them to mark symbols internal or external.
- * generated/*: Rebuild.
-
-2004-12-09 David Edelsohn <edelsohn@gnu.org>
-
- PR bootstrap/18895
- Revert 2004-12-07 change.
- * Makefile.am (AM_MAKEFLAGS): Delete.
- * Makefile.in: Regenerate.
-
-2004-12-07 Steve Ellcey <sje@cup.hp.com>
-
- * libgfortran/Makefile.am (AM_MAKEFLAGS): New.
- * libgfortran/Makefile.in: Regenerate
-
-2004-12-07 Steve Ellcey <sje@cup.hp.com>
-
- * io/io.h (open_external): Change prototype.
- * io/unix.c (regular_file): Change prototype and set flags->action if
- needed.
- (open_external): Ditto.
- * io/open.c (new_unit): Let open_external set flags->action.
-
-2004-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * configure.ac: Check for ieeefp.h. Check for fabsf in libm.
- * configure: Regenerate.
- * config.h.in: Likewise.
- * c99_protos.h: New file.
- * libgfortran.h: Include c99_protos.h and conditionally ieeefp.h.
- * intrinsics/c99_functions.c (fabsf): New function.
-
-2004-12-06 Richard Henderson <rth@redhat.com>
-
- * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
- intrinsics/pack_generic.c, intrinsics/string_intrinsics.c,
- intrinsics/transpose_generic.c, m4/ifunction.m4, m4/matmul.m4,
- m4/matmull.m4, m4/transpose.m4: Use internal_malloc_size instead
- of internal_malloc.
- * generated/*: Rebuild.
-
-2004-12-06 Richard Henderson <rth@redhat.com>
-
- * intrinsics/c99_functions.c, intrinsics/eoshift0.c,
- intrinsics/eoshift2.c, intrinsics/exit.c, intrinsics/flush.c,
- intrinsics/ishftc.c, intrinsics/mvbits.c, intrinsics/pack_generic.c,
- intrinsics/random.c, intrinsics/reshape_generic.c, intrinsics/size.c,
- intrinsics/spread_generic.c, intrinsics/stat.c,
- intrinsics/string_intrinsics.c, intrinsics/system_clock.c,
- intrinsics/transpose_generic.c, intrinsics/unlink.c,
- intrinsics/unpack_generic.c, io/backspace.c, io/format.c,
- io/list_read.c, io/lock.c, io/open.c, io/transfer.c, io/unix.c,
- io/write.c, runtime/environ.c, runtime/error.c,
- runtime/in_pack_generic.c, runtime/in_unpack_generic.c, runtime/main.c,
- runtime/memory.c, runtime/pause.c, runtime/stop.c,
- runtime/string.c: Whitespace fixes.
-
-2004-12-06 Richard Henderson <rth@redhat.com>
-
- * Makefile.am: Generate all m4 output under $(srcdir).
- * Makefile.in: Regenerate.
-
-2004-12-02 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
-
- PR fortran/18710
- * io/transfer.c (unformatted_read, unformatted_write): width of
- a COMPLEX is twice its kind.
-
-2004-12-02 Richard Sandiford <rsandifo@redhat.com>
-
- * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
- * configure, aclocal.m4, Makefile.in: Regenerate.
-
-2004-12-02 Bud Davis <bdavis9659@comcast.net>
-
- PR libfortran/18284
- * io/unix.c (fd_alloc_w_at): Update file_length when extending.
- * io/backspace.c (formatted_backspace): Reset endfile after backspace.
-
-2004-12-02 Bud Davis <bdavis9659@comcast.net>
-
- * io/inquire.c (inquire_via_unit): do not allow a direct access
- file to be opened for sequential I/O.
-
-2004-12-02 Steven G. Kargl <kargls@comcast.net>
- Paul Brook <paul@codesourcery.com>
-
- * intrinsics/flush.c: New file.
- * intrinsics/fnum.c: ditto
- * intrinsics/stat.c: ditto
- * io/io.h (unit_to_fd): Add prototype.
- * io/unix.c (unit_to_fd): New function.
- * configure.ac: Add test for members of struct stat. Check for
- sys/types.h and sys/stat.h
- * Makefile.am: Add intrinsics/{flush.c,fnum.c,stat.c}
- * configure.in: Regenerate.
- * config.h.in: Regenerate.
- * Makefile.in: Regenerate.
-
-2004-12-01 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * Makefile.am (AM_CPPFLAGS): Use -iquote instead of -I.
-
-2004-11-28 Bud Davis <bdavis9659@comcast.net>
-
- * io/unix.c (mmap_alloc_w_a): check for a write to a location
- less than the mapped area.
-
-2004-11-27 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/18364
- * io/endfile.c (st_endfile): flush the stream before truncating.
-
-2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate for libtool change.
-
-2004-11-22 Steven Bosscher <stevenb@suse.de>
-
- PR libfortran/15960
- * configure.ac: Check for finite in libm.
- * libgfortran.h: Define isfinite macro if not defined.
- * intrinsics/c99_functions.c: Use defined(fpclassify) instead of
- HAVE_FPCLASSIFY.
- * io/write.c (write_float): Use isfinite instead of finite.
- * configure, config.h.in: Rebuilt.
-
-2004-11-20 Roger Sayle <roger@eyesopen.com>
-
- * io/write.c (write_float, list_formatted_write): Fix indentation.
-
-2004-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR target/16135
- * acinclude.m4 (LIBGFOR_TARGET_ILP32): New check.
- * configure.ac: Include LIBGFOR_TARGET_ILP32.
- * configure: Regenerate.
- * config.h.in: Likewise.
- * libgfortran.h: Provide default definitions for C99 types
- on ILP32 targets that don't have them.
-
- PR target/17999
- * configure.ac: Check for snprintf.
- * configure: Regenerate.
- * config.h.in: Likewise.
- * intrinsics/date_and_time.c (date_and_time): Do not
- use snprinf if it is not available.
- * io/write.c (output_float): Likewise.
-
-2004-11-20 Steven G. Kargl <kargls@comcast.net>
-
- * Makefile.am: Add intrinsics/{umask.c,unlink.c,exit.c}
- * Makefile.in: Regenerated
- * intrinsics/umask.c: New file
- * intrinsics/unlink.c: ditto
- * intrinsics/exit.c: ditto
-
-2004-11-18 Victor Leikehman <lei@il.ibm.com>
-
- * m4/matmul.m4: Loops reordered to improve cache behavior.
- * generated/matmul_??.c: Regenerated.
-
-2004-11-10 Paul Brook <paul@codesourcery.com>
-
- PR fortran/18218
- * configure.ac: Check for strtof.
- * configure: Regenerate.
- * config.h.in: Regenerate.
- * io/read.c (convert_real): Use strtof if available.
- (convert_precision_real): Remove.
- (read_f): Avoid poor exponentiation algorithm.
-
-2004-11-05 Andreas Schwab <schwab@suse.de>
-
- * configure.ac: Use AC_PROG_FC, FC and FCFLAGS instead of
- AC_PROG_F77, F77 and FFLAGS.
- * Makefile.am (selected_int_kind.inc, selected_real_kind.inc): Use
- FCCOMPILE instead of F77COMPILE.
- * configure, Makefile.in: Regenerate.
-
-2004-11-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * acinclude.m4: Properly quote AC_CACHE_CHECK.
- * Makefile.am: Add in ACLOCAL_AMFLAGS.
- * aclocal.m4, configure, Makefile.in: Regenerate.
-
-2004-10-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * configure.ac (AC_CHECK_FUNCS): Add mkstemp.
- * io/unix.c (S_IRGRP): Define if undefined.
- (S_IWGRP): Same.
- (S_IROTH): Same.
- (S_IWOTH): Same.
- (tempfile): Use mktemp if mkstemp missing, fix typos.
-
-2004-10-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * intrinsics/system.c ("libgfortran.h"): Move after system headers.
-
-2004-10-30 Canqun Yang <canqun@nudt.edu.cn>
-
- * intrinsics/rand.c (irand): Handle NULL argument.
-
-2004-10-07 Paul Brook <paul@codesourcery.com>
-
- * io/transfer.c (finalize_transfer): Free internal streams.
- * io/unix.c (mem_close): Free stream object.
-
-2004-10-07 Paul Brook <paul@codesourcery.com>
-
- * intrinsics/string_intrinsics.c (string_verify): Fix off by one
- error.
-
-2004-10-06 Paul Brook <paul@codesourcery.com>
-
- PR libfortran/17709
- * io/transfer.c (data_transfer_init): Reset sf_seen_eor.
-
-2004-10-04 Andrew Pinski <pinskia@physics.uc.edu>
-
- * intrinsics/mvbits.c: Commit the file.
-
-2004-10-04 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
-
- PR fortran/17283
- * intrinsics/pack_generic.c (__pack): Allocate memory for return array
- if not done by caller.
- (__pack_s): New function.
- * runtime/memory.c (internal_malloc, internal_malloc64): Allow
- allocating zero memory.
-
- PR fortran/17631
- * Makefile.am (gfor_helper_src): Add intrinsics/mvbits.h.
- * Makefile.in: Regenerate.
- * intrinsics/mvbits.h: New file.
-
- PR fortran/17776
- * intrinsics/system.c: New file.
- * Makefile.am: Add dependency for the new file.
- * Makefile.in: Regenerate.
-
-2004-10-04 Paul Brook <paul@codesourcery.com>
- Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/17706
- PR fortran/16434
- * io/format.c (parse_format_list): Set repeat count for S, SP, SS,
- BN and BZ formats.
- * io/write.c (output_float): Don't output minus zero.
-
-2004-10-03 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * intrinsics/abort.c ("libgfortran.h"): Move.
- * intrinsics/date_and_time.c ("libgfortran.h"): Same.
- * intrinsics/write.c ("libgfortran.h"): Same.
-
-2004-09-26 Tobias Schlueter <tobis.schlueter@physik.uni-muenchen.de>
-
- PR libfortran/16137
- * config.h.in (HAVE_POWF): Undefine.
- * configure.ac: Check for 'powf' in library.
- * configure: Regenerate.
- * intrinsics/c99_functions.c (powf): New function.
-
-2004-09-24 Tobias Schlueter <tobis.schlueter@physik.uni-muenchen.de>
-
- * intrinsics/etime.c (etime_): New function.
-
-2004-09-21 Steven G. Kargl <kargls@comcast.net>
-
- * libgfortran.h: define gfc_alloca()
- * intrinsics/env.c (getenv, get_environment_variable_i4): Use it.
-
-2004-09-21 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/17286
- * io/list_read.c (namelist_read): ignore spaces after
- the '=' for namelist reads.
-
-2004-09-15 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * configure.ac (AC_CHECK_HEADERS): Check for sys/mman.h.
- * unix.c: Include stdio.h.
- (HAVE_SYS_MMAN_H): Check.
- (PROT_READ, PROT_WRITE): Provide default definitions.
-
-2004-09-15 Steven G. Kargl <kargls@comcast.net>
-
- * intrincics/getcwd.c: New file.
- * Makefile.am: Add getcwd.c.
- * Makefile.in: Regenerated.
-
-2004-09-15 Steven G. Kargl <kargls@comcast.net>
- Paul Brook <paul@codesourcery.com>
-
- * intrinsics/env.c (getenv, get_environmental_variable): Remove
- trailing white space. Use alloca. Honour trim_name.
-
-2004-09-13 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/17090
-
- * io/list_read.c (list_formatted_read): Handle trailing spaces
- at end of line.
-
-2004-09-06 Steven G. Kargl <kargls@comcast.net>
-
- * io/write.c (output_float): Typo in comment. Remove debugging
- printf. Fix format for FP of form 1e10.
-
-2004-09-03 Richard Henderson <rth@redhat.com>
-
- * intrinsics/cshift0.c (DEF_COPY_LOOP, copy_loop_int, copy_loop_long,
- copy_loop_double, copy_loop_ldouble): New.
- (__cshift0): Make shift type ssize_t. Use % operator instead of
- div. Use specialized versions of copy loop depending on the shape.
-
-2004-09-02 Paul Brook <paul@codesourcery.com>
-
- * io/format.c (parse_format_list): Set repeat count for P descriptors.
- * write.c (output_float): Fix condition. Correctly handle nonzero
- scale factor.
-
-2004-09-01 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * mk-sik-inc.sh: Use a temporary string instead of 'echo -n'.
- * mk-srk-inc.sh: Likewise.
-
-2004-09-01 Paul Brook <paul@codesourcery.com>
-
- * runtime/error.c (generate_error): Set both iostat and
- library_return.
-
-2004-08-31 Paul Brook <paul@codesourcery.com>
-
- PR libfortran/16805
- * io/list_read.c (next_char): Don't signal EOF for internal files.
- * io/unix.c (mem_alloc_r_at): Don't return NULL for incomplete reads.
-
-2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
-
- * io/unit.c: Separate copyright years by ','.
- (compare, insert_unit, delete_unit, is_internal_unit, close_units):
- Remove blank line in beginning of function.
- (get_unit): Simplify code.
-
-2004-08-31 Paul Brook <paul@codesourcery.com>
-
- * io/unit.c (get_unit): Remove superfluous if.
-
-2004-08-31 Paul Brook <paul@codesourcery.com>
-
- * io/transfer.c (read_sf): Rename uinty to readlen. Detect EOF.
- (finalize_transfer): Move setjmp after namlist IO.
- * io/unix.c (mem_alloc_r_at): Calculate remaining length correctly.
-
-2004-08-31 Paul Brook <paul@codesourcery.com>
-
- * list_read.c (eat_separator): Set at_eo when a '/' is seen.
-
-2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
-
- * libgfortran.h: Replace 'gfc_strlen_type' by
- 'gfc_charlen_type'. Update comment accordingly.
- * intrinsics/args.c, intrinsics/env.c, io/io.h, io/transfer.c:
- Replace all occurences of 'gfc_strlen_type' by 'gfc_charlen_type'.
-
-2004-08-31 Paul Brook <paul@codesourcery.com>
-
- * libgfortran.h: Add comments.
-
-2004-08-30 Richard Henderson <rth@redhat.com>
-
- * Makefile.am (gfor_helper_src): Split selected_kind.f90.
- (gfor_built_src): Add selected_int_kind.inc selected_real_kind.inc.
- (selected_int_kind.inc selected_real_kind.inc): New rules.
- * Makefile.in: Regenerate.
- * mk-sik-inc.sh, mk-srk-inc.sh: New files.
- * intrinsics/selected_int_kind.f90: Split from selected_kind.f90,
- include table of detected kinds.
- * intrinsics/selected_real_kind.f90: Similarly.
-
-2004-08-29 Steven G. Kargl <kargls@comcast.net>
- Paul Brook <paul@codesourcery.com>
-
- * intrinsics/bessel.c: New file.
- * intrinsics/erf.c: New file.
- * Makefie.am: Add intrinsics/bessel.c and intrinsics/erf.c.
- * configure.ac: Test for C99 Bessel and Error functions.
- * Makefile.in: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
-2004-08-29 Steven G. Kargl <kargls@comcast.net>
- Paul Brook <paul@codesourcery.com>
-
- * Makefile.am: Add intrinsics/getXid.c.
- * configure.ac: Add tests for get{g,p,u}id.
- * config.h.in: Regenerate.
- * Makefile.in: Regenerate.
- * configure: Regenerate.
-
-2004-08-28 Paul Brook <paul@codesourcery.com>
-
- PR libfortran/17195
- * libgfortran.h (rtoa): Remove prototype.
- * runtime/error.c (rtoa): Remove.
- * io/write.c (calculate_G_format): Don't add blanks if E format is
- used. Add correct number of blanks when exponent width is specified.
- (output_float): Rewrite.
-
-2004-08-27 Paul Brook <paul@codesourcery.com>
-
- * io/rewind.c (st_rewind): Reset unit to read mode.
-
-2004-08-27 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/16597
- * io/io.h: created typedef for unit_mode.
- * io/io.h (gfc_unit): added mode to unit structure.
- * io/transfer.c (data_transfer_init): flush if a write then
- read is done on a unit (direct access files).
- * io/rewind.c (st_rewind): Used unit mode instead of global.
-
-2004-08-24 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/17143
- * runtime/error.c (itoa): keep from overflowing during
- mod operation by using unsigned variable.
-
-2004-08-24 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/17164
- * runtime/string_intrinsics.c (string_index):check for
- substring longer than string.
-
-2004-08-24 David Edelsohn <edelsohn@gnu.org>
-
- * Makefile.am (libgfortran_la_LDFLAGS): Add -lm.
- * Makefile.in: Rebuilt.
-
-2004-08-23 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
-
- * io/io.h, io/list_read.c, io/open.c, io/transfer.c, io/write.c:
- Fix formatting issues, update copyright years.
-
-2004-08-21 Bud Davis <bdavis9659@comcast.net>
-
- PR 16908
- * io/transfer.c (next_record_w): Do not blank pad.
- * io/transfer.c (next_record): Take into account partial records.
-
-2004-08-18 Victor Leikehman <lei@il.ibm.com>
-
- PR fortran/13278
- * io/transfer.c (st_set_nml_var)
- * io/write.c (namelist_write): Allow var_name and var_name_len to be
- null. For strings, use string_length field instead of len.
- * io/io.h (struct namelist_type): New field string_length.
- (st_set_nml_var_char): New argument string_length.
-
-2004-08-13 Bud Davis <bdavis9659@comcast.net>
-
- PR gfortran/16935
- * io/open.c (st_open): use flags instead of the unit structure.
-
-2004-08-10 Victor Leikehman <lei@il.ibm.com>
-
- * io/list_read.c (namelist_read): Convert variable names
- to lower case, so that mixed-case names are recognized.
- Don't read beyond terminating slash.
-
-2004-08-09 Richard Henderson <rth@redhat.com>
- Roger Sayle <roger@eyesopen.com>
-
- * intrinsics/c99_functions.c (nextafterf): New implementation that
- works correctly with denormalized numbers.
-
-2004-08-09 Victor Leikehman <lei@il.ibm.com>
-
- * m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c,
- intrinsics/eoshift2.c, intrinsics/transpose_generic.c:
- Allocate space if return value has NULL in its data field.
- * generated/*.c: Regenerate.
-
-2004-08-06 Janne Blomqvist <jblomqvi@cc.hut.fi>
-
- * intrinsics/env.c: New file.
- * Makefile.am: Add env.c to build.
- * Makefile.in: Regenerate.
-
-2004-08-05 Victor Leikehman <lei@il.ibm.com>
-
- PR libgfortran/16704
- * io/read.c (read_radix): Understand letters f and F as hex digits.
-
-2004-08-04 Victor Leikehman <lei@il.ibm.com>
-
- * libgfortran.h (array_t, size0) New declarations.
- * m4/ifunction.m4, m4/transpose.m4, intrinsics/cshift0.c: Allocate
- space if return value descriptor has NULL in its data field,
- and initialize bounds and stride.
- * intrinsics/size.c (array_t, size0): Declarations moved to
- libgfortran.h.
- * generated/*.c: Regenerate.
-
-2004-08-03 Roger Sayle <roger@eyesopen.com>
-
- PR libgfortran/16137
- * configure.ac: Add tests for acosf, asinf, atan2f, atanf, ceilf,
- copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
- scalbnf, sinf, sinhf, sqrtf, tanf and tanhf in libm.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
- * instrinsics/c99_functions.c (acosf, asinf, atan2f, atanf, ceilf,
- copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
- nextafterf, scalbnf, sinf, sinhf, sqrtf, tanf, tanhf): New stub
- implementations for targets that don't support C99 float functions.
-
-2004-08-01 Roger Sayle <roger@eyesopen.com>
-
- * io/write.c (write_float): Use the slightly more portable isnan
- in preference to isinf.
-
-2004-07-18 Bud Davis <bdavis9659@comcast.net>
-
- * configure.ac: Add check for LFS support.
- * configure: Regenerate
-
-2004-07-11 Paul Brook <paul@codesourcery.com>
-
- PR fortran/16303
- * m4/cexp.m4 (carg): Return -pi to pi.
- * generated/exp_c?.c: Regenerate.
-
-2004-07-08 Andreas Krebbel <krebbel1@de.ibm.com>
-
- PR fortran/16291
- * libgfortran/io/write.c: (write_float): Added length check.
- Remove pointless memset calls.
-
-2004-07-04 Bud Davis <bdavis9659@comcast.net>
- Paul Brook <paul@codesourcery.com>
-
- PR fortran/15472
- * io/transfer.c(us_write): set recl for seq unform writes to max size.
- * io/transfer.c(data_transfer_init): handle un-opened seq unform unit.
- * io/unix.c(fd_alloc_w_at): handle requests at start, fd_flush at
- right time.
- * io/unix.c(is_seekable): set based upon the file/device, not the
- method being used to access it (fd or mmap).
- * io/unix.c(fd_flush): don't set file_size if !seekable.
- * io/unix.c(fd_truncate: ditto.
-
-2004-07-04 Janne Blomqvist <jblomqvi@cc.hut.fi>
- Paul Brook <paul@codesourcery.com>
-
- PR fortran/15280
- PR fortran/15665
- * libgfortran.h (gfc_strlen_type): Define.
- * intrinsics/args.c (getarg): Rename ...
- (getarg_i4): ... to this.
- (getarg_i8, get_command_argument_i4, get_command_argument_i8,
- get_command_i4, get_command_i8): New functions.
-
-2004-07-04 Matthias Klose <doko@debian.org>
-
- * libtool-version: New.
- * Makefile.am (libgfortran_la_LDFLAGS): Use -version-info for soname.
- * Makefile.in: Regenerate.
- * configure.ac: Remove libtool_VERSION macro
- * configure: Regenerate
-
-2004-06-30 Steve Kargl <sgk@troutmask.apl.washington.edu>
- Steven Bosscher <stevenb@suse.de>
-
- * intrinsics/rand.c (rand): Wrap the irand() call from the previous
- commit in prefix.
-
-2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
- Paul Brook <paul@codesourcery.com>
-
- * runtime/normalize.c (normalize_r4_i4, normalize_r8_i8): Fix
- comments.
- * intrinsics/rand.c (rand): Call irand() in call to normalize_r4_i4.
-
-2004-06-27 Bud Davis <bdavis9659@comcast.net>
-
- PR gfortran/12839
- * io/write.c (write_float): check signbit for Infinity.
-
-2004-06-26 Bud Davis <bdavis9659@comcast.net>
-
- PR gfortran/16196
- * unix.c(regular_file): create file if it does not exist.
-
-2004-06-24 Andrew Pinski <apinski@apple.com>
-
- * configure.ac: Remove check for libmx.
- * configure: Regenerate.
-
-2004-06-22 Janne Blomqvist <jblomqvi@cc.hut.fi>
-
- PR fortran/15750
- * inquire.c (st_inquire): Add comment
- * io.h (st_parameter): Add iolength.
- (st_iolength, st_iolength_done): Declare.
- * transfer.c (iolength_transfer, iolength_transfer_init,
- st_iolength, st_iolength_done): New functions.
-
-2004-06-21 Steven G. Kargl <kargls@comcast.net>
-
- * etime.c (etime_sub): Remove array rank check;
- Add check for sufficient space.
-
-2004-06-19 Bud Davis <bdavis9659@comcast.net>
-
- PR gfortran/16080
- * io/list_read.c(set_value): fixed spelling.
-
-2004-06-19 Bud Davis <bdavis9659@comcast.net>
-
- PR gfortran/16080
- * io/list_read.c(set_value): don't copy if the string is null.
-
-2004-06-14 Bud Davis <bdavis9659@comcast.net>
-
- PR gfortran/15292
- * intrinsics/c99_functions.c: Use fpclassify if it exists.
-
-2004-06-13 Paul Brook <paul@codesourcery.com>
-
- * Makefile.am (gfor_helper_src): Add runtime/normalize.f90.
- * configure.ac: Add checks for nextafter and nextafterf.
- * Makefile.in, config.h.in, configure: Regenerate.
- * libgfortran.h (normalize_r4_i4, normalize_r8_i8): Declare.
- * intrinsics/rand.c (rand): Use normalize_r4_i4.
- * intrinsics/random.c (random_r4): Use normalize_r4_i4.
- (random_r8): Use normalize_r8_i8.
- * runtime/normalize.c: New file.
-
-2004-06-13 Steven G. Kargl <kargls@comcast.net>
- Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
-
- * random.c: Fix several spelling and formatting mistakes in
- comments.
- (random_r8): Fix loop to make random numbers range in [0,1(.
-
-
-2004-06-13 Steven G. Kargl <kargls@comcast.net>
-
- * random.c (random_r4): Burn a random number.
- (random_r8): fix infinite loop.
-
-2004-06-12 Bud Davis <bdavis9659@comcast.net>
- Steve Kargl <sgk@troutmask.apl.washington.edu>
-
- PR gfortran/15292
- * intrinsics/c99_functions.c: New file.
- * Makefile.am: Add new file.
- * configure.ac: Added test for round/roundf.
- * Makefile.in: Regenerate.
- * configure: Regenerate.
- * configure.h.in: Regenerate.
-
-2004-06-12 Steven G. Kargl <kargls@comcast.net>
-
- * Makefile.am: Add rand.c and etime.c
- * Makefile.in: Regenerated.
- * aclocal.in: Regenerated.
- * cpu_time.c (second_sub, second): New functions.
- * rand.c (irand, rand, srand): New file.
- * etime.c (etime_sub, etime): New file.
-
-2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
- Steven Bosscher <stevenb@suse.de>
-
- PR fortran/14923
- * intrinsics/date_and_time.c: New file.
- * Makefile.am (gfor_helper_src): Add intrinsics/date_and_time.c.
- * Makefile.in, aclocal.m4: Regenerate.
- * libgfortran.h: Prototype date_and_time().
-
-2004-06-12 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/15665
- * intrinsics/args.c: Implement GETARG and IARGC.
- * Makefile.am: Add it.
- * Makefile.in: Regenerate.
-
-2004-06-12 Bud Davis <bdavis9659@comcast.net>
-
- PR gfortran/12839
- * io/write.c(write_float): Format inf and nan IAW F2003.
-
-2004-06-09 Bud Davis <bdavis9659@comcaste.net>
-
- PR gfortran/14897
- * io/transfer.c (formatted_transfer): position is unique
- for T and TL edit descriptors.
- (data_transfer_init): set record length to size of internal
- file.
-
-2004-06-09 Bud Davis <bdavis9659@comcast.net>
-
- PR gfortran/15755
- * io/backspace.c(st_backspace): call correct routine for
- formatted and un-formatted units.
-
-2004-05-30 Andreas Jaeger <aj@suse.de>, Steven Bosscher <stevenb@suse.de>
-
- PR gfortran/11800
- * Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
- (lib_LTLIBRARIES): Rename to ...
- (toolexeclib_LTLIBRARIES): this for multilib support.
- * configure.in: Rename to ...
- * configure.ac: this. Update to modern autoconf style, enable
- multilibs, support --enable-version-specific-runtime-libs.
- * Makefile.in: Regenerated.
- * configure: Regenerated.
- * aclocal.m4: Regenerated.
-
-2004-05-30 Steven G. Kargl <kargls@comcast.net>
-
- * libgfortran.h (random_seed): Update prototype.
- * intrinsics/random.c: Disable old implementation and add new one.
-
-2004-05-30 Andreas Jaeger <aj@suse.de>
-
- * intrinsics/random.c: Include unistd.h for close and read
- prototypes, remove unneeded inclusion of assert.h.
-
- * intrinsics/abort.c: Include stdlib.h for abort prototype, remove
- unneeded inclusion of assert.h.
-
-2004-05-27 Tobias Schlueter <tobias.shclueter@physik.uni-muenchen.de>
-
- PR fortran/15234
- * intrinsics/associated.c: Remove enum.
- (associated): Replace TRUE/FALSE by 1/0.
-
-2004-05-23 Steven G. Kargl <kargls@comcast.net>
-
- * random.c (random_seed): Use correct variable.
-
-2004-05-22 Steven G. Kargl <kargls@comcast.net>
-
- * intrinsics/system_clock: New file.
- * Makefile.am: Add intrinsics/system_clock.c.
- * Makefile.in: Regenerate.
-
-2004-05-21 Roger Sayle <roger@eyesopen.com>
-
- * io/format.c (parse_format_list): Allow the comma after a string
- literal to be optional.
-
-2004-05-18 Paul Brook <paul@codesourcery.com>
- Feng Wang <fengwang@nudt.edu.cn>
-
- * Makefile.am (i_pow_c): Set it. Add build rule.
- (gfor_built_src): Use it.
- (m4_files): add m4/pow.m4.
- * Makefile.in: Regenerate.
- * m4/pow.m4: New file.
- * generated/pow_*.c: Regenerate.
-
-2004-05-18 Paul Brook <paul@codesourcery.com>
-
- * Makefile.am: Remove references to types.m4.
- * m4/iparm.m4: Merge with types.m4.
- * m4/types.m4: Remove.
- * m4/cshift1.m4, m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4,
- m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, m4/ifunction.m4,
- m4/in_pack.m4, m4/in_unpack.m4, m4/iparm.m4, m4/matmul.m4,
- m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, m4/maxval.m4,
- m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/reshape.m4,
- m4/shape.m4, m4/specific.m4, m4/specific2.m4, m4/transpose.m4):
- Update to use new iparm.m4.
- * generated/*.c: Regenerate.
-
-2004-05-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
-
- PR fortran/15235
- * gfortran.h (offset_t): Rename to ...
- (gfc_offset): ... this.
- * io/backspace.c (formatted_backspace, unformatted_backspace),
- io/io.h (stream, gfc_unit, global_t, file_length, file_position),
- transfer.c (us_read, us_write, next_record_r, next_record_w),
- io/unit.c (init_units), unix.c (unix_stream, fd_alloc,
- fd_alloc_r_at, fd_alloc_w_at, fd_seek, mmap_alloc,
- mmap_alloc_r_at, mmap_alloc_w_at, mmap_seek, mem_alloc_r_at,
- mem_alloc_w_at, mem_seek, file_length, file_position): Replace all
- occurences of offset_t by gfc_offset.
-
-2004-05-16 Paul Brook <paul@codesourcery.com>
-
- * io/format.c (write_real): Don't include padding in format.
-
-2004-05-16 Paul Brook <paul@codesourcery.com>
-
- * io/format.c (format_lex): Make c an int.
-
-2004-05-16 Janne Blomqvist <jblomqvi@cc.hut.fi>
- Paul Brook <paul@codesourcery.com>
-
- * io/write.c (write_logical): Don't print extra blank.
- (write_integer): Base field width on kind.
- (list_formatted_write): Output initial blank.
-
-2004-05-16 Janne Blomqvist <jblomqvi@cc.hut.fi>
-
- * io/io.h (flush): Add prototype.
- * io/transfer.c (finalize_transfer): Flush partial records.
- * io/unix.c (flush): New function.
-
-2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
-
- PR fortran/15234
- * io/io.h (unit_t): Rename to ...
- (gfc_unit) ... this.
- (unit_root, current_unit, find_file, find_unit, get_unit): Now
- of type gfc_unit.
- (delete_file, insert_unit, close_unit): Argument now of type
- gfc_unit.
- * backspace.c (st_backspace), close.c (st_close), endfile.c
- (st_endfile), inquire.c (inquire_via_unit, st_inquire), open.c
- (test_endfile, edit_modes, new_unit, already_open, st_open),
- rewind.c (st_rewind), transfer.c (current_unit), unit.c
- (internal_unit, unit_cache, rotate_left, rotate_right, insert,
- insert_unit, delete_root, delete_treap, delete_unit, find_unit,
- get_unit, init_units, close_unit), unix.c (find_file0,
- find_file, delete_file): Replace all occurences of unit_t by
- gfc_unit.
-
-2004-05-15 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/15311
- * io/write.c (write_a): right justify A edit output.
-
-2004-05-14 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/15149
- * libgfortan.h,intrinsics/random.c: Made random_seed visible.
- * runtime/main.c(init): Call random_seed as part of MAIN init.
-
-2004-05-13 Tobias Schlter <tobias.schlueter@physik.uni-muenchen.de>
-
- * io/format.c: (parse_format_list): No comma is required after
- P descriptor.
-
-2004-05-13 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/15204
- * io/intrinsic/string_intrinsics.c (adjustr): rework logic.
-
-2004-05-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- Steven Bosscher <stevenb@suse.de>
-
- PR libfortran/15234
- * libgfortran.h: Include <inttypes.h> if available.
-
-2004-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * io/unix.c (MAP_FAILED): Define if missing.
- (mmap_alloc): Cast MAP_FAILED to char *.
- (mmap_open): Likewise.
-
-2004-04-26 Bud Davis <bdavis9659@comcast.net>
-
- * generated/_abs_i8.f90: New file.
- * generated/_abs_c4.f90: New file.
- * generated/_abs_c8.f90: New file.
- * Makefile.am: Add them.
- * Makefile.in: Regenerate.
-`
-2004-04-26 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/14056
- * generated/_abs_i4.f90: New file.
- * Makefile.am: Add it.
- * Makefile.in: Regenerate.
-
-2004-04-25 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/14942
- * io/list_read.c(list_formatted_read): finish consuming the
- spaces and seperators at eoln to get ready for next item.
-
-2004-04-23 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/15113
- * io/read.c(read_a): Handle field width > destination and no field width.
-
-2004-04-22 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/14906
- * io/format.c (format_item): gracefully handle a ')'
- when it is the first character encountered in the string.
-
-2004-04-11 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/14904
- * io/transfer.c (next_record): Update last_record when
- more than one record is written to a direct access file
- with one write statement.
-
-2004-04-11 Bud Davis <bdavis9659@comcast.net>
-
- PR fortran/14901
- * io/transfer.c (next_record_w) : No '\n' if internal.
- * io/unix.c (empty_internal_buffer) : Init to spaces, not '\n'.
-
-2004-04-11 Bud Davis <bdavis9659@comcast.net>
-
- * io.h (ioparm): Interface from FE is 32 bit, irregardless of offset_t.
- Will need to change this later to support direct access files > 2gb.
-
-2004-04-03 Bud Davis <bdavis9659@comcast.net>
-
- PR gfortran/14762
- * io/transfer.c (next_record_r) : Skip to next record.
-
-2004-04-03 Bud Davis <bdavis9659@comcast.net>
-
- PR gfortran/14836
- * io/transfer.c (next_record): Update last_record for DIRECT
-
-2004-04-03 Bud Davis <bdavis9659@comcast.net>
-
- PR gfortran/14837
- * io/unix.c (find_file0): Use fd field of struct
-
-2004-04-03 Bud Davis <bdavis9659@comcast.net>
-
- PR 14831
- * io/inquire.c (inquire_via_unit): Changed return string for
- BLANK=NULL. Use correct variable for ACTION.
-
-2004-04-01 Bud Davis <bdavis9659@comcast.net>
-
- PR 14746
- * io/read.c (read_f): Allow a decimal without a leading digit.
- * io/write.c (output_float): remove a leading '0' to keep from
- overflowing the field (F edit descriptor).
-
-2004-04-01 Bud Davis <bdavis9659@comcast.net>
-
- PR gfortran/14565
- * io/open.c (new_unit),
- * io/io.h : new_unit is now visible
- * io/transfer.c (data_transfer_init): open unit if no OPEN statement.
- * io/transfer.c (data_transfer_init): remove compile warnings.
- * io/rewind.c (st_rewind): ftruncate if writing.
-
-2004-03-24 Bud Davis <bdavis9659@comcast.net>
-
- * write.c (write_l): Use extract_int for 'L' edit descriptor.
-
-2004-03-24 Bud Davis <bdavis9659@comcast.net>
-
- PR 13919
- * io/io.h (global_t):
- * io/list_read.c (next_char,list_formatted_read,ist_formatted_read):
- Move eof_jmp to a global structure.
- * io/transfer.c(finalize_transfer) : Set up eof_jump for callers.
-
-2004-03-24 Bud Davis <bdavis9659@comcast.net>
-
- * m4/cexp.m4 (csqrt): Actually use the passed value.
- * generated/exp_c?.c: Regenerate.
-
-2004-03-24 Bud Davis <bdavis9659@comcast.net>
-
- PR 12921
- * io.h, transfer.c, open.c : recl_in changed from ptr to variable.
- * open.c (new_unit): Moved test for positioned direct access error.
- (init_units): Corrected calculation of max records.
-
-2004-02-06 Feng Wang <fengwang@nudt.edu.cn>
-
- * Makefile.am: Add m4/dotprodc.m4. And fix spelling.
- * Makefile.in: Regenerate.
- * m4/dotprodc.m4: New file. Implement complex dot_product.
- * m4/dotprod.m4: Delete the complex implementation.
- * generated/dotprod_*: Update.
-
-2004-02-07 Bud Davis <bdavis9659@comcast.net>
-
- * transfer.c (write_constant_string): Do not delete H's in hollerith
- formats.
-
-2004-01-05 Andrew Pinski <apinski@apple.com>
-
- * configure.in: Check for csin in -lmx also.
- * configure: Regenerate.
-
-2004-01-01 Paul Brook <paul@codesourcery.com>
-
- * io/list_read.c (find_nml_node): Make static.
- (match_namelist_name): Ditto.
- * io/read.c (convert_precision_real): Make static, fix spelling.
- * io/transfer.c (extract_real): Remove unused prototype.
- (st_set_nml_var): Make static.
- * io/write.c (extract_real): Make static.
-
-2003-12-12 Huang Chun <chunhuang73@hotmal.com>
-
- * intrinsics/string_intrinsics.c (string_index): Fix logics thinko.
-
-2003-12-05 Melvin Hadasht <melvin.hadasht@free.fr>
-
- * io/transfer.c (data_transfer_init): Give a runtime error for list
- formatted reads and writes from/to files opened for unformatted IO.
-
-2003-11-30 Paul Brook <paul@nowt.org>
-
- * runtime/memory.c (push_context): Remove.
- (pop_context): Remove.
- * libgfortran.h: Remove prototypes.
-
-2003-11-27 Paul Brook <paul@nowt.org>
-
- * runtime/memory.c (deallocate): Nullify pointer after freeing.
-
-2003-11-27 Paul Brook <paul@nowt.org>
-
- * intrinsics/string_intrinsics.c: Use new memory allocation interface.
- * libgfortran.h: Ditto.
- * m4/in_pack.m4: Ditto.
- * runtime/in_pack_generic.c: Ditto.
- * runtime/memory.c: Ditto.
-
-2003-11-26 Richard Henderson <rth@redhat.com>
-
- * m4/exponent.m4, m4/fraction.m4: New.
- * m4/nearest.m4, m4/set_exponent.m4: New.
- * generated/*: Update.
- * Makefile.am: Add them.
- (AM_CFLAGS): New. Use -std=gnu99.
- * Makefile.in: Regenerate.
-
-2003-11-08 Paul Brook <paul@nowt.org>
-
- PR fortran/12704
- * m4/maxloc0.m4: Use default value of 1. Handle zero sized arrays.
- * m4/maxloc1.m4: Ditto.
- * m4/minloc0.m4: Ditto.
- * m4/minloc1.m4: Ditto.
- * m4/ifunction.m4: Set return value for zero sized arrays.
- * m4/iforeach.m4: Ditto.
- * m4/all.m4, m4/any.m4, m4/count.m4, m4/maxloc1.m4, m4/minloc1.m4,
- m4/mxaval.m4, m4/minval.m4, m4/product.m4, m4/sum.m4: Ditto.
- * generated/*: Update.
-
-2003-10-30 Toon Moene <toon@moene.indiv.nluug.nl>
-
- PR fortran/12702
- * io/list_read.c (eat_spaces): Treat tab as space.
-
-2003-10-30 Lars Segerlund <Lars.Segerlund@comsys.se>
-
- * intrinsics/random.c: Add reference to paper containing algorithm.
- (random_seed): Extra error checking and proper handling of arrays.
- (arandom_r4, arandom_r8): Implement.
-
-2003-10-29 Toon Moene <toon@moene.indiv.nluug.nl>
-
- PR fortran/12703
- * runtime/memory.c (allocate_size): Allow allocation
- of zero-sized objects.
-
-2003-10-29 Toon Moene <toon@moene.indiv.nluug.nl>
-
- PR fortran/12701
- * open.c (new_unit): Open without a file name opens
- a file with name fort.<unit>.
-
-2003-10-12 Feng Wang <wf_cs@yahoo.com>
-
- * intrinsics/cshift0.c: New file.
- * m4/cshift1.m4: New file
- * generated/cshift*.c: New files.
- * Makefile.am: Add them.
- * Makefile.in: Regenerate.
-
-2003-10-12 XiaoQiang Zhang <zhangapache@yahoo.com>
-
- * io/list_read.c (read_character): Remove unwanted call to free_saved.
-
-2003-10-11 Huang Chun <jiwang@mail.edu.cn>
-
- * intrinsics/string_intrinsics.c (string_trim): New function.
- (string_repeat): New function.
-
-2003-10-11 Paul Brook <paul@nowt.org>
-
- * intrinsics/dprod_r8.f90: New file.
- * Makefile.am (gfor_specific_src): Add it.
- (gfor_built_specific_src): Rename from gfor_build_specific_c.
- Add new intrinsics.
- (gfor_specific2_src): Rename from gfor_built_specific2_c.
- Add new intrinsics.
- * Makefile.in: Regenerate.
- * generated/_aint_*.f90: New files.
- * generated/_anint*.f90: New files.
- * generated/_atan2*.f90: New files.
- * generated/_mod*.f90: New files.
-
-2003-09-20 Kejia Zhao <kejia_zh@yahoo.com.cn>
-
- * intrinsics/selected_kind.f90: New file.
- * Makefile.am: Add it.
- * Makefile.in: regenerate.
-
-2003-09-19 Lars Segerlund <Lars.Segerlund@comsys.se>
- Paul Brook <paul@nowt.org>
-
- * intrinsics/random.c: New file.
- * Makefile.am (gfor_hemper_src): Add it.
- (gfor_specific_c): Fix typo.
-
-2003-09-19 Paul Brook <paul@nowt.org>
-
- * All: rename g95->gfc.
-
-2003-09-18 XiaoQiang Zhang <zhangapache@yahoo.com>
-
- * io/write.c (output_float): Fix bug of FMT_E, Add comments.
-
-2003-09-09 XiaoQiang Zhang <zhangapache@yahoo.com>
-
- * io/write.c (write_float): Dectection of positive infinite number,
- Not a Number(NaN) and negative infinite number.
- (ioutput_float): Bug fix for FMT_E and FMT_D processing to
- output a very_very small number ( < 0.1e-100 ).
-
-2003-09-07 XiaoQiang Zhang <zhangapache@yahoo.com>
-
- * libgfortran.h (xtoa, itoa): Parameter modified.
- * io/io.h (namelist_info): Declaration to support namelist I/O
- (st_parameter): Add namelist related component
- (ionml, empty_internal_buffer, st_set_nml_var_int,
- st_set_nml_var_float, st_set_nml_var_char, st_set_nml_var_complex,
- st_set_nml_var_log): Declaration
- (set_integer, set_integer): Parameter changed
- * io/format.c (free_nodes): Fix annoying bug of lefting "deallocated"
- fnodes
- (parse_format_list): Fix bug about FMT_SLASH
- * io/list_read.c (push_char): Totally clear old saved_string, zeroize
- newly allocated saved_string
- (next_char): Add detection of End_Of_Line support
- (convert_integer): Now can process 64 bits interger
- (read_real): Bug fixed
- (init_at_eol, find_nml_node, match_namelist_name): Add new functions
- (match_namelist_name): New implemention
- * io/lock.c (ionml): New global variable
- (library_end): Free memory in ionml
- * io/open.c (st_open): Variable initializtion
- * io/read.c (max_value): 64 bits interger support
- (convert_precsion_real): New procedure to replace "strtod" with more
- features
- (read_f, read_radix): Input bug fix
- * io/transfer.c: (sf_seen_eor): New static variable
- (read_sf): Zeroize base buffer; fix bugs: single read statement can
- not get input in mutli line when read from stdin
- (formatted_transfer): Fix bug of FMT_O, FMT_B, FMT_Z for INTEGER type
- request
- (data_transfer_init): Clear internal buffer for Internel File I/O.
- Internal File now worked. Detect some error condition for namelist.
- Some minor bug fix
- (next_record_w): Internal file and Namelist I/O support.
- (st_set_nml_var, st_set_nml_var_float, st_set_nml_var_char,
- st_set_nml_var_complex, st_set_nml_var_log): Implemention.
- * io/unit.c (implicit_unit): Deletion
- (get_unit): Now cannot open a unit implicitly.
- * io/unix.c (mmap_alloc): Fix fatal error in calculating the length of
- mapped buffer.
- (mem_alloc_r_at): Internal file I/O support added
- (empty_internal_buffer): New function
- * io/write.c (extract_int): Support 64 bits interger processing
- (output_float): Varibale initialization
- (write_float): Infinite real number detection.
- (write_int): 64 bits integer I/O support
- (write_decimal): New function to output decimal number
- (otoa, btoa): Better implemention and 64 bits interger support
- (namelist_write): New function
- * runtime/error.c (itoa, xtoa): Better implemention and 64 bits
- interger support
-
-2003-08-15 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
-
- * libgfortran.h (os_error, runtime_error,internal_error, sys_exit,
- get_mem ): Add attribute.
- * intrinsics/spread_generic.c (__spread): Fix spelling.
- * io/inquire.c (inquire_via_filename): Add const.
- * io/io.h (sys_exit): Add attribute.
- * io/io.h (move_pos_offset): Add move_pos_offset.
- * io/io.h (compare_file_filename, inquire_sequential, inquire_direct,
- inquire_formatted, inquire_unformatted, inquire_read, inquire_write,
- inquire_readwrite, convert_real, write_a, write_b, write_d, write_e,
- write_en, write_es, write_f, write_i, write_l, write_o, write_x,
- write_z): Add const.
- * io/read.c (convert_real): Add const.
- * io/transfer.c (type_name): Add const.
- * io/unix.c (unpack_filename, compare_file_filename,inquire_sequential,
- inquire_direct, inquire_formatted, inquire_unformatted, inquire_access,
- inquire_read, inquire_write, inquire_readwrite): Add const.
- * io/write.c (output_float): Remove unused variable.
- * io/write.c (write_a, extract_int, extract_real, output_float,
- write_float, write_int, write_i, write_b, write_o, write_z, write_d,
- write_e, write_f, write_en, write_es, write_logical, write_integer,
- write_character, write_real, write_complex): Add const.
- * runtime/error.c (rtoa): Remove unused variable.
- * runtime/select.c (select_string): Add const.
- * runtime/stop.c (stop_string): Add const.
-
-2003-08-10 Paul Brook <paul@nowt.org>
-
- * Makefile.am (gfor_helper_src): Add intrinsics/abort.c.
- (FFLAGS): Add -fno-underscoring.
- * Makefile.in: Regenerate.
- * intrinsics/abort.c: New file.
-
-2003-08-10 Erik Schnetter <schnetter@uni-tuebingen.de>
-
- * fmain.c (main): Do not call init and cleanup; call set_args instead.
- * libgfortran.h (init, cleanup): Remove declarations.
- (set_args): Add declaration.
- * runtime/main.c (init, cleanup): Make them static, and give them
- the constructor and destructor attributes.
- (set_args): New function.
-
-2003-08-10 Paul Brook <paul@nowt.org>
-
- * intrinsics/strinf_intrinsics.c (compare_string): Return value based
- on which string is longest.
-
-2003-08-10 Paul Brook <paul@nowt.org>
-
- * Makefile.am (EXTRA_DIST): Remove old files.
- * Makefile.in: Regenerate.
-
-2003-07-26 Paul Brook <paul@nowt.org>
-
- Rename library to libgfortran.
- * libgfortran.h: Change prefix to _libgfortran_.
-
-2003-07-24 Paul Brook <paul@nowt.org>
-
- * configure.in: Don't pull in system libtool. Use toplevel
- auxiliary files.
-
-2003-07-22 Paul Brook <paul@nowt.org>
-
- Regenerate all configury files.
-
-2003-07-09 Chun Huang <compiler@sohu.com>
-
- * intrinsics/string_intrinsic.c (string_scan): New function.
- (string_verify): New function.
-
-2003-06-25 Paul Brook <paul@nowt.org>
-
- * io/unix.c (mem_alloc_r_at, mem_alloc_w_at): Advance logical_offset.
- (mem_seek): Don't bother setting physical_offset.
-
-2003-06-20 Paul Brook <paul@nowt.org>
-
- * libgfor.h (stop_numeric): Declare.
- * runtime/pause.c: New file.
- * Makefile.am: Add it.
-
-2003-06-08 Paul Brook <paul@nowt.org>
-
- * m4/cexp.m4 (cabs): Use correct typed version.
- (csqrt): New function.
-
-2003-06-07 Canqun Yang <canqun@yahoo.com.cn>
-
- Spotted by Benjamin and Tobias:
- * io/list_read.c: Add Separator '\t'.
- (parse_real, read_real): Accept real values starting with an optional
- sign follows a decimal point.
-
-2003-06-06 Steven Bosscher <steven@gcc.gnu.org>
-
- * Makefile.am: Don't put cmath objects in subdir.
- * configure.in: Rename MATHOBJ to MATH_OBJ.
-
-2003-06-02 Kejia Zhao <Kejia_zh@yahoo.com.cn>
-
- * intrinsics/associated.c: New file.
- * Makefile.am: Add it. Regenerate Makefile.in.
- * libgfor.h: Define g95_array_void, G95_DESCRIPTOR_DATA, and
- G95_DESCRIPTOR_DTYPE.
-
-2003-06-01 Canqun Yang <canqun@yahoo.com.cn>
-
- * io/write.c (calcuate_exp): Rewrite it to avoid overflow.
- (calculate_G_format): Rewrite it to eliminate an infinte loop and set
- the scale_factor to 0 for F editing.
-
-2003-05-11 Tobias Schlter <innenminister@gmx.de>
-
- * libgfor.h: Only include stdint.h if it exists.
-
-2003-05-07 Paul Brook <paul@nowt.org>
-
- * libgfor.h: Use stdint.h types.
- * intrinsics/ishift.c: Ditto.
- * runtime/memory.c (malloc_t): Reorder fields for better alignment.
-
-2003-05-05 Steven Bosscher <steven@gcc.gnu.org>
-
- * libgfor.h (offsetof): Define if nobody else does.
- * runtime/memory.c (HEADER_SIZE): Use it.
-
-2003-05-01 Tobias Schlter <innenminister@gmx.de>
-
- * configure.in: Require autoconf 2.54.
-
-2003-04-28 Tobias Schlter <innenminister@gmx.de>
- Paul Brook <paul@nowt.org>
-
- * intrinsics/reshape_generic.c: Copy the whole element, not just the
- first byte.
- * m4/transpose.m4: New file.
- * Makefile.am: Add them.
- Regenerate generated files.
-
-2003-04-18 Steven Bosscher <steven@gcc.gnu.org>
-
- * io/format.c (parse_format_list): Allow 'X' without integer
- prefix. This is an extension. Interpretation is '1X'.
-
-2003-04-18 Tobias Schlter <Tobias.Schlueter@physik.uni-muenchen.de>
-
- * io/format.c (parse_format_list): Allow '0P'.
-
-2003-04-18 Steven Bosscher <steven@gcc.gnu.org>
-
- * Makefile.in: Re-regenerate for automake 1.7.3.
-
-2003-04-18 Canqun Yang <canqun@yahoo.com.cn>
-
- Port implementation for CHARACTER SELECT from Andy's tree.
- * runtime/select.c: New file
- * Makefile.am: Add it.
- * Makefile.in: Regenerate.
-
-2003-04-17 Xiaoqiang Zhang <zhangapache@yahoo.com>
-
- * io/transfer.c (formatted_transfer): Modified
- * io/unix.c (move_pos_offset): New Function.
- * io/format.c (parse_format_list): Modified.
-
-2003-04-15 Xiaoqiang Zhang <zhangapache@yahoo.com>
-
- * io/write.c (write_float,write_real): New implemention of
- FMT_G and default float editing.
- (calculate_exp,calculate_G_format,output_float): New Function.
- (write_float,write_real,write_logical): Modified
- * libgfor.h (default_rtoa): Remove Declaration.
- * runtime/error.c (default_rtoa): Remove Function.
-
-2003-04-15 Steven Bosscher <steven@gcc.gnu.org>
-
- Spotted by Yang:
- * io/write.c (extract_real): Add missing break statement.
-
-2003-04-13 Steven Bosscher <steven@gcc.gnu.org>
-
- * cpu_time.c: Make sure we have a definition of HZ. Don't
- rely on CLOCKS_PER_SEC, it is always 1000000, on any system.
-
-2003-04-13 Steven Bosscher <steven@gcc.gnu.org>
- Paul Brook <paul@nowt.org>
-
- * configure.in: Check for process time headers and GETTIMEOFDAY.
- * makefile.am: Add intrinsics/cpu_time.c.
- * acinclude.m4: New file.
- * intrinsics/cpu_time.c: New file.
- * m4/dotprodl.m4: Fix typo.
- Regenerate generated files.
-
-2003-04-11 Xiaoqiang Zhang <zhangapache@yahoo.com>
-
- * io/write.c (extract_real): Ouput floating point value.
- (write_float): New Function.
- (write_e, write_f, write_en, write_es): Modified
- * io/transfer.c (formatted_transfer): Modified.
- * libgfor.h (default_rtoa): Declaration.
- (rtoa): Declaration.
- * runtime/error.c (default_rtoa): New Function.
- (rtoa): New Function.
-
-2003-04-05 Paul Brook <paul@nowt.org>
-
- * intrinsics/spread_generic.c: New file.
- * Makefile.am: Add it. Regenerate Makefile.in.
-
-2003-03-29 Paul Brook <paul@nowt.org>
-
- * intrinsics/pack_generic.c: New file.
- * intrinsics/unpack_generic.c: New file.
- * Makefile.am: Add them. Regenerate Makefile.in.
-
-2003-03-25 Paul Brook <paul@nowt.org>
-
- * intrinsics/eoshift0.c: New file.
- * intrinsics/eoshift2.c: New file.
- * m4/eoshift1.m4: New file.
- * m4/eoshift3.m4: New file.
- * Makefile.am: Add them.
- * in_unpack_generic.c: Initialize src.
- Regenerate generated files.
-
-2003-03-14 Paul Brook <paul@nowt.org>
-
- * m4/shape.m4: Work properly with array temporaries.
- * m4/in_pack.m4: Skip redundant checks for array temporaries.
- * runtime/in_pack_generic.c: Ditto.
-
-2003-03-12 Paul Brook <paul@nowt.org>
-
- * m4/shape.m4: Work properly with noncontiguous arrays.
-
-2003-03-08 Paul Brook <paul@nowt.org>
-
- * m4/in_pack.m4: Correctly handle zero sized and assumed size arrays.
- * runtime/in_pack_generic.c: Ditto.
-
-2003-02-08 Paul Brook <paul@nowt.org>
-
- * intrinsics/reshape_generic.c: Use runtime_error to report errors.
- * io/close.c (st_close): Return void.
- * io/open.c (st_open): Return void.
- * libgfor.h (g95_array_char): Declare.
- (internal_malloc_size): Ditto.
- (internal_pack*, internal_unpack*): Ditto.
- * m4/in_pack.m4: Allocate storage if neccessary. Fix logic for packed
- arrays.
- * m4/in_unpack.m4: Include file fixes.
- * m4/reshape.m4: Increment the correct source pointer.
- * Makefile.am (maxloc): Fix typo.
- * runtime/in_pack_generic.c: Call optimized functions. Allocate
- storage if neccessary. Fix logic for packed arrays.
- * runtime/in_unpack_generic.c: Call optimized functions.
- * runtime/main.c: Use runtime_error to report errors.
- * memory.c (internal_malloc_size): Make non-static.
-
-2003-02-02 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
-
- * reshape_packed.c, lock.c: Add #include <string.h>.
- * libgfor.h, format.c, inquire.c, io.h, transfer.c, unix.c,
- environ.c, error.c, memory.c, string.c: Add const.
- * error.c (show_locus): Add void.
-
-2003-02-21 Paul Brook <paul@nowt.org>
-
- * m4/in_pack.m4: Avoid returning const * parameter.
- * Makefile.am: Only regenerate files in maintainer mode.
-
-2003-02-20 Paul Brook <paul@nowt.org>
-
- Add array repacking support functions.
- * m4/in_pack.m4, m4/in_unpack.m4: New files.
- * runtime/in_pack_generic.c, runtime/in_unpack_generic.c: New files.
- * Makefile.am: Build them. Regenerate configury files.
- * generated/: New directory for generated files (need to move
- everything else there).
-
-2003-02-07 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
-
- * m4/cexp.m4: Fix typo.
-
-2003-01-26 Paul Brook <paul@nowt.org>
-
- * intrinsics/: Add missing generated files.
-
-2003-01-26 Paul Brook <paul@nowt.org>
-
- * Makefile.am: Put -I before the filename.
-
-2003-01-24 Paul Brook <paul@nowt.org>
-
- * configure.in: Add AM_MAINTAINER_MODE.
-
-2003-01-23 Paul Brook <paul@nowt.org>
-
- * configure.in, Makefile.am: Modify to work with unmodified autoconf
- and auotmake.
- Also regenerate other configury files.
-
-2003-01-21 Paul Brook <paul@nowt.org>
-
- * io/read.c: Don't use stdint.h, it doesn't exist on cygwin.
-
-2003-01-20 Steven Bosscher <s.bosscher@student.tudelft.nl>
-
- * io/read.c (read_f): Don't use alloca, but safe get_mem instead.
- Don't include "alloca.h".
-
-2003-01-20 Steven Bosscher <s.bosscher@student.tudelft.nl>
-
- * intrinsics/string.c: Rename to intrinsics/string_intrinsics.c.
- * Makefile.am: Adjust file name.
- * Makefile.in: Regenerate.
- * gfortypes.h: Kill, include everything in...
- * libgfor.h: ...here. Include config.h
- * fmain.c, intrinsics/ishftc.c, intrinsic/reshape_generic.c,
- intrinsics/reshape_i4.c, intrinsics/reshape_i8.c,
- intrinsics/reshape_packed.c, intrinsics/size.c,
- m4/reshape.m4, runtime/main.c, runtime/memory.c: Use macro
- for prefix for all functions instead of hardcoded.
-
-2003-01-19 Steven Bosscher <s.bosscher@student.tudelft.nl>
-
- * io/lock.c (library_end): Propagate library return
- code.
-
-2003-01-19 Steven Bosscher <s.bosscher@student.tudelft.nl>
-
- Port fixes from Andy's tree:
- * io/read.c (read_decimal): Reverse sense of overflow
- comparison during integer reads.
- * io/format.c (revert): Fix comment.
- (next_format): Fix format revision.
- * io/unix.c: Fix and simplify mmap version of stream
- functions.
-
-2003-01-11 Paul Brook <paul@nowt.org>
-
- * configure, Makefile.in: Regenerate.
-
-2003-01-11 Paul Brook <paul@nowt.org>
-
- * runtime/stop.c: Rewrite.
-
-2003-01-08 Paul Brook <paul@nowt.org>
-
- * configure, Makefile.in: Regenerate.
-
-2003-01-05 Paul Brook <paul@nowt.org>
-
- * (*.m4) Move to m4/.
- * intrinsics/string.c (_gfor_string_index): New Function.
-
-2002-12-29 Paul Brook <paul@nowt.org>
-
- * intrinsics/reshape.*: New files.
- * gcc_config.patch: Update to new GCC configure system.
-
-2002-10-10 Paul Brook <paul@nowt.org>
-
- * intrinsics/size.c: New file.
- * intrinsics/shape.m4: New file.
- * Makefile.am: Add above files.
-
-2002-10-02 Paul Brook <paul@nowt.org>
-
- * fmain.c (main): Move here.
- * libgfor.c: From here.
- * libgfor.h (gfor_init, gfor_runtime_cleanup): Declare.
- * Makefile.am: Build libgforbegin.
- * gcc_config.patch: Remove stray -march=athlon.
- * dotprodl.m4: Fix use of L8_TO_L4 macro.
- * ifunction.m4: Move variable declarations to allow compilation with
- gcc < 3.0
- * specific.m4, specific4.m4: Fix typo typecode->type_code.
- * README: Document use of patch -p1.
-
-2002-09-12 Paul Brook <paul@nowt.org>
-
- * math/*: Add complex math library functions.
- * intrinsics/specific(2).m4: Generate Specific intrinsic functions.
- * Makefile.am: Add details for above.
- * configure.in: Use AC_PROG_F95. Test for the presence of csin.
-
-2002-09-09 Paul Brook <paul@nowt.org>
-
- * libgfor.c (determine_endianness): Use an array rather than a struct.
- * intrinsics/dotprod*, matmul*: Implement DOT_PRODUCT and MATMUL.
-
-2002-09-09 Steven Bosscher <s.bosscher@student.tudelft.nl>
-
- * libgfor.c: Add fatal signal handler.
- Romove superfluous abort() calls.
-
-2002-09-07 Paul Brook <paul@nowt.org>
-
- * Makefile.am, intrinsics: Major rewrite.
-
-2002-09-02 Paul Brook <paul@nowt.org>
-
- * Makefile.am: Added -I$(srcdir) to m4 rule.
-
-2002-08-30 Paul Brook <paul@nowt.org>
-
- * io/*: Integrated libgforio.
- * Makefile.am, configure.in: Make compatable with GCC. Build code for
- intrinsics in the intrisics directory.
- * intrinsics/intrinsics.m4: Move here. Strip directories from the
- filename. Add 'and' and 'all' intrinsics.
-
-2002-08-17 Paul Brook <paul@nowt.org>
-
- * ALL: First release as more than just a single file
+ * ChangeLog: Split into years ...
+ * ChangeLog-2002: here.
+ * ChangeLog-2003: here.
+ * ChangeLog-2004: here.
+ * ChangeLog-2005: here.
diff --git a/libgfortran/ChangeLog-2002 b/libgfortran/ChangeLog-2002
new file mode 100644
index 00000000000..2411f626ce8
--- /dev/null
+++ b/libgfortran/ChangeLog-2002
@@ -0,0 +1,60 @@
+2002-12-29 Paul Brook <paul@nowt.org>
+
+ * intrinsics/reshape.*: New files.
+ * gcc_config.patch: Update to new GCC configure system.
+
+2002-10-10 Paul Brook <paul@nowt.org>
+
+ * intrinsics/size.c: New file.
+ * intrinsics/shape.m4: New file.
+ * Makefile.am: Add above files.
+
+2002-10-02 Paul Brook <paul@nowt.org>
+
+ * fmain.c (main): Move here.
+ * libgfor.c: From here.
+ * libgfor.h (gfor_init, gfor_runtime_cleanup): Declare.
+ * Makefile.am: Build libgforbegin.
+ * gcc_config.patch: Remove stray -march=athlon.
+ * dotprodl.m4: Fix use of L8_TO_L4 macro.
+ * ifunction.m4: Move variable declarations to allow compilation with
+ gcc < 3.0
+ * specific.m4, specific4.m4: Fix typo typecode->type_code.
+ * README: Document use of patch -p1.
+
+2002-09-12 Paul Brook <paul@nowt.org>
+
+ * math/*: Add complex math library functions.
+ * intrinsics/specific(2).m4: Generate Specific intrinsic functions.
+ * Makefile.am: Add details for above.
+ * configure.in: Use AC_PROG_F95. Test for the presence of csin.
+
+2002-09-09 Paul Brook <paul@nowt.org>
+
+ * libgfor.c (determine_endianness): Use an array rather than a struct.
+ * intrinsics/dotprod*, matmul*: Implement DOT_PRODUCT and MATMUL.
+
+2002-09-09 Steven Bosscher <s.bosscher@student.tudelft.nl>
+
+ * libgfor.c: Add fatal signal handler.
+ Romove superfluous abort() calls.
+
+2002-09-07 Paul Brook <paul@nowt.org>
+
+ * Makefile.am, intrinsics: Major rewrite.
+
+2002-09-02 Paul Brook <paul@nowt.org>
+
+ * Makefile.am: Added -I$(srcdir) to m4 rule.
+
+2002-08-30 Paul Brook <paul@nowt.org>
+
+ * io/*: Integrated libgforio.
+ * Makefile.am, configure.in: Make compatable with GCC. Build code for
+ intrinsics in the intrisics directory.
+ * intrinsics/intrinsics.m4: Move here. Strip directories from the
+ filename. Add 'and' and 'all' intrinsics.
+
+2002-08-17 Paul Brook <paul@nowt.org>
+
+ * ALL: First release as more than just a single file
diff --git a/libgfortran/ChangeLog-2003 b/libgfortran/ChangeLog-2003
new file mode 100644
index 00000000000..1c8b99f45f2
--- /dev/null
+++ b/libgfortran/ChangeLog-2003
@@ -0,0 +1,542 @@
+2003-12-12 Huang Chun <chunhuang73@hotmal.com>
+
+ * intrinsics/string_intrinsics.c (string_index): Fix logics thinko.
+
+2003-12-05 Melvin Hadasht <melvin.hadasht@free.fr>
+
+ * io/transfer.c (data_transfer_init): Give a runtime error for list
+ formatted reads and writes from/to files opened for unformatted IO.
+
+2003-11-30 Paul Brook <paul@nowt.org>
+
+ * runtime/memory.c (push_context): Remove.
+ (pop_context): Remove.
+ * libgfortran.h: Remove prototypes.
+
+2003-11-27 Paul Brook <paul@nowt.org>
+
+ * runtime/memory.c (deallocate): Nullify pointer after freeing.
+
+2003-11-27 Paul Brook <paul@nowt.org>
+
+ * intrinsics/string_intrinsics.c: Use new memory allocation interface.
+ * libgfortran.h: Ditto.
+ * m4/in_pack.m4: Ditto.
+ * runtime/in_pack_generic.c: Ditto.
+ * runtime/memory.c: Ditto.
+
+2003-11-26 Richard Henderson <rth@redhat.com>
+
+ * m4/exponent.m4, m4/fraction.m4: New.
+ * m4/nearest.m4, m4/set_exponent.m4: New.
+ * generated/*: Update.
+ * Makefile.am: Add them.
+ (AM_CFLAGS): New. Use -std=gnu99.
+ * Makefile.in: Regenerate.
+
+2003-11-08 Paul Brook <paul@nowt.org>
+
+ PR fortran/12704
+ * m4/maxloc0.m4: Use default value of 1. Handle zero sized arrays.
+ * m4/maxloc1.m4: Ditto.
+ * m4/minloc0.m4: Ditto.
+ * m4/minloc1.m4: Ditto.
+ * m4/ifunction.m4: Set return value for zero sized arrays.
+ * m4/iforeach.m4: Ditto.
+ * m4/all.m4, m4/any.m4, m4/count.m4, m4/maxloc1.m4, m4/minloc1.m4,
+ m4/mxaval.m4, m4/minval.m4, m4/product.m4, m4/sum.m4: Ditto.
+ * generated/*: Update.
+
+2003-10-30 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR fortran/12702
+ * io/list_read.c (eat_spaces): Treat tab as space.
+
+2003-10-30 Lars Segerlund <Lars.Segerlund@comsys.se>
+
+ * intrinsics/random.c: Add reference to paper containing algorithm.
+ (random_seed): Extra error checking and proper handling of arrays.
+ (arandom_r4, arandom_r8): Implement.
+
+2003-10-29 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR fortran/12703
+ * runtime/memory.c (allocate_size): Allow allocation
+ of zero-sized objects.
+
+2003-10-29 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR fortran/12701
+ * open.c (new_unit): Open without a file name opens
+ a file with name fort.<unit>.
+
+2003-10-12 Feng Wang <wf_cs@yahoo.com>
+
+ * intrinsics/cshift0.c: New file.
+ * m4/cshift1.m4: New file
+ * generated/cshift*.c: New files.
+ * Makefile.am: Add them.
+ * Makefile.in: Regenerate.
+
+2003-10-12 XiaoQiang Zhang <zhangapache@yahoo.com>
+
+ * io/list_read.c (read_character): Remove unwanted call to free_saved.
+
+2003-10-11 Huang Chun <jiwang@mail.edu.cn>
+
+ * intrinsics/string_intrinsics.c (string_trim): New function.
+ (string_repeat): New function.
+
+2003-10-11 Paul Brook <paul@nowt.org>
+
+ * intrinsics/dprod_r8.f90: New file.
+ * Makefile.am (gfor_specific_src): Add it.
+ (gfor_built_specific_src): Rename from gfor_build_specific_c.
+ Add new intrinsics.
+ (gfor_specific2_src): Rename from gfor_built_specific2_c.
+ Add new intrinsics.
+ * Makefile.in: Regenerate.
+ * generated/_aint_*.f90: New files.
+ * generated/_anint*.f90: New files.
+ * generated/_atan2*.f90: New files.
+ * generated/_mod*.f90: New files.
+
+2003-09-20 Kejia Zhao <kejia_zh@yahoo.com.cn>
+
+ * intrinsics/selected_kind.f90: New file.
+ * Makefile.am: Add it.
+ * Makefile.in: regenerate.
+
+2003-09-19 Lars Segerlund <Lars.Segerlund@comsys.se>
+ Paul Brook <paul@nowt.org>
+
+ * intrinsics/random.c: New file.
+ * Makefile.am (gfor_hemper_src): Add it.
+ (gfor_specific_c): Fix typo.
+
+2003-09-19 Paul Brook <paul@nowt.org>
+
+ * All: rename g95->gfc.
+
+2003-09-18 XiaoQiang Zhang <zhangapache@yahoo.com>
+
+ * io/write.c (output_float): Fix bug of FMT_E, Add comments.
+
+2003-09-09 XiaoQiang Zhang <zhangapache@yahoo.com>
+
+ * io/write.c (write_float): Dectection of positive infinite number,
+ Not a Number(NaN) and negative infinite number.
+ (ioutput_float): Bug fix for FMT_E and FMT_D processing to
+ output a very_very small number ( < 0.1e-100 ).
+
+2003-09-07 XiaoQiang Zhang <zhangapache@yahoo.com>
+
+ * libgfortran.h (xtoa, itoa): Parameter modified.
+ * io/io.h (namelist_info): Declaration to support namelist I/O
+ (st_parameter): Add namelist related component
+ (ionml, empty_internal_buffer, st_set_nml_var_int,
+ st_set_nml_var_float, st_set_nml_var_char, st_set_nml_var_complex,
+ st_set_nml_var_log): Declaration
+ (set_integer, set_integer): Parameter changed
+ * io/format.c (free_nodes): Fix annoying bug of lefting "deallocated"
+ fnodes
+ (parse_format_list): Fix bug about FMT_SLASH
+ * io/list_read.c (push_char): Totally clear old saved_string, zeroize
+ newly allocated saved_string
+ (next_char): Add detection of End_Of_Line support
+ (convert_integer): Now can process 64 bits interger
+ (read_real): Bug fixed
+ (init_at_eol, find_nml_node, match_namelist_name): Add new functions
+ (match_namelist_name): New implemention
+ * io/lock.c (ionml): New global variable
+ (library_end): Free memory in ionml
+ * io/open.c (st_open): Variable initializtion
+ * io/read.c (max_value): 64 bits interger support
+ (convert_precsion_real): New procedure to replace "strtod" with more
+ features
+ (read_f, read_radix): Input bug fix
+ * io/transfer.c: (sf_seen_eor): New static variable
+ (read_sf): Zeroize base buffer; fix bugs: single read statement can
+ not get input in mutli line when read from stdin
+ (formatted_transfer): Fix bug of FMT_O, FMT_B, FMT_Z for INTEGER type
+ request
+ (data_transfer_init): Clear internal buffer for Internel File I/O.
+ Internal File now worked. Detect some error condition for namelist.
+ Some minor bug fix
+ (next_record_w): Internal file and Namelist I/O support.
+ (st_set_nml_var, st_set_nml_var_float, st_set_nml_var_char,
+ st_set_nml_var_complex, st_set_nml_var_log): Implemention.
+ * io/unit.c (implicit_unit): Deletion
+ (get_unit): Now cannot open a unit implicitly.
+ * io/unix.c (mmap_alloc): Fix fatal error in calculating the length of
+ mapped buffer.
+ (mem_alloc_r_at): Internal file I/O support added
+ (empty_internal_buffer): New function
+ * io/write.c (extract_int): Support 64 bits interger processing
+ (output_float): Varibale initialization
+ (write_float): Infinite real number detection.
+ (write_int): 64 bits integer I/O support
+ (write_decimal): New function to output decimal number
+ (otoa, btoa): Better implemention and 64 bits interger support
+ (namelist_write): New function
+ * runtime/error.c (itoa, xtoa): Better implemention and 64 bits
+ interger support
+
+2003-08-15 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
+
+ * libgfortran.h (os_error, runtime_error,internal_error, sys_exit,
+ get_mem ): Add attribute.
+ * intrinsics/spread_generic.c (__spread): Fix spelling.
+ * io/inquire.c (inquire_via_filename): Add const.
+ * io/io.h (sys_exit): Add attribute.
+ * io/io.h (move_pos_offset): Add move_pos_offset.
+ * io/io.h (compare_file_filename, inquire_sequential, inquire_direct,
+ inquire_formatted, inquire_unformatted, inquire_read, inquire_write,
+ inquire_readwrite, convert_real, write_a, write_b, write_d, write_e,
+ write_en, write_es, write_f, write_i, write_l, write_o, write_x,
+ write_z): Add const.
+ * io/read.c (convert_real): Add const.
+ * io/transfer.c (type_name): Add const.
+ * io/unix.c (unpack_filename, compare_file_filename,inquire_sequential,
+ inquire_direct, inquire_formatted, inquire_unformatted, inquire_access,
+ inquire_read, inquire_write, inquire_readwrite): Add const.
+ * io/write.c (output_float): Remove unused variable.
+ * io/write.c (write_a, extract_int, extract_real, output_float,
+ write_float, write_int, write_i, write_b, write_o, write_z, write_d,
+ write_e, write_f, write_en, write_es, write_logical, write_integer,
+ write_character, write_real, write_complex): Add const.
+ * runtime/error.c (rtoa): Remove unused variable.
+ * runtime/select.c (select_string): Add const.
+ * runtime/stop.c (stop_string): Add const.
+
+2003-08-10 Paul Brook <paul@nowt.org>
+
+ * Makefile.am (gfor_helper_src): Add intrinsics/abort.c.
+ (FFLAGS): Add -fno-underscoring.
+ * Makefile.in: Regenerate.
+ * intrinsics/abort.c: New file.
+
+2003-08-10 Erik Schnetter <schnetter@uni-tuebingen.de>
+
+ * fmain.c (main): Do not call init and cleanup; call set_args instead.
+ * libgfortran.h (init, cleanup): Remove declarations.
+ (set_args): Add declaration.
+ * runtime/main.c (init, cleanup): Make them static, and give them
+ the constructor and destructor attributes.
+ (set_args): New function.
+
+2003-08-10 Paul Brook <paul@nowt.org>
+
+ * intrinsics/strinf_intrinsics.c (compare_string): Return value based
+ on which string is longest.
+
+2003-08-10 Paul Brook <paul@nowt.org>
+
+ * Makefile.am (EXTRA_DIST): Remove old files.
+ * Makefile.in: Regenerate.
+
+2003-07-26 Paul Brook <paul@nowt.org>
+
+ Rename library to libgfortran.
+ * libgfortran.h: Change prefix to _libgfortran_.
+
+2003-07-24 Paul Brook <paul@nowt.org>
+
+ * configure.in: Don't pull in system libtool. Use toplevel
+ auxiliary files.
+
+2003-07-22 Paul Brook <paul@nowt.org>
+
+ Regenerate all configury files.
+
+2003-07-09 Chun Huang <compiler@sohu.com>
+
+ * intrinsics/string_intrinsic.c (string_scan): New function.
+ (string_verify): New function.
+
+2003-06-25 Paul Brook <paul@nowt.org>
+
+ * io/unix.c (mem_alloc_r_at, mem_alloc_w_at): Advance logical_offset.
+ (mem_seek): Don't bother setting physical_offset.
+
+2003-06-20 Paul Brook <paul@nowt.org>
+
+ * libgfor.h (stop_numeric): Declare.
+ * runtime/pause.c: New file.
+ * Makefile.am: Add it.
+
+2003-06-08 Paul Brook <paul@nowt.org>
+
+ * m4/cexp.m4 (cabs): Use correct typed version.
+ (csqrt): New function.
+
+2003-06-07 Canqun Yang <canqun@yahoo.com.cn>
+
+ Spotted by Benjamin and Tobias:
+ * io/list_read.c: Add Separator '\t'.
+ (parse_real, read_real): Accept real values starting with an optional
+ sign follows a decimal point.
+
+2003-06-06 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Makefile.am: Don't put cmath objects in subdir.
+ * configure.in: Rename MATHOBJ to MATH_OBJ.
+
+2003-06-02 Kejia Zhao <Kejia_zh@yahoo.com.cn>
+
+ * intrinsics/associated.c: New file.
+ * Makefile.am: Add it. Regenerate Makefile.in.
+ * libgfor.h: Define g95_array_void, G95_DESCRIPTOR_DATA, and
+ G95_DESCRIPTOR_DTYPE.
+
+2003-06-01 Canqun Yang <canqun@yahoo.com.cn>
+
+ * io/write.c (calcuate_exp): Rewrite it to avoid overflow.
+ (calculate_G_format): Rewrite it to eliminate an infinte loop and set
+ the scale_factor to 0 for F editing.
+
+2003-05-11 Tobias Schlter <innenminister@gmx.de>
+
+ * libgfor.h: Only include stdint.h if it exists.
+
+2003-05-07 Paul Brook <paul@nowt.org>
+
+ * libgfor.h: Use stdint.h types.
+ * intrinsics/ishift.c: Ditto.
+ * runtime/memory.c (malloc_t): Reorder fields for better alignment.
+
+2003-05-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ * libgfor.h (offsetof): Define if nobody else does.
+ * runtime/memory.c (HEADER_SIZE): Use it.
+
+2003-05-01 Tobias Schlter <innenminister@gmx.de>
+
+ * configure.in: Require autoconf 2.54.
+
+2003-04-28 Tobias Schlter <innenminister@gmx.de>
+ Paul Brook <paul@nowt.org>
+
+ * intrinsics/reshape_generic.c: Copy the whole element, not just the
+ first byte.
+ * m4/transpose.m4: New file.
+ * Makefile.am: Add them.
+ Regenerate generated files.
+
+2003-04-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ * io/format.c (parse_format_list): Allow 'X' without integer
+ prefix. This is an extension. Interpretation is '1X'.
+
+2003-04-18 Tobias Schlter <Tobias.Schlueter@physik.uni-muenchen.de>
+
+ * io/format.c (parse_format_list): Allow '0P'.
+
+2003-04-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Makefile.in: Re-regenerate for automake 1.7.3.
+
+2003-04-18 Canqun Yang <canqun@yahoo.com.cn>
+
+ Port implementation for CHARACTER SELECT from Andy's tree.
+ * runtime/select.c: New file
+ * Makefile.am: Add it.
+ * Makefile.in: Regenerate.
+
+2003-04-17 Xiaoqiang Zhang <zhangapache@yahoo.com>
+
+ * io/transfer.c (formatted_transfer): Modified
+ * io/unix.c (move_pos_offset): New Function.
+ * io/format.c (parse_format_list): Modified.
+
+2003-04-15 Xiaoqiang Zhang <zhangapache@yahoo.com>
+
+ * io/write.c (write_float,write_real): New implemention of
+ FMT_G and default float editing.
+ (calculate_exp,calculate_G_format,output_float): New Function.
+ (write_float,write_real,write_logical): Modified
+ * libgfor.h (default_rtoa): Remove Declaration.
+ * runtime/error.c (default_rtoa): Remove Function.
+
+2003-04-15 Steven Bosscher <steven@gcc.gnu.org>
+
+ Spotted by Yang:
+ * io/write.c (extract_real): Add missing break statement.
+
+2003-04-13 Steven Bosscher <steven@gcc.gnu.org>
+
+ * cpu_time.c: Make sure we have a definition of HZ. Don't
+ rely on CLOCKS_PER_SEC, it is always 1000000, on any system.
+
+2003-04-13 Steven Bosscher <steven@gcc.gnu.org>
+ Paul Brook <paul@nowt.org>
+
+ * configure.in: Check for process time headers and GETTIMEOFDAY.
+ * makefile.am: Add intrinsics/cpu_time.c.
+ * acinclude.m4: New file.
+ * intrinsics/cpu_time.c: New file.
+ * m4/dotprodl.m4: Fix typo.
+ Regenerate generated files.
+
+2003-04-11 Xiaoqiang Zhang <zhangapache@yahoo.com>
+
+ * io/write.c (extract_real): Ouput floating point value.
+ (write_float): New Function.
+ (write_e, write_f, write_en, write_es): Modified
+ * io/transfer.c (formatted_transfer): Modified.
+ * libgfor.h (default_rtoa): Declaration.
+ (rtoa): Declaration.
+ * runtime/error.c (default_rtoa): New Function.
+ (rtoa): New Function.
+
+2003-04-05 Paul Brook <paul@nowt.org>
+
+ * intrinsics/spread_generic.c: New file.
+ * Makefile.am: Add it. Regenerate Makefile.in.
+
+2003-03-29 Paul Brook <paul@nowt.org>
+
+ * intrinsics/pack_generic.c: New file.
+ * intrinsics/unpack_generic.c: New file.
+ * Makefile.am: Add them. Regenerate Makefile.in.
+
+2003-03-25 Paul Brook <paul@nowt.org>
+
+ * intrinsics/eoshift0.c: New file.
+ * intrinsics/eoshift2.c: New file.
+ * m4/eoshift1.m4: New file.
+ * m4/eoshift3.m4: New file.
+ * Makefile.am: Add them.
+ * in_unpack_generic.c: Initialize src.
+ Regenerate generated files.
+
+2003-03-14 Paul Brook <paul@nowt.org>
+
+ * m4/shape.m4: Work properly with array temporaries.
+ * m4/in_pack.m4: Skip redundant checks for array temporaries.
+ * runtime/in_pack_generic.c: Ditto.
+
+2003-03-12 Paul Brook <paul@nowt.org>
+
+ * m4/shape.m4: Work properly with noncontiguous arrays.
+
+2003-03-08 Paul Brook <paul@nowt.org>
+
+ * m4/in_pack.m4: Correctly handle zero sized and assumed size arrays.
+ * runtime/in_pack_generic.c: Ditto.
+
+2003-02-08 Paul Brook <paul@nowt.org>
+
+ * intrinsics/reshape_generic.c: Use runtime_error to report errors.
+ * io/close.c (st_close): Return void.
+ * io/open.c (st_open): Return void.
+ * libgfor.h (g95_array_char): Declare.
+ (internal_malloc_size): Ditto.
+ (internal_pack*, internal_unpack*): Ditto.
+ * m4/in_pack.m4: Allocate storage if neccessary. Fix logic for packed
+ arrays.
+ * m4/in_unpack.m4: Include file fixes.
+ * m4/reshape.m4: Increment the correct source pointer.
+ * Makefile.am (maxloc): Fix typo.
+ * runtime/in_pack_generic.c: Call optimized functions. Allocate
+ storage if neccessary. Fix logic for packed arrays.
+ * runtime/in_unpack_generic.c: Call optimized functions.
+ * runtime/main.c: Use runtime_error to report errors.
+ * memory.c (internal_malloc_size): Make non-static.
+
+2003-02-02 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
+
+ * reshape_packed.c, lock.c: Add #include <string.h>.
+ * libgfor.h, format.c, inquire.c, io.h, transfer.c, unix.c,
+ environ.c, error.c, memory.c, string.c: Add const.
+ * error.c (show_locus): Add void.
+
+2003-02-21 Paul Brook <paul@nowt.org>
+
+ * m4/in_pack.m4: Avoid returning const * parameter.
+ * Makefile.am: Only regenerate files in maintainer mode.
+
+2003-02-20 Paul Brook <paul@nowt.org>
+
+ Add array repacking support functions.
+ * m4/in_pack.m4, m4/in_unpack.m4: New files.
+ * runtime/in_pack_generic.c, runtime/in_unpack_generic.c: New files.
+ * Makefile.am: Build them. Regenerate configury files.
+ * generated/: New directory for generated files (need to move
+ everything else there).
+
+2003-02-07 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * m4/cexp.m4: Fix typo.
+
+2003-01-26 Paul Brook <paul@nowt.org>
+
+ * intrinsics/: Add missing generated files.
+
+2003-01-26 Paul Brook <paul@nowt.org>
+
+ * Makefile.am: Put -I before the filename.
+
+2003-01-24 Paul Brook <paul@nowt.org>
+
+ * configure.in: Add AM_MAINTAINER_MODE.
+
+2003-01-23 Paul Brook <paul@nowt.org>
+
+ * configure.in, Makefile.am: Modify to work with unmodified autoconf
+ and auotmake.
+ Also regenerate other configury files.
+
+2003-01-21 Paul Brook <paul@nowt.org>
+
+ * io/read.c: Don't use stdint.h, it doesn't exist on cygwin.
+
+2003-01-20 Steven Bosscher <s.bosscher@student.tudelft.nl>
+
+ * io/read.c (read_f): Don't use alloca, but safe get_mem instead.
+ Don't include "alloca.h".
+
+2003-01-20 Steven Bosscher <s.bosscher@student.tudelft.nl>
+
+ * intrinsics/string.c: Rename to intrinsics/string_intrinsics.c.
+ * Makefile.am: Adjust file name.
+ * Makefile.in: Regenerate.
+ * gfortypes.h: Kill, include everything in...
+ * libgfor.h: ...here. Include config.h
+ * fmain.c, intrinsics/ishftc.c, intrinsic/reshape_generic.c,
+ intrinsics/reshape_i4.c, intrinsics/reshape_i8.c,
+ intrinsics/reshape_packed.c, intrinsics/size.c,
+ m4/reshape.m4, runtime/main.c, runtime/memory.c: Use macro
+ for prefix for all functions instead of hardcoded.
+
+2003-01-19 Steven Bosscher <s.bosscher@student.tudelft.nl>
+
+ * io/lock.c (library_end): Propagate library return
+ code.
+
+2003-01-19 Steven Bosscher <s.bosscher@student.tudelft.nl>
+
+ Port fixes from Andy's tree:
+ * io/read.c (read_decimal): Reverse sense of overflow
+ comparison during integer reads.
+ * io/format.c (revert): Fix comment.
+ (next_format): Fix format revision.
+ * io/unix.c: Fix and simplify mmap version of stream
+ functions.
+
+2003-01-11 Paul Brook <paul@nowt.org>
+
+ * configure, Makefile.in: Regenerate.
+
+2003-01-11 Paul Brook <paul@nowt.org>
+
+ * runtime/stop.c: Rewrite.
+
+2003-01-08 Paul Brook <paul@nowt.org>
+
+ * configure, Makefile.in: Regenerate.
+
+2003-01-05 Paul Brook <paul@nowt.org>
+
+ * (*.m4) Move to m4/.
+ * intrinsics/string.c (_gfor_string_index): New Function.
diff --git a/libgfortran/ChangeLog-2004 b/libgfortran/ChangeLog-2004
new file mode 100644
index 00000000000..992848cfb21
--- /dev/null
+++ b/libgfortran/ChangeLog-2004
@@ -0,0 +1,1104 @@
+2004-12-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * libgfortran/libgfortran.h (GFC_UINTEGER_1, GFC_UINTEGER_2):
+ Define.
+ * intrinsics/ishftc.c: Update copyright years.
+ (ishftc8): Change 'shift' and 'size' to GFC_INTEGER_4.
+ * intrinsics/mvbits.c: Correct non-ASCII character in my name.
+ Add implementations for GFC_INTEGER_1 and GFC_INTEGER_2.
+
+2004-12-23 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/19071
+ * io/tranfer.c (formatted_transfer): moved check for
+ format reversion inside the processing loop.
+
+2004-12-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ PR libfortran/19074
+ * libgfortran.h (itoa): Rename to gfc_itoa.
+ * io/write.c (itoa): Same.
+ * runtime/environ.c (itoa): Same.
+ * runtime/error.c (itoa): Same.
+
+2004-12-15 Bud Davis <bdavis9659@comcast.net>
+ Steven G. Kargl <kargls@comcast.net>
+
+ PR fortran/17597
+ * io/list_read.c (read_real): do not push back a comma when
+ it delimits a real value without a decimal point
+
+2004-12-14 Steve Ellcey <sje@cup.hp.com>
+
+ * libgfortran/io/transfer.c (us_read): Use memcpy/memset
+ instead of assignment to fill unaligned buffer.
+ (us_write): Ditto.
+ (next_record_w): Ditto.
+
+2004-12-14 Steven G. Kargl <kargls@comcast.net>
+
+ PR libfortran/18966
+ * gfortran.h: typedef GFC_INTEGER_1 and GFC_INTEGER_2
+ * intrinsics/cshift0.c (cshift0_1,cshift0_2): New functions.
+ * intrinsics/eoshift0.c (eoshift0_1,eoshift0_2): New functions.
+ * intrinsics/eoshift2.c (eoshift2_1,eoshift2_2): New functions.
+
+2004-12-13 David Edelsohn <edelsohn@gnu.org>
+
+ * io/transfer.c (read_sf): Change bitwise "and" to logical "and".
+
+2004-12-12 Richard Henderson <rth@redhat.com>
+
+ * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
+ intrinsics/pack_generic.c, intrinsics/reshape_generic.c,
+ intrinsics/spread_generic.c, intrinsics/transpose_generic.c,
+ intrinsics/unpack_generic.c, m4/cshift1.m4, m4/dotprod.m4,
+ m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
+ m4/iforeach.m4, m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4,
+ m4/reshape.m4, m4/shape.m4, m4/transpose.m4: Use standard prefix
+ instead of "__".
+ * generated/*: Rebuild.
+
+2004-12-12 Richard Henderson <rth@redhat.com>
+
+ * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
+ (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT): New.
+ (LIBGFOR_CHECK_ATTRIBUTE_ALIAS): New.
+ * configure.ac: Use them.
+ * configure, config.h.in, aclocal.m4: Rebuild.
+ * libgfortran.h (prefix): Remove.
+ (PREFIX, IPREFIX): New.
+ (sym_rename, sym_rename1, sym_rename2): New.
+ (internal_proto, export_proto, export_proto_np): New.
+ (iexport_proto, iexport): New.
+ (iexport_data_proto, iexport_data): New.
+ * intrinsics/abort.c, intrinsics/args.c, intrinsics/associated.c,
+ intrinsics/cpu_time.c, intrinsics/cshift0.c,
+ intrinsics/date_and_time.c, intrinsics/env.c, intrinsics/eoshift0.c,
+ intrinsics/eoshift2.c, intrinsics/etime.c, intrinsics/exit.c,
+ intrinsics/flush.c, intrinsics/fnum.c, intrinsics/getXid.c,
+ intrinsics/getcwd.c, intrinsics/ishftc.c, intrinsics/mvbits.c,
+ intrinsics/pack_generic.c, intrinsics/rand.c, intrinsics/random.c,
+ intrinsics/reshape_generic.c, intrinsics/size.c,
+ intrinsics/spread_generic.c, intrinsics/stat.c,
+ intrinsics/string_intrinsics.c, intrinsics/system.c,
+ intrinsics/system_clock.c, intrinsics/transpose_generic.c,
+ intrinsics/umask.c, intrinsics/unlink.c, intrinsics/unpack_generic.c,
+ io/backspace.c, io/close.c, io/endfile.c, io/inquire.c, io/io.h,
+ io/open.c, io/rewind.c, io/transfer.c, libgfortran.h, m4/cshift1.m4,
+ m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4,
+ m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/iforeach.m4,
+ m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/nearest.m4,
+ m4/pow.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4,
+ m4/transpose.m4, runtime/environ.c, runtime/error.c,
+ runtime/in_pack_generic.c, runtime/in_unpack_generic.c,
+ runtime/main.c, runtime/memory.c, runtime/pause.c, runtime/select.c,
+ runtime/stop.c: Use them to mark symbols internal or external.
+ * generated/*: Rebuild.
+
+2004-12-09 David Edelsohn <edelsohn@gnu.org>
+
+ PR bootstrap/18895
+ Revert 2004-12-07 change.
+ * Makefile.am (AM_MAKEFLAGS): Delete.
+ * Makefile.in: Regenerate.
+
+2004-12-07 Steve Ellcey <sje@cup.hp.com>
+
+ * libgfortran/Makefile.am (AM_MAKEFLAGS): New.
+ * libgfortran/Makefile.in: Regenerate
+
+2004-12-07 Steve Ellcey <sje@cup.hp.com>
+
+ * io/io.h (open_external): Change prototype.
+ * io/unix.c (regular_file): Change prototype and set flags->action if
+ needed.
+ (open_external): Ditto.
+ * io/open.c (new_unit): Let open_external set flags->action.
+
+2004-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * configure.ac: Check for ieeefp.h. Check for fabsf in libm.
+ * configure: Regenerate.
+ * config.h.in: Likewise.
+ * c99_protos.h: New file.
+ * libgfortran.h: Include c99_protos.h and conditionally ieeefp.h.
+ * intrinsics/c99_functions.c (fabsf): New function.
+
+2004-12-06 Richard Henderson <rth@redhat.com>
+
+ * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
+ intrinsics/pack_generic.c, intrinsics/string_intrinsics.c,
+ intrinsics/transpose_generic.c, m4/ifunction.m4, m4/matmul.m4,
+ m4/matmull.m4, m4/transpose.m4: Use internal_malloc_size instead
+ of internal_malloc.
+ * generated/*: Rebuild.
+
+2004-12-06 Richard Henderson <rth@redhat.com>
+
+ * intrinsics/c99_functions.c, intrinsics/eoshift0.c,
+ intrinsics/eoshift2.c, intrinsics/exit.c, intrinsics/flush.c,
+ intrinsics/ishftc.c, intrinsics/mvbits.c, intrinsics/pack_generic.c,
+ intrinsics/random.c, intrinsics/reshape_generic.c, intrinsics/size.c,
+ intrinsics/spread_generic.c, intrinsics/stat.c,
+ intrinsics/string_intrinsics.c, intrinsics/system_clock.c,
+ intrinsics/transpose_generic.c, intrinsics/unlink.c,
+ intrinsics/unpack_generic.c, io/backspace.c, io/format.c,
+ io/list_read.c, io/lock.c, io/open.c, io/transfer.c, io/unix.c,
+ io/write.c, runtime/environ.c, runtime/error.c,
+ runtime/in_pack_generic.c, runtime/in_unpack_generic.c, runtime/main.c,
+ runtime/memory.c, runtime/pause.c, runtime/stop.c,
+ runtime/string.c: Whitespace fixes.
+
+2004-12-06 Richard Henderson <rth@redhat.com>
+
+ * Makefile.am: Generate all m4 output under $(srcdir).
+ * Makefile.in: Regenerate.
+
+2004-12-02 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/18710
+ * io/transfer.c (unformatted_read, unformatted_write): width of
+ a COMPLEX is twice its kind.
+
+2004-12-02 Richard Sandiford <rsandifo@redhat.com>
+
+ * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
+ * configure, aclocal.m4, Makefile.in: Regenerate.
+
+2004-12-02 Bud Davis <bdavis9659@comcast.net>
+
+ PR libfortran/18284
+ * io/unix.c (fd_alloc_w_at): Update file_length when extending.
+ * io/backspace.c (formatted_backspace): Reset endfile after backspace.
+
+2004-12-02 Bud Davis <bdavis9659@comcast.net>
+
+ * io/inquire.c (inquire_via_unit): do not allow a direct access
+ file to be opened for sequential I/O.
+
+2004-12-02 Steven G. Kargl <kargls@comcast.net>
+ Paul Brook <paul@codesourcery.com>
+
+ * intrinsics/flush.c: New file.
+ * intrinsics/fnum.c: ditto
+ * intrinsics/stat.c: ditto
+ * io/io.h (unit_to_fd): Add prototype.
+ * io/unix.c (unit_to_fd): New function.
+ * configure.ac: Add test for members of struct stat. Check for
+ sys/types.h and sys/stat.h
+ * Makefile.am: Add intrinsics/{flush.c,fnum.c,stat.c}
+ * configure.in: Regenerate.
+ * config.h.in: Regenerate.
+ * Makefile.in: Regenerate.
+
+2004-12-01 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * Makefile.am (AM_CPPFLAGS): Use -iquote instead of -I.
+
+2004-11-28 Bud Davis <bdavis9659@comcast.net>
+
+ * io/unix.c (mmap_alloc_w_a): check for a write to a location
+ less than the mapped area.
+
+2004-11-27 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/18364
+ * io/endfile.c (st_endfile): flush the stream before truncating.
+
+2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
+
+ * configure: Regenerate for libtool change.
+
+2004-11-22 Steven Bosscher <stevenb@suse.de>
+
+ PR libfortran/15960
+ * configure.ac: Check for finite in libm.
+ * libgfortran.h: Define isfinite macro if not defined.
+ * intrinsics/c99_functions.c: Use defined(fpclassify) instead of
+ HAVE_FPCLASSIFY.
+ * io/write.c (write_float): Use isfinite instead of finite.
+ * configure, config.h.in: Rebuilt.
+
+2004-11-20 Roger Sayle <roger@eyesopen.com>
+
+ * io/write.c (write_float, list_formatted_write): Fix indentation.
+
+2004-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/16135
+ * acinclude.m4 (LIBGFOR_TARGET_ILP32): New check.
+ * configure.ac: Include LIBGFOR_TARGET_ILP32.
+ * configure: Regenerate.
+ * config.h.in: Likewise.
+ * libgfortran.h: Provide default definitions for C99 types
+ on ILP32 targets that don't have them.
+
+ PR target/17999
+ * configure.ac: Check for snprintf.
+ * configure: Regenerate.
+ * config.h.in: Likewise.
+ * intrinsics/date_and_time.c (date_and_time): Do not
+ use snprinf if it is not available.
+ * io/write.c (output_float): Likewise.
+
+2004-11-20 Steven G. Kargl <kargls@comcast.net>
+
+ * Makefile.am: Add intrinsics/{umask.c,unlink.c,exit.c}
+ * Makefile.in: Regenerated
+ * intrinsics/umask.c: New file
+ * intrinsics/unlink.c: ditto
+ * intrinsics/exit.c: ditto
+
+2004-11-18 Victor Leikehman <lei@il.ibm.com>
+
+ * m4/matmul.m4: Loops reordered to improve cache behavior.
+ * generated/matmul_??.c: Regenerated.
+
+2004-11-10 Paul Brook <paul@codesourcery.com>
+
+ PR fortran/18218
+ * configure.ac: Check for strtof.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+ * io/read.c (convert_real): Use strtof if available.
+ (convert_precision_real): Remove.
+ (read_f): Avoid poor exponentiation algorithm.
+
+2004-11-05 Andreas Schwab <schwab@suse.de>
+
+ * configure.ac: Use AC_PROG_FC, FC and FCFLAGS instead of
+ AC_PROG_F77, F77 and FFLAGS.
+ * Makefile.am (selected_int_kind.inc, selected_real_kind.inc): Use
+ FCCOMPILE instead of F77COMPILE.
+ * configure, Makefile.in: Regenerate.
+
+2004-11-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * acinclude.m4: Properly quote AC_CACHE_CHECK.
+ * Makefile.am: Add in ACLOCAL_AMFLAGS.
+ * aclocal.m4, configure, Makefile.in: Regenerate.
+
+2004-10-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac (AC_CHECK_FUNCS): Add mkstemp.
+ * io/unix.c (S_IRGRP): Define if undefined.
+ (S_IWGRP): Same.
+ (S_IROTH): Same.
+ (S_IWOTH): Same.
+ (tempfile): Use mktemp if mkstemp missing, fix typos.
+
+2004-10-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * intrinsics/system.c ("libgfortran.h"): Move after system headers.
+
+2004-10-30 Canqun Yang <canqun@nudt.edu.cn>
+
+ * intrinsics/rand.c (irand): Handle NULL argument.
+
+2004-10-07 Paul Brook <paul@codesourcery.com>
+
+ * io/transfer.c (finalize_transfer): Free internal streams.
+ * io/unix.c (mem_close): Free stream object.
+
+2004-10-07 Paul Brook <paul@codesourcery.com>
+
+ * intrinsics/string_intrinsics.c (string_verify): Fix off by one
+ error.
+
+2004-10-06 Paul Brook <paul@codesourcery.com>
+
+ PR libfortran/17709
+ * io/transfer.c (data_transfer_init): Reset sf_seen_eor.
+
+2004-10-04 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * intrinsics/mvbits.c: Commit the file.
+
+2004-10-04 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/17283
+ * intrinsics/pack_generic.c (__pack): Allocate memory for return array
+ if not done by caller.
+ (__pack_s): New function.
+ * runtime/memory.c (internal_malloc, internal_malloc64): Allow
+ allocating zero memory.
+
+ PR fortran/17631
+ * Makefile.am (gfor_helper_src): Add intrinsics/mvbits.h.
+ * Makefile.in: Regenerate.
+ * intrinsics/mvbits.h: New file.
+
+ PR fortran/17776
+ * intrinsics/system.c: New file.
+ * Makefile.am: Add dependency for the new file.
+ * Makefile.in: Regenerate.
+
+2004-10-04 Paul Brook <paul@codesourcery.com>
+ Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/17706
+ PR fortran/16434
+ * io/format.c (parse_format_list): Set repeat count for S, SP, SS,
+ BN and BZ formats.
+ * io/write.c (output_float): Don't output minus zero.
+
+2004-10-03 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * intrinsics/abort.c ("libgfortran.h"): Move.
+ * intrinsics/date_and_time.c ("libgfortran.h"): Same.
+ * intrinsics/write.c ("libgfortran.h"): Same.
+
+2004-09-26 Tobias Schlueter <tobis.schlueter@physik.uni-muenchen.de>
+
+ PR libfortran/16137
+ * config.h.in (HAVE_POWF): Undefine.
+ * configure.ac: Check for 'powf' in library.
+ * configure: Regenerate.
+ * intrinsics/c99_functions.c (powf): New function.
+
+2004-09-24 Tobias Schlueter <tobis.schlueter@physik.uni-muenchen.de>
+
+ * intrinsics/etime.c (etime_): New function.
+
+2004-09-21 Steven G. Kargl <kargls@comcast.net>
+
+ * libgfortran.h: define gfc_alloca()
+ * intrinsics/env.c (getenv, get_environment_variable_i4): Use it.
+
+2004-09-21 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/17286
+ * io/list_read.c (namelist_read): ignore spaces after
+ the '=' for namelist reads.
+
+2004-09-15 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac (AC_CHECK_HEADERS): Check for sys/mman.h.
+ * unix.c: Include stdio.h.
+ (HAVE_SYS_MMAN_H): Check.
+ (PROT_READ, PROT_WRITE): Provide default definitions.
+
+2004-09-15 Steven G. Kargl <kargls@comcast.net>
+
+ * intrincics/getcwd.c: New file.
+ * Makefile.am: Add getcwd.c.
+ * Makefile.in: Regenerated.
+
+2004-09-15 Steven G. Kargl <kargls@comcast.net>
+ Paul Brook <paul@codesourcery.com>
+
+ * intrinsics/env.c (getenv, get_environmental_variable): Remove
+ trailing white space. Use alloca. Honour trim_name.
+
+2004-09-13 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/17090
+
+ * io/list_read.c (list_formatted_read): Handle trailing spaces
+ at end of line.
+
+2004-09-06 Steven G. Kargl <kargls@comcast.net>
+
+ * io/write.c (output_float): Typo in comment. Remove debugging
+ printf. Fix format for FP of form 1e10.
+
+2004-09-03 Richard Henderson <rth@redhat.com>
+
+ * intrinsics/cshift0.c (DEF_COPY_LOOP, copy_loop_int, copy_loop_long,
+ copy_loop_double, copy_loop_ldouble): New.
+ (__cshift0): Make shift type ssize_t. Use % operator instead of
+ div. Use specialized versions of copy loop depending on the shape.
+
+2004-09-02 Paul Brook <paul@codesourcery.com>
+
+ * io/format.c (parse_format_list): Set repeat count for P descriptors.
+ * write.c (output_float): Fix condition. Correctly handle nonzero
+ scale factor.
+
+2004-09-01 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * mk-sik-inc.sh: Use a temporary string instead of 'echo -n'.
+ * mk-srk-inc.sh: Likewise.
+
+2004-09-01 Paul Brook <paul@codesourcery.com>
+
+ * runtime/error.c (generate_error): Set both iostat and
+ library_return.
+
+2004-08-31 Paul Brook <paul@codesourcery.com>
+
+ PR libfortran/16805
+ * io/list_read.c (next_char): Don't signal EOF for internal files.
+ * io/unix.c (mem_alloc_r_at): Don't return NULL for incomplete reads.
+
+2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * io/unit.c: Separate copyright years by ','.
+ (compare, insert_unit, delete_unit, is_internal_unit, close_units):
+ Remove blank line in beginning of function.
+ (get_unit): Simplify code.
+
+2004-08-31 Paul Brook <paul@codesourcery.com>
+
+ * io/unit.c (get_unit): Remove superfluous if.
+
+2004-08-31 Paul Brook <paul@codesourcery.com>
+
+ * io/transfer.c (read_sf): Rename uinty to readlen. Detect EOF.
+ (finalize_transfer): Move setjmp after namlist IO.
+ * io/unix.c (mem_alloc_r_at): Calculate remaining length correctly.
+
+2004-08-31 Paul Brook <paul@codesourcery.com>
+
+ * list_read.c (eat_separator): Set at_eo when a '/' is seen.
+
+2004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * libgfortran.h: Replace 'gfc_strlen_type' by
+ 'gfc_charlen_type'. Update comment accordingly.
+ * intrinsics/args.c, intrinsics/env.c, io/io.h, io/transfer.c:
+ Replace all occurences of 'gfc_strlen_type' by 'gfc_charlen_type'.
+
+2004-08-31 Paul Brook <paul@codesourcery.com>
+
+ * libgfortran.h: Add comments.
+
+2004-08-30 Richard Henderson <rth@redhat.com>
+
+ * Makefile.am (gfor_helper_src): Split selected_kind.f90.
+ (gfor_built_src): Add selected_int_kind.inc selected_real_kind.inc.
+ (selected_int_kind.inc selected_real_kind.inc): New rules.
+ * Makefile.in: Regenerate.
+ * mk-sik-inc.sh, mk-srk-inc.sh: New files.
+ * intrinsics/selected_int_kind.f90: Split from selected_kind.f90,
+ include table of detected kinds.
+ * intrinsics/selected_real_kind.f90: Similarly.
+
+2004-08-29 Steven G. Kargl <kargls@comcast.net>
+ Paul Brook <paul@codesourcery.com>
+
+ * intrinsics/bessel.c: New file.
+ * intrinsics/erf.c: New file.
+ * Makefie.am: Add intrinsics/bessel.c and intrinsics/erf.c.
+ * configure.ac: Test for C99 Bessel and Error functions.
+ * Makefile.in: Regenerate.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+
+2004-08-29 Steven G. Kargl <kargls@comcast.net>
+ Paul Brook <paul@codesourcery.com>
+
+ * Makefile.am: Add intrinsics/getXid.c.
+ * configure.ac: Add tests for get{g,p,u}id.
+ * config.h.in: Regenerate.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+
+2004-08-28 Paul Brook <paul@codesourcery.com>
+
+ PR libfortran/17195
+ * libgfortran.h (rtoa): Remove prototype.
+ * runtime/error.c (rtoa): Remove.
+ * io/write.c (calculate_G_format): Don't add blanks if E format is
+ used. Add correct number of blanks when exponent width is specified.
+ (output_float): Rewrite.
+
+2004-08-27 Paul Brook <paul@codesourcery.com>
+
+ * io/rewind.c (st_rewind): Reset unit to read mode.
+
+2004-08-27 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/16597
+ * io/io.h: created typedef for unit_mode.
+ * io/io.h (gfc_unit): added mode to unit structure.
+ * io/transfer.c (data_transfer_init): flush if a write then
+ read is done on a unit (direct access files).
+ * io/rewind.c (st_rewind): Used unit mode instead of global.
+
+2004-08-24 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/17143
+ * runtime/error.c (itoa): keep from overflowing during
+ mod operation by using unsigned variable.
+
+2004-08-24 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/17164
+ * runtime/string_intrinsics.c (string_index):check for
+ substring longer than string.
+
+2004-08-24 David Edelsohn <edelsohn@gnu.org>
+
+ * Makefile.am (libgfortran_la_LDFLAGS): Add -lm.
+ * Makefile.in: Rebuilt.
+
+2004-08-23 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * io/io.h, io/list_read.c, io/open.c, io/transfer.c, io/write.c:
+ Fix formatting issues, update copyright years.
+
+2004-08-21 Bud Davis <bdavis9659@comcast.net>
+
+ PR 16908
+ * io/transfer.c (next_record_w): Do not blank pad.
+ * io/transfer.c (next_record): Take into account partial records.
+
+2004-08-18 Victor Leikehman <lei@il.ibm.com>
+
+ PR fortran/13278
+ * io/transfer.c (st_set_nml_var)
+ * io/write.c (namelist_write): Allow var_name and var_name_len to be
+ null. For strings, use string_length field instead of len.
+ * io/io.h (struct namelist_type): New field string_length.
+ (st_set_nml_var_char): New argument string_length.
+
+2004-08-13 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/16935
+ * io/open.c (st_open): use flags instead of the unit structure.
+
+2004-08-10 Victor Leikehman <lei@il.ibm.com>
+
+ * io/list_read.c (namelist_read): Convert variable names
+ to lower case, so that mixed-case names are recognized.
+ Don't read beyond terminating slash.
+
+2004-08-09 Richard Henderson <rth@redhat.com>
+ Roger Sayle <roger@eyesopen.com>
+
+ * intrinsics/c99_functions.c (nextafterf): New implementation that
+ works correctly with denormalized numbers.
+
+2004-08-09 Victor Leikehman <lei@il.ibm.com>
+
+ * m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c,
+ intrinsics/eoshift2.c, intrinsics/transpose_generic.c:
+ Allocate space if return value has NULL in its data field.
+ * generated/*.c: Regenerate.
+
+2004-08-06 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ * intrinsics/env.c: New file.
+ * Makefile.am: Add env.c to build.
+ * Makefile.in: Regenerate.
+
+2004-08-05 Victor Leikehman <lei@il.ibm.com>
+
+ PR libgfortran/16704
+ * io/read.c (read_radix): Understand letters f and F as hex digits.
+
+2004-08-04 Victor Leikehman <lei@il.ibm.com>
+
+ * libgfortran.h (array_t, size0) New declarations.
+ * m4/ifunction.m4, m4/transpose.m4, intrinsics/cshift0.c: Allocate
+ space if return value descriptor has NULL in its data field,
+ and initialize bounds and stride.
+ * intrinsics/size.c (array_t, size0): Declarations moved to
+ libgfortran.h.
+ * generated/*.c: Regenerate.
+
+2004-08-03 Roger Sayle <roger@eyesopen.com>
+
+ PR libgfortran/16137
+ * configure.ac: Add tests for acosf, asinf, atan2f, atanf, ceilf,
+ copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
+ scalbnf, sinf, sinhf, sqrtf, tanf and tanhf in libm.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+
+ * instrinsics/c99_functions.c (acosf, asinf, atan2f, atanf, ceilf,
+ copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
+ nextafterf, scalbnf, sinf, sinhf, sqrtf, tanf, tanhf): New stub
+ implementations for targets that don't support C99 float functions.
+
+2004-08-01 Roger Sayle <roger@eyesopen.com>
+
+ * io/write.c (write_float): Use the slightly more portable isnan
+ in preference to isinf.
+
+2004-07-18 Bud Davis <bdavis9659@comcast.net>
+
+ * configure.ac: Add check for LFS support.
+ * configure: Regenerate
+
+2004-07-11 Paul Brook <paul@codesourcery.com>
+
+ PR fortran/16303
+ * m4/cexp.m4 (carg): Return -pi to pi.
+ * generated/exp_c?.c: Regenerate.
+
+2004-07-08 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ PR fortran/16291
+ * libgfortran/io/write.c: (write_float): Added length check.
+ Remove pointless memset calls.
+
+2004-07-04 Bud Davis <bdavis9659@comcast.net>
+ Paul Brook <paul@codesourcery.com>
+
+ PR fortran/15472
+ * io/transfer.c(us_write): set recl for seq unform writes to max size.
+ * io/transfer.c(data_transfer_init): handle un-opened seq unform unit.
+ * io/unix.c(fd_alloc_w_at): handle requests at start, fd_flush at
+ right time.
+ * io/unix.c(is_seekable): set based upon the file/device, not the
+ method being used to access it (fd or mmap).
+ * io/unix.c(fd_flush): don't set file_size if !seekable.
+ * io/unix.c(fd_truncate: ditto.
+
+2004-07-04 Janne Blomqvist <jblomqvi@cc.hut.fi>
+ Paul Brook <paul@codesourcery.com>
+
+ PR fortran/15280
+ PR fortran/15665
+ * libgfortran.h (gfc_strlen_type): Define.
+ * intrinsics/args.c (getarg): Rename ...
+ (getarg_i4): ... to this.
+ (getarg_i8, get_command_argument_i4, get_command_argument_i8,
+ get_command_i4, get_command_i8): New functions.
+
+2004-07-04 Matthias Klose <doko@debian.org>
+
+ * libtool-version: New.
+ * Makefile.am (libgfortran_la_LDFLAGS): Use -version-info for soname.
+ * Makefile.in: Regenerate.
+ * configure.ac: Remove libtool_VERSION macro
+ * configure: Regenerate
+
+2004-06-30 Steve Kargl <sgk@troutmask.apl.washington.edu>
+ Steven Bosscher <stevenb@suse.de>
+
+ * intrinsics/rand.c (rand): Wrap the irand() call from the previous
+ commit in prefix.
+
+2004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+ Paul Brook <paul@codesourcery.com>
+
+ * runtime/normalize.c (normalize_r4_i4, normalize_r8_i8): Fix
+ comments.
+ * intrinsics/rand.c (rand): Call irand() in call to normalize_r4_i4.
+
+2004-06-27 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/12839
+ * io/write.c (write_float): check signbit for Infinity.
+
+2004-06-26 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/16196
+ * unix.c(regular_file): create file if it does not exist.
+
+2004-06-24 Andrew Pinski <apinski@apple.com>
+
+ * configure.ac: Remove check for libmx.
+ * configure: Regenerate.
+
+2004-06-22 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ PR fortran/15750
+ * inquire.c (st_inquire): Add comment
+ * io.h (st_parameter): Add iolength.
+ (st_iolength, st_iolength_done): Declare.
+ * transfer.c (iolength_transfer, iolength_transfer_init,
+ st_iolength, st_iolength_done): New functions.
+
+2004-06-21 Steven G. Kargl <kargls@comcast.net>
+
+ * etime.c (etime_sub): Remove array rank check;
+ Add check for sufficient space.
+
+2004-06-19 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/16080
+ * io/list_read.c(set_value): fixed spelling.
+
+2004-06-19 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/16080
+ * io/list_read.c(set_value): don't copy if the string is null.
+
+2004-06-14 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/15292
+ * intrinsics/c99_functions.c: Use fpclassify if it exists.
+
+2004-06-13 Paul Brook <paul@codesourcery.com>
+
+ * Makefile.am (gfor_helper_src): Add runtime/normalize.f90.
+ * configure.ac: Add checks for nextafter and nextafterf.
+ * Makefile.in, config.h.in, configure: Regenerate.
+ * libgfortran.h (normalize_r4_i4, normalize_r8_i8): Declare.
+ * intrinsics/rand.c (rand): Use normalize_r4_i4.
+ * intrinsics/random.c (random_r4): Use normalize_r4_i4.
+ (random_r8): Use normalize_r8_i8.
+ * runtime/normalize.c: New file.
+
+2004-06-13 Steven G. Kargl <kargls@comcast.net>
+ Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * random.c: Fix several spelling and formatting mistakes in
+ comments.
+ (random_r8): Fix loop to make random numbers range in [0,1(.
+
+
+2004-06-13 Steven G. Kargl <kargls@comcast.net>
+
+ * random.c (random_r4): Burn a random number.
+ (random_r8): fix infinite loop.
+
+2004-06-12 Bud Davis <bdavis9659@comcast.net>
+ Steve Kargl <sgk@troutmask.apl.washington.edu>
+
+ PR gfortran/15292
+ * intrinsics/c99_functions.c: New file.
+ * Makefile.am: Add new file.
+ * configure.ac: Added test for round/roundf.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+ * configure.h.in: Regenerate.
+
+2004-06-12 Steven G. Kargl <kargls@comcast.net>
+
+ * Makefile.am: Add rand.c and etime.c
+ * Makefile.in: Regenerated.
+ * aclocal.in: Regenerated.
+ * cpu_time.c (second_sub, second): New functions.
+ * rand.c (irand, rand, srand): New file.
+ * etime.c (etime_sub, etime): New file.
+
+2004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+ Steven Bosscher <stevenb@suse.de>
+
+ PR fortran/14923
+ * intrinsics/date_and_time.c: New file.
+ * Makefile.am (gfor_helper_src): Add intrinsics/date_and_time.c.
+ * Makefile.in, aclocal.m4: Regenerate.
+ * libgfortran.h: Prototype date_and_time().
+
+2004-06-12 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/15665
+ * intrinsics/args.c: Implement GETARG and IARGC.
+ * Makefile.am: Add it.
+ * Makefile.in: Regenerate.
+
+2004-06-12 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/12839
+ * io/write.c(write_float): Format inf and nan IAW F2003.
+
+2004-06-09 Bud Davis <bdavis9659@comcaste.net>
+
+ PR gfortran/14897
+ * io/transfer.c (formatted_transfer): position is unique
+ for T and TL edit descriptors.
+ (data_transfer_init): set record length to size of internal
+ file.
+
+2004-06-09 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/15755
+ * io/backspace.c(st_backspace): call correct routine for
+ formatted and un-formatted units.
+
+2004-05-30 Andreas Jaeger <aj@suse.de>, Steven Bosscher <stevenb@suse.de>
+
+ PR gfortran/11800
+ * Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
+ (lib_LTLIBRARIES): Rename to ...
+ (toolexeclib_LTLIBRARIES): this for multilib support.
+ * configure.in: Rename to ...
+ * configure.ac: this. Update to modern autoconf style, enable
+ multilibs, support --enable-version-specific-runtime-libs.
+ * Makefile.in: Regenerated.
+ * configure: Regenerated.
+ * aclocal.m4: Regenerated.
+
+2004-05-30 Steven G. Kargl <kargls@comcast.net>
+
+ * libgfortran.h (random_seed): Update prototype.
+ * intrinsics/random.c: Disable old implementation and add new one.
+
+2004-05-30 Andreas Jaeger <aj@suse.de>
+
+ * intrinsics/random.c: Include unistd.h for close and read
+ prototypes, remove unneeded inclusion of assert.h.
+
+ * intrinsics/abort.c: Include stdlib.h for abort prototype, remove
+ unneeded inclusion of assert.h.
+
+2004-05-27 Tobias Schlueter <tobias.shclueter@physik.uni-muenchen.de>
+
+ PR fortran/15234
+ * intrinsics/associated.c: Remove enum.
+ (associated): Replace TRUE/FALSE by 1/0.
+
+2004-05-23 Steven G. Kargl <kargls@comcast.net>
+
+ * random.c (random_seed): Use correct variable.
+
+2004-05-22 Steven G. Kargl <kargls@comcast.net>
+
+ * intrinsics/system_clock: New file.
+ * Makefile.am: Add intrinsics/system_clock.c.
+ * Makefile.in: Regenerate.
+
+2004-05-21 Roger Sayle <roger@eyesopen.com>
+
+ * io/format.c (parse_format_list): Allow the comma after a string
+ literal to be optional.
+
+2004-05-18 Paul Brook <paul@codesourcery.com>
+ Feng Wang <fengwang@nudt.edu.cn>
+
+ * Makefile.am (i_pow_c): Set it. Add build rule.
+ (gfor_built_src): Use it.
+ (m4_files): add m4/pow.m4.
+ * Makefile.in: Regenerate.
+ * m4/pow.m4: New file.
+ * generated/pow_*.c: Regenerate.
+
+2004-05-18 Paul Brook <paul@codesourcery.com>
+
+ * Makefile.am: Remove references to types.m4.
+ * m4/iparm.m4: Merge with types.m4.
+ * m4/types.m4: Remove.
+ * m4/cshift1.m4, m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4,
+ m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, m4/ifunction.m4,
+ m4/in_pack.m4, m4/in_unpack.m4, m4/iparm.m4, m4/matmul.m4,
+ m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, m4/maxval.m4,
+ m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/reshape.m4,
+ m4/shape.m4, m4/specific.m4, m4/specific2.m4, m4/transpose.m4):
+ Update to use new iparm.m4.
+ * generated/*.c: Regenerate.
+
+2004-05-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/15235
+ * gfortran.h (offset_t): Rename to ...
+ (gfc_offset): ... this.
+ * io/backspace.c (formatted_backspace, unformatted_backspace),
+ io/io.h (stream, gfc_unit, global_t, file_length, file_position),
+ transfer.c (us_read, us_write, next_record_r, next_record_w),
+ io/unit.c (init_units), unix.c (unix_stream, fd_alloc,
+ fd_alloc_r_at, fd_alloc_w_at, fd_seek, mmap_alloc,
+ mmap_alloc_r_at, mmap_alloc_w_at, mmap_seek, mem_alloc_r_at,
+ mem_alloc_w_at, mem_seek, file_length, file_position): Replace all
+ occurences of offset_t by gfc_offset.
+
+2004-05-16 Paul Brook <paul@codesourcery.com>
+
+ * io/format.c (write_real): Don't include padding in format.
+
+2004-05-16 Paul Brook <paul@codesourcery.com>
+
+ * io/format.c (format_lex): Make c an int.
+
+2004-05-16 Janne Blomqvist <jblomqvi@cc.hut.fi>
+ Paul Brook <paul@codesourcery.com>
+
+ * io/write.c (write_logical): Don't print extra blank.
+ (write_integer): Base field width on kind.
+ (list_formatted_write): Output initial blank.
+
+2004-05-16 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ * io/io.h (flush): Add prototype.
+ * io/transfer.c (finalize_transfer): Flush partial records.
+ * io/unix.c (flush): New function.
+
+2004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/15234
+ * io/io.h (unit_t): Rename to ...
+ (gfc_unit) ... this.
+ (unit_root, current_unit, find_file, find_unit, get_unit): Now
+ of type gfc_unit.
+ (delete_file, insert_unit, close_unit): Argument now of type
+ gfc_unit.
+ * backspace.c (st_backspace), close.c (st_close), endfile.c
+ (st_endfile), inquire.c (inquire_via_unit, st_inquire), open.c
+ (test_endfile, edit_modes, new_unit, already_open, st_open),
+ rewind.c (st_rewind), transfer.c (current_unit), unit.c
+ (internal_unit, unit_cache, rotate_left, rotate_right, insert,
+ insert_unit, delete_root, delete_treap, delete_unit, find_unit,
+ get_unit, init_units, close_unit), unix.c (find_file0,
+ find_file, delete_file): Replace all occurences of unit_t by
+ gfc_unit.
+
+2004-05-15 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/15311
+ * io/write.c (write_a): right justify A edit output.
+
+2004-05-14 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/15149
+ * libgfortan.h,intrinsics/random.c: Made random_seed visible.
+ * runtime/main.c(init): Call random_seed as part of MAIN init.
+
+2004-05-13 Tobias Schlter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * io/format.c: (parse_format_list): No comma is required after
+ P descriptor.
+
+2004-05-13 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/15204
+ * io/intrinsic/string_intrinsics.c (adjustr): rework logic.
+
+2004-05-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+ Steven Bosscher <stevenb@suse.de>
+
+ PR libfortran/15234
+ * libgfortran.h: Include <inttypes.h> if available.
+
+2004-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * io/unix.c (MAP_FAILED): Define if missing.
+ (mmap_alloc): Cast MAP_FAILED to char *.
+ (mmap_open): Likewise.
+
+2004-04-26 Bud Davis <bdavis9659@comcast.net>
+
+ * generated/_abs_i8.f90: New file.
+ * generated/_abs_c4.f90: New file.
+ * generated/_abs_c8.f90: New file.
+ * Makefile.am: Add them.
+ * Makefile.in: Regenerate.
+`
+2004-04-26 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/14056
+ * generated/_abs_i4.f90: New file.
+ * Makefile.am: Add it.
+ * Makefile.in: Regenerate.
+
+2004-04-25 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/14942
+ * io/list_read.c(list_formatted_read): finish consuming the
+ spaces and seperators at eoln to get ready for next item.
+
+2004-04-23 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/15113
+ * io/read.c(read_a): Handle field width > destination and no field width.
+
+2004-04-22 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/14906
+ * io/format.c (format_item): gracefully handle a ')'
+ when it is the first character encountered in the string.
+
+2004-04-11 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/14904
+ * io/transfer.c (next_record): Update last_record when
+ more than one record is written to a direct access file
+ with one write statement.
+
+2004-04-11 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/14901
+ * io/transfer.c (next_record_w) : No '\n' if internal.
+ * io/unix.c (empty_internal_buffer) : Init to spaces, not '\n'.
+
+2004-04-11 Bud Davis <bdavis9659@comcast.net>
+
+ * io.h (ioparm): Interface from FE is 32 bit, irregardless of offset_t.
+ Will need to change this later to support direct access files > 2gb.
+
+2004-04-03 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/14762
+ * io/transfer.c (next_record_r) : Skip to next record.
+
+2004-04-03 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/14836
+ * io/transfer.c (next_record): Update last_record for DIRECT
+
+2004-04-03 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/14837
+ * io/unix.c (find_file0): Use fd field of struct
+
+2004-04-03 Bud Davis <bdavis9659@comcast.net>
+
+ PR 14831
+ * io/inquire.c (inquire_via_unit): Changed return string for
+ BLANK=NULL. Use correct variable for ACTION.
+
+2004-04-01 Bud Davis <bdavis9659@comcast.net>
+
+ PR 14746
+ * io/read.c (read_f): Allow a decimal without a leading digit.
+ * io/write.c (output_float): remove a leading '0' to keep from
+ overflowing the field (F edit descriptor).
+
+2004-04-01 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/14565
+ * io/open.c (new_unit),
+ * io/io.h : new_unit is now visible
+ * io/transfer.c (data_transfer_init): open unit if no OPEN statement.
+ * io/transfer.c (data_transfer_init): remove compile warnings.
+ * io/rewind.c (st_rewind): ftruncate if writing.
+
+2004-03-24 Bud Davis <bdavis9659@comcast.net>
+
+ * write.c (write_l): Use extract_int for 'L' edit descriptor.
+
+2004-03-24 Bud Davis <bdavis9659@comcast.net>
+
+ PR 13919
+ * io/io.h (global_t):
+ * io/list_read.c (next_char,list_formatted_read,ist_formatted_read):
+ Move eof_jmp to a global structure.
+ * io/transfer.c(finalize_transfer) : Set up eof_jump for callers.
+
+2004-03-24 Bud Davis <bdavis9659@comcast.net>
+
+ * m4/cexp.m4 (csqrt): Actually use the passed value.
+ * generated/exp_c?.c: Regenerate.
+
+2004-03-24 Bud Davis <bdavis9659@comcast.net>
+
+ PR 12921
+ * io.h, transfer.c, open.c : recl_in changed from ptr to variable.
+ * open.c (new_unit): Moved test for positioned direct access error.
+ (init_units): Corrected calculation of max records.
+
+2004-02-06 Feng Wang <fengwang@nudt.edu.cn>
+
+ * Makefile.am: Add m4/dotprodc.m4. And fix spelling.
+ * Makefile.in: Regenerate.
+ * m4/dotprodc.m4: New file. Implement complex dot_product.
+ * m4/dotprod.m4: Delete the complex implementation.
+ * generated/dotprod_*: Update.
+
+2004-02-07 Bud Davis <bdavis9659@comcast.net>
+
+ * transfer.c (write_constant_string): Do not delete H's in hollerith
+ formats.
+
+2004-01-05 Andrew Pinski <apinski@apple.com>
+
+ * configure.in: Check for csin in -lmx also.
+ * configure: Regenerate.
+
+2004-01-01 Paul Brook <paul@codesourcery.com>
+
+ * io/list_read.c (find_nml_node): Make static.
+ (match_namelist_name): Ditto.
+ * io/read.c (convert_precision_real): Make static, fix spelling.
+ * io/transfer.c (extract_real): Remove unused prototype.
+ (st_set_nml_var): Make static.
+ * io/write.c (extract_real): Make static.
diff --git a/libgfortran/ChangeLog-2005 b/libgfortran/ChangeLog-2005
new file mode 100644
index 00000000000..56390fa5a65
--- /dev/null
+++ b/libgfortran/ChangeLog-2005
@@ -0,0 +1,2915 @@
+2005-12-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/25594
+ PR libgfortran/25419
+ * io/list_read.c (list_formatted_read_scalar): Test for comma to return
+ a null value (default). Revert patch of 25419 on 2005-12-28.
+
+2005-12-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/25139
+ * io/unix.c (fd_truncate): Set s->active to zero.
+ PR libgfortran/25510
+ * libgfortran.h: Add ERROR_INTERNAL and ERROR_INTERNAL_UNIT.
+ * runtime/error.c (translate_error): Add messages for new errors.
+ * io/list_read.c (next_char): Use new errors.
+ * io/transfer.c (next_record_r) (next_record_w): Use new errors.
+
+2005-12-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/25550
+ * io/file_pos.c (st_rewind): Reset bytes left so no error occurs in
+ next_record_r.
+
+2005-12-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/25419
+ * io/list_read.c (list_formatted_read_scalar): Allow comma to return a
+ null value (default).
+
+2005-12-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/25307
+ * io/list_read.c (next_char): Handle end-of-file conditions for
+ internal units and add support for internal character array units.
+
+2005-12-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/25463
+ * io/transfer.c (finalize_transfer): Fix execution order so that
+ next_record is set to zero in all cases.
+
+2005-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/25264
+ PR libgfortran/25349
+ * io/unit.c (get_unit): Delete code that cleared the string when the
+ unit was opened, which is too soon.
+ * io/transfer.c (next_record_w): Pass done flag in. Change logic for
+ setting max_pos. Add code to position unit and pad record as needed.
+
+2005-12-13 Richard Sandiford <richard@codesourcery.com>
+ Victor Leikehman <LEI@il.ibm.com>
+
+ * m4/matmul.m4: Use a different order in the special case of a
+ transposed first argument.
+ * generated/matmul_c4.c, generated/matmul_c8.c, generated/matmul_c10.c,
+ * generated/matmul_c16.c, generated/matmul_i4.c, generated/matmul_i8.c,
+ * generated/matmul_i10.c, generated/matmul_r4.c, generated/matmul_r8.c
+ * generated/matmul_r10.c, generated/matmul_r16.c: Regenerated.
+
+2005-12-10 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * Makefile.am: Enable loop unrolling for matmul.
+ * configure: Regenerated.
+ * Makefile.in: Regenerated.
+ * aclocal.m4: Regenerated.
+
+2005-12-10 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR fortran/23815
+ * io/file_pos.c (unformatted_backspace): If flags.convert
+ does not equal CONVERT_NATIVE, reverse the record marker.
+ * io/open.c: Add convert_opt[].
+ (st_open): If no convert option is given, set CONVERT_NATIVE.
+ If CONVERT_BIG or CONVERT_LITTLE are given, set flags.convert to
+ CONVERT_NATIVE or CONVERT_SWAP (depending on wether we have
+ a big- or little-endian system).
+ * io/transfer.c (unformatted_read): Remove unused attribute
+ from arguments.
+ If we need to reverse
+ bytes, break up large transfers into a loop. Split complex
+ numbers into its two parts.
+ (unformatted_write): Likewise.
+ (us_read): If flags.convert does not equal CONVERT_NATIVE,
+ reverse the record marker.
+ (next_record_w): Likewise.
+ (reverse_memcpy): New function.
+ * io/inquire.c (inquire_via_unit): Implement convert.
+ * io/io.h (top level): Add enum unit_convert.
+ Add convert to st_parameter_open and st_parameter_inquire.
+ Define IOPARM_OPEN_HAS_CONVERT and IOPARM_INQUIRE_HAS_CONVERT.
+ Increase padding for st_parameter_dt.
+ Declare reverse_memcpy().
+
+2005-12-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR libfortran/24991
+ * acinclude.m4: Include acx.m4 and no-executables.m4.
+ * configure.ac: Add GCC_TOPLEVEL_SUBDIRS.
+ * configure: Rebuilt.
+ * Makefile.am (AM_CPPFLAGS): Use $(host_subdir) in build dir
+ path.
+ * Makefile.in: Rebuilt.
+
+2005-12-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/25039
+ * io/io.h: Create a new flag sf_read_comma to control comma
+ separators in numeric reads.
+ * io/transfer.c (formatted_transfer_scalar): Initialize the flag.
+ (read_sf): Check for commas coming in and if the flag is set,
+ shortcut the read.
+ * io/read.c (read_a) (read_x): Clear the flag for character reads and
+ reset it after the reads.
+
+2005-12-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * io/format.c: Removing unused code.
+ * intrinsics/random.c: Likewise.
+
+2005-12-02 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/25116
+ * io/transfer.c (data_transfer_init): Don't set the default for
+ namelist I/O on preconnected files to UNFORMATTED.
+
+2005-11-30 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * libgfortran.h (ILP32 typedefs): Define _UINT8_T, _UINT32_T and
+ _UINT64_T on Solaris.
+
+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-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR libfortran/24991
+ * acinclude.m4 (LIBGFOR_CHECK_PRAGMA_WEAK): Rename to...
+ (LIBGFOR_GTHREAD_WEAK): ... this. Define SUPPORTS_WEAK rather
+ than HAVE_PRAGMA_WEAK. Define GTHREAD_USE_WEAK to 0 on hosts
+ that shouldn't use weak in gthr.h.
+ * configure.ac: Use LIBGFOR_GTHREAD_WEAK instead of
+ LIBGFOR_CHECK_PRAGMA_WEAK.
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+ * io/io.h (SUPPORTS_WEAK): Don't define here.
+
+ * intrinsics/ftell.c (ftell, FTELL_SUB): Add unlock_unit call.
+ * intrinsics/fget.c (fgetc, fputs): Likewise.
+ * intrinsics/tty.c (ttynam): Likewise.
+
+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-27 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * m4/ifunction.m4: Add const restrict to function arguments.
+ * m4/iforeach.m4: Likewise.
+ * m4/eoshift1.m4: Likewise.
+ * m4/eoshift3.m4: Likewise.
+ * m4/dotprod.m4: Likewise.
+ * m4/dotprodc.m4: Likewise.
+ * m4/dotprodl.m4: Likewise.
+ * m4/shape.m4: Likewise.
+ * m4/cshift1.m4: Likewise.
+ * m4/reshape.m4: Likewise.
+ * m4/transpose.m4: Likewise.
+ * generated/eoshift*: Regenerated
+ * generated/dotprod*: Likewise.
+ * generated/shape*: Likewise.
+ * generated/cshift1*: Likewise.
+ * generated/reshape*: Likewise.
+ * generated/transpose*: Likewise.
+
+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
+ there. glibc PR is 1146.
+
+2005-10-07 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ PR fortran/16339
+ PR fortran/23363
+ * io/io.h: Add read and write members to stream, define access
+ macros.
+ * io/transfer.c (read_block_direct): New function.
+ (write_block_direct): New function.
+ (unformatted_read): Change to use read_block_direct.
+ (unformatted_write): Change to use write_block_direct.
+ * io/unix.c: Remove mmap includes and defines.
+ (writen): Remove.
+ (readn): Remove.
+ (reset_stream): New function.
+ (do_read): New function.
+ (do_write): New function.
+ (fd_flush): Change to use do_write() instead of writen().
+ (fd_alloc_r_at): Change to use do_read().
+ (fd_seek): Change return type to try, as the prototype. Add check
+ to avoid syscall overhead if possible.
+ (fd_read): New function.
+ (fd_write): New function.
+ (fd_open): Set pointers for new functions.
+ (mem_read): New function.
+ (mem_write): New function.
+ (open_internal): Set pointers for new functions.
+ (is_seekable): Clean up comment.
+
+2005-10-07 Jerry DeLisle <jvdelisle@verizon.net>
+
+ * io/transfer.c (write_block): Add test for end-of-file condition,
+ removed from mem_alloc_w_at. (next_record_w): Clean up checks for
+ NULL pointer returns from s_alloc_w.
+ * 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.
+
+2005-10-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/19308
+ PR libfortran/22437
+ * Makefile.am: Add generated files for large real and integers
+ kinds. Add a rule to create the kinds.inc c99_protos.inc files.
+ Use kinds.inc to preprocess Fortran generated files.
+ * libgfortran.h: Add macro definitions for GFC_INTEGER_16_HUGE,
+ GFC_REAL_10_HUGE and GFC_REAL_16_HUGE. Add types gfc_array_i16,
+ gfc_array_r10, gfc_array_r16, gfc_array_c10, gfc_array_c16,
+ gfc_array_l16.
+ * mk-kinds-h.sh: Define macros HAVE_GFC_LOGICAL_* and
+ HAVE_GFC_COMPLEX_* when these types are available.
+ * intrinsics/ishftc.c (ishftc16): New function for GFC_INTEGER_16.
+ * m4/all.m4, m4/any.m4, m4/count.m4, m4/cshift1.m4, m4/dotprod.m4,
+ m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
+ m4/exponent.m4, m4/fraction.m4, m4/in_pack.m4, m4/in_unpack.m4,
+ m4/matmul.m4, m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4,
+ m4/maxval.m4, m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/mtype.m4,
+ m4/nearest.m4, m4/pow.m4, m4/product.m4, m4/reshape.m4,
+ m4/set_exponent.m4, m4/shape.m4, m4/specific.m4, m4/specific2.m4,
+ m4/sum.m4, m4/transpose.m4: Protect generated functions with
+ appropriate "#if defined (HAVE_GFC_type_kind)" preprocessor directives.
+ * Makefile.in: Regenerate.
+ * all files in generated/: Regenerate.
+
+2005-10-01 Jakub Jelinek <jakub@redhat.com>
+
+ * runtime/memory.c (malloc_t): Remove.
+ (GFC_MALLOC_MAGIC, HEADER_SIZE, DATA_POINTER, DATA_HEADER): Remove.
+ (mem_root, runtime_cleanup, malloc_with_header): Remove.
+ (internal_malloc_size): Use just get_mem if size != 0, return NULL
+ otherwise.
+ (internal_free): Just free if non-NULL.
+ (internal_realloc_size): Remove debugging stuff.
+ (allocate_size): Use malloc directly, remove debugging stuff.
+ (deallocate): Use free directly, fix error message wording.
+
+ * libgfortran.h (GFC_ITOA_BUF_SIZE, GFC_XTOA_BUF_SIZE,
+ GFC_OTOA_BUF_SIZE, GFC_BTOA_BUF_SIZE): Define.
+ (gfc_itoa, xtoa): Add 2 extra arguments.
+ * runtime/environ.c: Include stdio.h.
+ (check_buffered): Use sprintf.
+ * runtime/error.c: Include assert.h.
+ (gfc_itoa, xtoa): Add 2 extra arguments, avoid using static
+ buffers.
+ (st_printf, st_sprintf): Adjust callers.
+ * io/write.c (otoa, btoa): Add 2 extra arguments, avoid using
+ static buffers.
+ (write_int, write_decimal): Add 2 extra arguments to conv
+ function pointer, adjust caller.
+ (write_integer): Adjust gfc_itoa caller.
+
+ * io/unit.c (get_array_unit_len): Return 0 rather than NULL.
+
+ * io/read.c (read_f): Remove spurious pointer dereference.
+
+2005-09-30 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ PR 24112
+ * io/open.c (edit_modes): Check for correct flag.
+
+2005-09-29 Jakub Jelinek <jakub@redhat.com>
+
+ * runtime/string.c (find_option): Change 3rd argument to
+ const st_option *.
+ * libgfortran.h (find_option): Likewise.
+ * runtime/environ.c (rounding, precision, signal_choices): Constify.
+ (init_choice, show_choice): Change 2nd argument to const choice *.
+ * io/open.c (access_opt, action_opt, blank_opt, delim_opt, form_opt,
+ position_opt, status_opt, pad_opt): Constify.
+ * io/transfer.c (advance_opt): Likewise.
+ * io/inquire.c (undefined): Likewise.
+ * io/close.c (status_opt): Likewise.
+ * io/format.c (posint_required, period_required, nonneg_required,
+ unexpected_element, unexpected_end, bad_string, bad_hollerith,
+ reversion_error): Likewise.
+ * io/unix.c (yes, no, unknown): Change from const char *
+ into const char [].
+
+2005-09-27 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/23552
+ * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): New.
+ (LIBGFOR_CHECK_FOR_BROKEN_ISNAN): New.
+ (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): New.
+ * configure.ac (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): Add use.
+ (LIBGFOR_CHECK_FOR_BROKEN_ISNAN): Add use.
+ (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): Add use.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+ * libgfortan.h (isfinite): undef if broken, set if needed.
+ (isnan): undef if broken, set if needed.
+ (fpclassify): undef if broken, set if needed.
+ * io/write.c: Remove TODO comment about working isfinite.
+ * intrinsics/c99_functions.c (round): Use isfinite instead
+ of fpclassify.
+ * intrinsics/c99_functions.c (roundf): Ditto.
+
+2005-09-24 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ * io.h: Changed prototypes of list_formatted_{read|write}.
+ * list_read.c (list_formatted_read): Renamed to
+ list_formatted_read_scalar and made static.
+ (list_formatted_read): New function.
+ * transfer.c: Prototype for transfer_array. Changed transfer
+ function pointer.
+ (unformatted_read): Add nelems argument, use it.
+ (unformatted_write): Likewise.
+ (formatted_transfer): Changed name to formatted_transfer_scalar.
+ (formatted_transfer): New function.
+ (transfer_integer): Add nelems argument to transfer call, move
+ updating item count to transfer functions.
+ (transfer_real): Likewise.
+ (transfer_logical): Likewise.
+ (transfer_character): Likewise.
+ (transfer_complex): Likewise.
+ (transfer_array): New function.
+ (data_transfer_init): Call formatted_transfer with new argument.
+ (iolength_transfer): New argument, use it.
+ * write.c (list_formatted_write): Renamed to
+ list_formatted_write_scalar, made static.
+ (list_formatted_write): New function.
+
+2005-09-26 David Edelsohn <edelsohn@gnu.org>
+
+ * configure.ac: Add check for __clog.
+ * configure: Regenerate.
+
+2005-09-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * c99_protos.h: Add prototypes for C99 complex functions.
+ * libgfortran.h: Include complex.h before c99_protos.h.
+ * intrinsics/c99_functions.c: Define HAVE_ macros for the
+ fallback functions we provide.
+ (cabsf, cabs, cabsl, cargf, carg, cargl, cexpf, cexp, cexpl,
+ clogf, clog, clogl, clog10f, clog10, clog10l, cpowf, cpow, cpowl,
+ cqsrtf, csqrt, csqrtl, csinhf, csinh, csinhl, ccoshf, ccosh,
+ ccoshl, ctanhf, ctanh, ctanhl, csinf, csin, csinl, ccosf, ccos,
+ ccosl, ctanf, ctan, ctanl): New fallback functions.
+ * Makefile.am (gfor_math_trig_c, gfor_math_trig_obj,
+ gfor_specific_c, gfor_cmath_src, gfor_cmath_obj): Remove.
+ * Makefile.in: Regenerate.
+ * configure.ac: Remove checks for csin. Add checks for all C99
+ complex functions.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * aclocal.m4: Regenerate.
+
+2005-09-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+ Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR libfortran/23803
+ * intrinsics/getXid.c: Add getpid wrapper for MinGW.
+ * intrinsics/getlog.c: Add getlogin wrapper for MinGW.
+ * intrinsics/hostnm.c: Add gethostname wrapper for MinGW.
+
+2005-09-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/23802
+ * intrinsics/sleep.c: Add correct sleep macro for MinGW.
+
+2005-09-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/23380
+ * intrinsics/cpu_time.c (__cpu_time_1): Provide a MS Windows
+ version.
+
+2005-09-14 Jerry DeLisle <jvdelisle@verizon.net
+
+ PR fortran/21875 Internal Unit Array I/O, NIST
+ * libgfortran.h: Add run time error code for array stride.
+ * runtime/error.c (translate_error): Add error message for
+ array stride.
+ * io/io.h: Add array descriptor pointer to IOPARM structure.
+ Add prtotypes for two new functions.
+ * io/transfer.c (data_transfer_init): Removed initialization and
+ moved to unit.c (get_unit)
+ * io/transfer.c (next_record_r): Include internal unit read
+ functionality.
+ * io/transfer.c (next_record_w): Include internal unit write
+ functionality, including padding of character array records.
+ * io/unit.c (get_array_unit_len): New function to return the number
+ of records in the character array 'file' from the array descriptor.
+ * io/unit.c (get_unit): Gathered initialization code from
+ init_data_transfer for internal units and added initialization of
+ character array unit.
+ * io/unit.c (is_array_io): New function to determine if internal unit
+ is an array.
+ * io/unix.c (mem_alloc_w_at): Add error checks for bad record length
+ and end of file.
+
+2005-09-13 Richard Sandiford <richard@codesourcery.com>
+
+ PR target/19269
+ * intrinsics/cshift0.c (cshift0): Add an extra size argument.
+ (cshift0_1, cshift0_2, cshift0_4, cshift0_8): Replace explicit
+ implementations with...
+ (DEFINE_CSHIFT): ...this new macro. Define character versions too.
+ * intrinsics/eoshift0.c (zeros): Delete.
+ (eoshift0): Add extra size and filler arguments. Use memset if no
+ bound is provided.
+ (eoshift0_1, eoshift0_2, eoshift0_4, eoshift0_8): Replace explicit
+ implementations with...
+ (DEFINE_EOSHIFT): ...this new macro. Define character versions too.
+ * intrinsics/eoshift2.c (zeros): Delete.
+ (eoshift2): Add extra size and filler arguments. Use memset if no
+ bound is provided.
+ (eoshift2_1, eoshift2_2, eoshift2_4, eoshift2_8): Replace explicit
+ implementations with...
+ (DEFINE_EOSHIFT): ...this new macro. Define character versions too.
+ * intrinsics/pack.c (pack_internal): New static function, reusing
+ the contents of pack and adding an extra size argument. Change
+ "mptr" rather than "m" when calculating the array size.
+ (pack): Redefine as a forwarder to pack_internal.
+ (pack_s_internal): New static function, reusing the contents of
+ pack_s and adding an extra size argument.
+ (pack_s): Redefine as a forwarder to pack_s_internal.
+ (pack_char, pack_s_char): New functions.
+ * intrinsics/reshape.c (reshape_internal): New static function,
+ reusing the contents of reshape and adding an extra size argument.
+ (reshape): Redefine as a forwarder to reshape_internal.
+ (reshape_char): New function.
+ * intrinsics/spread.c (spread_internal): New static function,
+ reusing the contents of spread and adding an extra size argument.
+ (spread): Redefine as a forwarder to spread_internal.
+ (spread_char): New function.
+ * intrinsics/transpose.c (transpose_internal): New static function,
+ reusing the contents of transpose and adding an extra size argument.
+ (transpose): Redefine as a forwarder to transpose_internal.
+ (transpose_char): New function.
+ * intrinsics/unpack.c (unpack_internal): New static function, reusing
+ the contents of unpack1 and adding extra size and fsize arguments.
+ (unpack1): Redefine as a forwarder to unpack_internal.
+ (unpack0): Call unpack_internal instead of unpack1.
+ (unpack1_char, unpack0_char): New functions.
+ * m4/cshift1.m4 (cshift1): New static function, reusing the contents
+ of cshift1_<kind> and adding an extra size argument.
+ (cshift1_<kind>): Redefine as a forwarder to cshift1.
+ (cshift1_<kind>_char): New function.
+ * m4/eoshift1.m4 (zeros): Delete.
+ (eoshift1): New static function, reusing the contents of
+ eoshift1_<kind> and adding extra size and filler arguments.
+ Fix calculation of hstride. Use memset if no bound is provided.
+ (eoshift1_<kind>): Redefine as a forwarder to eoshift1.
+ (eoshift1_<kind>_char): New function.
+ * m4/eoshift3.m4 (zeros): Delete.
+ (eoshift3): New static function, reusing the contents of
+ eoshift3_<kind> and adding extra size and filler arguments.
+ Use memset if no bound is provided.
+ (eoshift3_<kind>): Redefine as a forwarder to eoshift3.
+ (eoshift3_<kind>_char): New function.
+ * generated/cshift1_4.c, generated/cshift1_8.c,
+ * generated/eoshift1_4.c, generated/eoshift1_8.c,
+ * generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerate.
+
+2005-09-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20179
+ * io/unix.c (is_preconnected): Add function to test if a stream
+ corresponds to a preconnected unit.
+ * io/io.h: Add prototype for is_preconnected.
+ * io/transfer.c (data_transfer_init): Do not truncate
+ preconnected units.
+
+2005-09-10 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ * io/unix.c: Remove mmap code.
+
+2005-09-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/23784
+ * io/close.c (st_close): Call library_end even in case of error.
+
+2005-09-09 Thomas Koenig <Thomas.Koenig@online.de>
+
+ * io/io.h: Add iomsg as last field of st_parameter.
+ * runtime/error.c (generate_error): If iomsg is present, copy
+ the message there.
+
+2005-09-09 Richard Sandiford <richard@codesourcery.com>
+
+ PR fortran/12840
+ * runtime/memory.c (internal_malloc_size): Return a null pointer
+ if the size is zero.
+ (internal_free): Do nothing if the pointer is null.
+ (internal_realloc_size, internal_realloc, internal_realloc64): New.
+
+2005-09-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/23262
+ * acinclude.m4 (LIBGFOR_CHECK_CRLF): New check.
+ * configure.ac: Use new check.
+ * configure.in: Regenerate.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * io/transfer.c (next_record_w): Add case for CRLF as line
+ terminator.
+ * io/unix.c (tempfile, regular_file): Open files with
+ O_BINARY on systems with CRLF.
+
+2005-09-07 Steve Ellcey <sje@cup.hp.com>
+
+ PR libfortran/23419
+ * io/write.c (extract_int): Use memcpy to access buffer.
+ (extract_uint): Ditto.
+ (extract_real): Ditto.
+
+2005-09-05 Thomas Koenig <Thomas.Koenig@online.de>
+
+ * io/list_read.c: Adjust size of of value to 32 (to hold
+ kind=16 complex values).
+
+2005-09-04 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/23321
+ * io/transfer.c(data_transfer_init): Check for a too-large
+ record number. Return if sseek failed.
+
+2005-09-03 Jakub Jelinek <jakub@redhat.com>
+
+ * io/read.c (read_x): Take int argument instead of fnode * and
+ digging the N from F->u.n.
+ * io/io.h (read_x): Adjust prototype.
+ * io/transfer.c (formatted_transfer): Adjust callers. Don't clobber
+ f->u.n for FMT_T.
+
+2005-09-02 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * io/unix.c (stream_ttyname): Protect use of ttyname by
+ HAVE_TTYNAME macro.
+ * configure.ac: Add check for ttyname.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+
+2005-09-02 Andreas Jaeger <aj@suse.de>
+
+ * libgfortran.h: Add prototype for init_compile_options.
+
+ * io/io.h: Add prototype for notify_std.
+
+2005-08-31 Steve Ellcey <sje@cup.hp.com>
+
+ * io/read.c (set_integer): Use memcpy to fill buffer.
+
+2005-08-31 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/23556
+ * io/read.c (convert_real): Use memcpy to fill buffer.
+
+2005-08-29 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/23598
+ * io/lock.c(library_start): If ioparm.iostat is present, clear
+ it unconditionally.
+
+2005-08-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Add check to see
+ if target can unlink open files.
+ * configure.ac: Use this new test.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+ * aclocal.ac: Regenerate.
+ * io/io.h: Add prototype for unpack_filename.
+ * io/close.c (st_close): Delete file after closing unit if
+ HAVE_UNLINK_OPEN_FILE is not defined.
+ * io/unix.c (unpack_filename): Unlink scratch file after opening
+ it only if HAVE_UNLINK_OPEN_FILE is defined.
+
+2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
+
+ * All files: Update FSF address.
+
+2005-08-16 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/23428
+ * io/transfer.c (iolength_transfer): Remove __attribute__ ((unused))
+ from type. Return correct length for inquire(iolength=)
+ for complex variables.
+
+2005-08-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+ Steven Bosscher <stevenb@suse.de>
+
+ PR libfortran/20006
+ * Makefile.am: Add file runtime/compile_options.c.
+ * Makefile.in: Regenerate.
+ * libgfortran.h: Create structure compile_options_t. Define the
+ compile_options variable and GFC_STD_ macros.
+ * runtime/compile_options.c: New file.
+ * runtime/error.c (notify_std): New function.
+ * runtime/main.c (init): Call init_compile_options during
+ initialization.
+ * io/format.c: Use the new notify_std function for the $
+ descriptor extension.
+
+2005-08-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+ * Makefile.am: Add file intrinsics/tty.c to Makefile process.
+ * Makefile.in: Regenerate.
+ * io/io.h: Prototypes for new functions stream_isatty and
+ stream_ttyname.
+ * io/unix (stream_isatty, stream_ttyname): New functions to call
+ isatty() and ttyname() on a given unit.
+ * intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM
+ and ISATTY.
+
+2005-08-08 Jerry DeLisle <jvdelisle@verizon.net>
+
+ PR libfortran/23154
+ * io/transfer.c (data_transfer_init): Initialize
+ current_unit->bytes_left for a read.
+
+2005-08-07 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ PR fortran/22390
+ * io/backspace.c: File removed, contents moved to ...
+ * io/endfile.c: Ditto.
+ * io/rewind.c: Ditto.
+ * io/file_pos.c: New file, ... here.
+ * Makefile.am: Add file_pos.c to list, remove obsolete files.
+ * Makefile.in: Regenerated.
+
+2005-08-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * io/io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp.
+ * io/unix.c (tempfile): Look at the TEMP environment variable
+ to find the temporary files directory. Whitespace correction.
+
+2005-08-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * io/unix.c: Add O_RDWR to open() call.
+
+2005-08-04 Paul Thomas <pault@gcc.gnu.org>
+
+ * transfer.c (data_transfer_init): Truncate file in
+ sequential WRITE when last_record == 0, rather than
+ current_record. Cures problem on RH9.
+
+2005-08-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * libgfortran.h: When isfinite is not provided by the system,
+ define it as a macro, so that it can accept any floating point
+ type.
+
+2005-08-01 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/23178
+ * intrinsics/flush.c (flush_i8): Add function flush_i8. Update
+ copyright years.
+
+2005-07-31 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/21787
+ * intrinsics/abort.c (abort): Close units before aborting.
+ Updated copyright years.
+
+2005-07-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/22436
+ * io/write.c (write_real): Add default formats for real(10) and
+ real(16).
+
+2005-07-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/22570 and related issues.
+ * transfer.c (formatted_transfer): Make sure that there
+ really is data present before X- or T- editing. Move all
+ treatment of tabbing during writes to start of next data
+ producing format. Suppress incorrect zeroing of bytes_left
+ in slash formating. Insert int cast for assignment of a
+ difference of two gfc_offsets.
+
+2005-07-23 Jerry DeLisle <jvdelisle@verizon.net>
+
+ * io/write.c (write_float): Revise output of IEEE exceptional
+ values to comply with F95 and F2003 standards.
+
+2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
+
+ PR libfortran/22570
+ * io/unit.c (init_units): Replace BLANK_ZERO with
+ BLANK_UNSPECIFIED.
+
+2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
+
+ PR libfortran/21875 (FM111.f)
+ * io/read.c (next_char): Return a ' ' character when BLANK_ZERO
+ or BLANK_NULL are active.
+ (read_decimal): Interpret ' ' character correctly for BZ or BN.
+ (read_radix): Interpret ' ' character correctly for BZ or BN.
+ (read_f): Interpret ' ' character correctly for BZ or BN.
+
+2005-07-22 Paul Thomas <pault@gcc.gnu.org>
+
+ PR libfortran/22570
+ * read.c (read_x): Correct the condition for doing the
+ x-editing during formatted input.
+ * transfer.c (formatted_transfer): Cast offset difference
+ as int, clean-up arithmetic with new variable, bytes_used,
+ zero counters for FMT_SLASH,
+ (data_transfer_init) Zero X- and T-editing counters
+ unconditionally.
+ (next_record_w) Zero X- and T-editing counters.
+ unconditionally.
+
+2005-07-17 Jerry DeLisle <jvdelisle@verizon.net>
+
+ * io/write.c (write_float): Fix field width checks for
+ printing 'Infinity' or 'Inf'.
+ (output_float): Fix typo in comment.
+
+2005-07-12 Paul Thomas <pault@gcc.gnu.org>
+
+ PR libfortran/16435
+ * transfer.c (formatted_transfer): Correct the problems
+ with X- and T-editting that caused TLs followed by TRs
+ to overwrite data, which caused NIST FM908.FOR to fail
+ on many tests.
+ (data_transfer_init): Zero X- and T-editting counters at
+ the start of formatted IO.
+ * write.c (write_x): Write specified number of skips with
+ specified number of spaces at the end.
+
+2005-07-13 Paul Thomas <pault@gcc.gnu.org>
+
+ * io/read.c (read_complex): Prevent X formatting during reads
+ from going beyond EOR to fix NIST fm908.FOR failure.
+ * io/list_read.c (read_complex): Allow complex data in list-
+ directed reads to have eols either side of the comma to
+ fix NIST FM906.FOR failure.
+
+2005-07-12 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/21593
+ * io/unix.c: Add member special_file to type unix_stream.
+ (fd_truncate): Don't call ftruncate or chsize if
+ s refers to a special file.
+ (fd_to_stream): initialize s->special_file.
+
+2005-07-11 David Edelsohn <edelsohn@gnu.org>
+
+ PR libgfortran/22412
+ * io/write.c (otoa): Bias p by SCRATCH_SIZE, not
+ sizeof (SCRATCH_SIZE).
+ (btoa): Same.
+
+2005-07-09 Jerry DeLisle <jvdelisle@verizon.net>
+
+ PR libfortran/21875 (FM111.f)
+ * io/read.c (next_char): Return a ' ' character when BLANK_ZERO or
+ BLANK_NULL are active.
+ (read_decimal): Interpret ' ' character correctly for BZ or BN.
+ (read_radix): Interpret ' ' character correctly for BZ or BN.
+ (read_f): Interpret ' ' character correctly for BZ or BN.
+ * gfortran.dg/test (fmt_read_bz_bn.f90): New test case.
+
+2005-07-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+ Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/22217
+ * io/write.c (extract_unit): New function; extract
+ ints as unsigned signed int of the correct size.
+ (write_int): Use it.
+ * runtime/error.c: Adjust copyright years.
+ Adjust size of buffer to maximum that can occur.
+
+2005-07-07 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Replace 'type *base' by
+ 'size_t offset'.
+ * intrinsics/cshift0.c, intrinsics/eoshift0.c,
+ intrinsics/eoshift2.c,intrinsics/pack_generic.c,
+ intrinsics/reshape_generic.c, intrinsics/spread_generic.c,
+ intrinsics/transpose_generic.c, intrinsics/unpack_generic,
+ m4/cshift1.m4, m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4,
+ m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/reshape.m4,
+ m4,transpose.m4: Set renamed field 'offset' to zero instead of
+ 'base'.
+ * generated/all_l4.c, generated/all_l8.c,
+ generated/any_l4.c, generated/any_l8.c, generated/count_4_l4.c,
+ generated/count_4_l8.c, generated/count_8_l4.c,
+ generated/count_8_l8.c, generated/chift1_4.c,
+ generated/cshift1_8.c, generated/eoshift1_4.c,
+ generated/eoshift1_8.c, generated/eoshift3_4.c,
+ generated/eoshift3_8.c, generated/matmul_c4.c,
+ generated/matmul_c8.c, generated/matmul_i4.c, matmul_i8.c,
+ generated/matmul_l4.c, generated/matmul_l8.c,
+ generated/matmul_r4.c, generated/matmul_r8.c,
+ generated/maxloc0_4_i4.c, generated/maxloc0_4_i8.c,
+ generated/maxloc0_4_r4.c, generated/maxloc0_4_r8.c,
+ generated/maxloc0_8_i4.c, generated/maxloc0_8_i8.c,
+ generated/maxloc0_8_r4.c, generated/maxloc0_8_r8.c,
+ generated/maxloc1_4_i4.c, generated/maxloc1_4_i8.c,
+ generated/maxloc1_4_r4.c, generated/maxloc1_4_r8.c,
+ generated/maxloc1_8_i4.c, generated/maxloc1_8_i8.c,
+ generated/maxloc1_8_r4.c, generated/maxloc1_8_r8.c,
+ generated/maxval_i4.c, generated/maxval_i8.c,
+ generated/maxval_r4.c, generated/maxval_r8.c,
+ generated/minloc0_4_i4.c, generated/minloc0_4_i8.c,
+ generated/minloc0_4_r4.c, generated/minloc0_4_r8.c,
+ generated/minloc0_8_i4.c, generated/minloc0_8_i8.c,
+ generated/minloc0_8_r4.c, generated/minloc0_8_r8.c,
+ generated/minloc1_4_i4.c, generated/minloc1_4_i8.c,
+ generated/minloc1_4_r4.c, generated/minloc1_4_r8.c,
+ generated/minloc1_8_i4.c, generated/minloc1_8_i8.c,
+ generated/minloc1_8_r4.c, generated/minloc1_8_r8.c,
+ generated/minval_i4.c, generated/minval_i8.c,
+ generated/minval_r4.c, generated/minval_r8.c,
+ generated/product_c4.c, generated/product_c8.c,
+ generated/product_i4.c, generated/product_i8.c,
+ generated/product_r4.c, generated/product_r8.c,
+ generated/reshape_c4.c, generated/reshape_c8.c,
+ generated/reshape_i4.c, generated/reshape_i8.c,
+ generated/sum_c4.c, generated/sum_c8.c, generated/sum_i4.c,
+ generated/sum_i8.c, generated/sum_r4.c, generated/sum_r8.c,
+ generated/transpose_c4.c, generated/transpose_c8.c,
+ generated/transpose_i4.c, generated/transpose_i8.c: Regenerate:
+
+2005-07-07 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/21594
+ * intrinsics/eoshift0.c: If abs(shift) > len, fill the
+ the whole array with the boundary value, but don't overrun it.
+ * intrinsics/eoshift2.c: Likewise.
+ * m4/eoshift1.m4: Likewise.
+ * m4/eoshift3.m4: Likewise.
+ * generated/eoshift1_4.c: Regenerated.
+ * generated/eoshift1_8.c: Regenerated.
+ * generated/eoshift3_4.c: Regenerated.
+ * generated/eoshift3_8.c: Regenerated.
+
+2005-07-07 Feng Wang <fengwang@nudt.edu.cn>
+
+ PR fortran/16531
+ * io/transfer.c (formatted_transfer): Enable FMT_A on other types to
+ support Hollerith constants.
+
+2005-07-01 Andreas Jaeger <aj@suse.de>
+
+ * intrinsics/unpack_generic.c: Remove const from parameter.
+
+ * io/transfer.c (formatted_transfer): Remove unused variable.
+
+2005-06-28 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/22142
+ * m4/eoshift1.m4: Correct bstride (it needs to be multiplied
+ by size since it's a char pointer).
+ * m4/eoshift1_4.c: Regenerated.
+ * m4/eoshift1_8.c: Regenerated.
+
+2005-06-28 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/22142
+ * m4/eoshift3.m4: Correct bstride (it needs to be multiplied
+ by size since it's a char pointer).
+ * m4/eoshift3_4.c: Regenerated.
+ * m4/eoshift3_8.c: Regenerated.
+
+2005-06-28 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/22170
+ * io/transfer.c (formatted_transfer): Do not iterate on the
+ repeat count of a FMT_SLASH, since this is already done in
+ next_format().
+
+2005-06-25 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/22144
+ * m4/cshift1.m4: Remove const from argument ret.
+ Populate return array descriptor if ret->data is NULL.
+ * m4/eoshift1.m4: Likewise.
+ * m4/eoshift3.m4: Likewise.
+ * generated/cshift1_4.c: Regenerated.
+ * generated/cshift1_8.c: Regenerated.
+ * generated/eoshift1_4.c: Regenerated.
+ * generated/eoshift1_8.c: Regenerated.
+ * generated/eoshift3_4.c: Regenerated.
+ * generated/eoshift3_8.c: Regenerated.
+
+2005-06-24 Jerry DeLisle <jvdelisle@verizon.net>
+
+ PR libfortran/21915
+ * Makefile.am: Include intrinsics/hyper.c.
+ * c99_protos.h: Add prototypes for single precision versions of
+ acosh, asinh, and atanh for platforms that do not have these.
+ * config.h.in: Add #undef for wrappers.
+ * configure.ac: Add checks for single precision versions.
+ * aclocal.m4: Regenerated.
+ * Makefile.in: Regenerated.
+ * configure: Regenerated.
+ * intrinsics/hyper.c: New file, adds new wrapper functions.
+
+2005-06-23 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * intrinsics/c99_functions.c (log10l): New log10l function for
+ systems where this is not available.
+ * c99_protos.h: Prototype for log10l function.
+ * libgfortran.h: Use generated kinds.h to define GFC_INTEGER_*,
+ GFC_UINTEGER_*, GFC_LOGICAL_*, GFC_REAL_*, GFC_COMPLEX_*. Update
+ prototypes for gfc_itoa and xtoa.
+ * io/io.h: Update prototypes for set_integer and max_value.
+ * io/list_read.c (convert_integer): Use new
+ GFC_(INTEGER|REAL)_LARGEST type.
+ * io/read.c (set_integer): Likewise.
+ (max_value): Likewise.
+ (convert_real): Likewise.
+ (real_l): Likewise.
+ (next_char): Likewise.
+ (read_decimal): Likewise.
+ (read_radix): Likewise.
+ (read_f): Likewise.
+ * io/write.c (extract_int): Use new GFC_INTEGER_LARGEST type.
+ (extract_real): Use new GFC_REAL_LARGEST type.
+ (calculate_exp): Likewise.
+ (calculate_G_format): Likewise.
+ (output_float): Likewise. Use log10l for long double values.
+ Add comment for sprintf format. Use GFC_REAL_LARGEST_FORMAT.
+ (write_l): Use new GFC_INTEGER_LARGEST type.
+ (write_float): Use new GFC_REAL_LARGEST type.
+ (write_int): Remove useless special case for (len < 8).
+ (write_decimal): Use GFC_INTEGER_LARGEST.
+ (otoa): Use GFC_UINTEGER_LARGEST as argument.
+ (btoa): Use GFC_UINTEGER_LARGEST as argument.
+ * runtime/error.c (gfc_itoa): Use GFC_INTEGER_LARGEST as
+ argument.
+ (xtoa): Use GFC_UINTEGER_LARGEST as argument.
+ * Makefile.am: Use mk-kinds-h.sh to generate header kinds.h
+ with all Fortran kinds available.
+ * configure.ac: Check for strtold and log10l.
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+ * mk-kinds-h.sh: Configuration script for available integer
+ and real kinds.
+
+
+2005-06-18 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ * unix.c (stream_at_bof): Don't assume that all non-mmapped files
+ are non-seekable.
+ (stream_at_eof): Likewise.
+
+2005-06-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/19155
+ * io/read.c (convert_real): strtod can set errno to EINVAL on an
+ empty string, but we shouldn't have an error in that case.
+
+2005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/19216
+ * io/list_read.c (eat_separator): No need to call next_record,
+ even in non-namelist_mode.
+
+2005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * io/transfer.c (formatted_transfer): Fix typo in error message.
+
+2005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/16436
+ * io/transfer.c (read_sf): Correct updating of bytes_left field.
+ (formatted_transfer): Correct updating of bytes_left field and
+ reformatting code (comments and whitespace).
+ * io/unix.c (move_pos_offset): "active" field should not be
+ changed here. Whitespace corrections.
+
+2005-06-15 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/21950
+ * intrinsics/c99_functions.c (scalbn): Provide fallback
+ implementation for scalbn.
+ * c99_protos.h: Prototype for scalbn.
+ * configure.ac: Add check for scalbn.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+
+2005-06-14 Thomas Koenig <Thomas.Koenig@online.de>
+
+ * intrinsics/eoshift0.c: Removed prototype for eoshift0.
+ * intrinsics/eoshift2.c: Removed prototype for eoshift2.
+
+2005-06-14 Tom Tromey <tromey@redhat.com>
+
+ PR libgcj/19877:
+ * configure, aclocal.m4, Makefile.in: Rebuilt.
+
+2005-06-12 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/21594
+ * intrinsics/eoshift0.c: Add prototype for eoshift0.
+ * intrinsics/eoshift2.c: Add prototype for eoshift2.
+
+2005-06-12 Steven G. Kargl <kargls@comcast.net>
+ Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/PR21797
+ * m4/cexp.m4 (csqrt`'q): Add type qualifyer to
+ sqrt and fabs.
+ * generated/exp_c4.c: Regenerated.
+
+2005-06-12 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/19155
+ * io/read.c (read_f): Take care of spaces after initial sign.
+
+2005-06-11 Thomas Koenig <Thomas.Koenig@onlinde.de>
+
+ PR libfortran/21333
+ * Makefile.am: Add in_pack_c4.c, in_pack_c8.c, in_unpack_c4.c
+ and in_unpack_c8.c.
+ * Makefile.in: Regenerate.
+ * libgfortran.h: Declare internal_pack_c4, internal_pack_c8,
+ internal_unpack_c4 and internal_unpack_c8.
+ * m4/in_pack.m4: Use rtype_ccode insteald of rtype_kind
+ in function name.
+ Use sizeof (rtype_name) as size for memory allocation.
+ * m4/in_unpack.m4: Use rtype_ccode insteald of rtype_kind
+ in function name.
+ Use sizeof (rtype_name) for calculation of sizes for memcpy.
+ * runtime/in_pack_generic.c: For real, integer and logical
+ call internal_pack_4 if size==4 and internal_pack_8 if
+ size==8.
+ For complex, call internal_pack_c4 if size==8 and
+ internal_pack_c8 if size==16.
+ * runtime/in_unpack_generic.c: For real, integer and logical
+ call internal_unpack_4 if size==4 and internal_unpack_8 if
+ size==8.
+ For complex, call internal_unpack_c4 if size==8 and
+ internal_unpack_c8 if size==16.
+ * generated/in_pack_i4.c: Regenerated.
+ * generated/in_pack_i8.c: Regenerated.
+ * generated/in_unpack_i4.c: Regenerated.
+ * generated/in_unpack_i8.c: Regenerated.
+ * generated/in_pack_c4.c: New file.
+ * generated/in_pack_c8.c: New file.
+ * generated/in_unpack_c4.c: New file.
+ * generated/in_unpack_c8.c: New file.
+
+2005-06-09 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/21480
+ * m4/reshape.m4: Use sizeof (rtype_name) for sizes to be passed
+ to reshape_packed.
+ * generated/reshape_c4.c: Regenerated.
+ * generated/reshape_c8.c: Regenerated.
+ * generated/reshape_i4.c: Regenerated.
+ * generated/reshape_i8.c: Regenerated.
+
+2005-06-07 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/21926
+ * m4/matmul.m4: Correct zeroing of result for non-packed
+ arrays with lowest stride is one.
+ * generated/matmul_c4.c: Regenerated.
+ * generated/matmul_c8.c: Regenerated.
+ * generated/matmul_i4.c: Regenerated.
+ * generated/matmul_i8.c: Regenerated.
+ * generated/matmul_r4.c: Regenerated.
+ * generated/matmul_r8.c: Regenerated.
+
+2005-05-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20179
+ * io/unix.c (fd_close): Add test so that we don't close()
+ stdout and stderr.
+
+2005-05-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20006
+ * io/format.c (parse_format_list): Set repeat count of $ format
+ node to 1.
+ * io/transfer.c (read_sf): Add g.seen_dollar to the test
+ concerning advancing I/O.
+ (data_transfer_init): Likewise.
+ (finalize_transfer): Likewise.
+
+2005-05-27 Thomas Koenig <Thomas.Koenig@online.de>
+
+ * runtime/in_pack_generic.c: Adjust copyright years.
+ (in_pack_generic): Change dimension of auxiliary arrays from
+ GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
+ * runtime/in_unpack_generic.c: Adjust copyright years.
+ (in_unpack_generic): Change dimension of auxiliary arrays from
+ GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
+
+2005-05-26 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/17283
+ * intrinsics/unpack_generic.c: Fix name of routine
+ on top. Update copyright years.
+ (unpack1): Remove const from return array descriptor.
+ rs: New variable, for calculating return sizes.
+ Populate return array descriptor if ret->data is NULL.
+
+2005-05-22 Peter Wainwright <prw@ceiriog1.demon.co.uk>
+
+ PR libfortran/21376
+ * io/write.c (output_float): Rework logic to avoid call to log10
+ with argument equal to zero.
+
+2005-05-21 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * configure.ac: Check for trunc and truncf in libm.
+ * configure: Regenerate.
+ * config.h.in: Likewise.
+ * intrinsics/c99_functions.c (trunc, truncf): New functions.
+ * c99_protos.h (trunc, truncf): Declare them.
+
+2005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/21127
+ * Makefile.am: Really commit.
+ * Makefile.in: Really commit.
+
+2005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/21127
+ * Makefile.am: Add generated/reshape_c4.c and
+ generated/reshape_c8.c.
+ * Makefile.in: Regenerated.
+ * m4/iparm.m4: Define rtype_ccode to be c4 or c8 for
+ complex types, 4 or 8 otherwise.
+ * m4/reshape.m4: Use rtype_ccode instead of rtype_kind
+ in function name.
+ * generated/reshape_c4.c: New file.
+ * generated/reshape_c8.c: New file.
+
+2005-05-16 Andreas Jaeger <aj@suse.de>
+
+ * configure.ac: Add additional warning flags.
+ * configure: Regenerate.
+
+ * io/write.c (calculate_G_format): Remove unused parameter.
+ (output_float): Remove unused parameter.
+ (write_float): Change callers.
+ (nml_write_obj): Avoid signed warning.
+ Make variable const to support -Wwrite-strings.
+
+ * io/unix.c (fd_alloc, mmap_open, mmap_sfree, mem_sfree,
+ mem_truncate): Mark argument as unused.
+
+ * io/unit.c (get_unit): Mark argument as unused.
+ (init_units): Avoid warning about signed comparision.
+
+ * io/transfer.c (next_record_r): Remove unused parameter.
+ (next_record_w): Remove unused parameter.
+ (next_record): Change callers.
+ (iolength_transfer): Mark arguments as unused.
+
+ * io/open.c: Add initializer.
+
+ * io/list_read.c (read_character): Mark argument as unused.
+ (nml_match_name): Add const to make compile with -Wwrite-strings.
+
+ * io/format.c: Add initializer.
+
+2005-05-15 Andreas Jaeger <aj@suse.de>
+
+ * m4/eoshift1.m4: Initialize variables to avoid warnings.
+ * m4/eoshift3.m4: Initialize variables to avoid warnings.
+ * generated/eoshift1_4.c, generated/eoshift1_8.c,
+ generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerated.
+
+ * intrinsics/spread_generic.c (spread): Initialize variables to
+ avoid warnings.
+
+ * intrinsics/eoshift0.c (eoshift0): Initialize variables to avoid
+ warnings.
+ * intrinsics/eoshift2.c (eoshift2): Initialize variables to avoid
+ warnings.
+
+ * io/list_read.c (nml_get_obj_data): Initialize variables to avoid
+ warnings.
+
+ * intrinsics/pack_generic.c (pack): Remove unneeded calculation.
+
+ * m4/matmull.m4 (matmul_): Remove unneeded calculations, fix
+ pointer cast to avoid warning.
+ * generated/matmul_l4.c: Regenerated.
+ * generated/matmul_l8.c: Regenerated.
+
+ * Makefile.am: Remove AM_CFLAGS here.
+ * configure.ac: Define AM_CFLAGS and AM_FCFLAGS so that warnings
+ are set. Set additionally -Wstrict-prototypes for CFLAGS.
+ * Makefile.in: Regenerated.
+ * aclocal.m4: Regenerated.
+ * configure: Regenerated.
+
+ * intrinsics/system_clock.c (system_clock_4, system_clock_8): Add
+ missing returns, reformat a bit.
+
+ * io/write.c (nml_write_obj): Use %d again - and cast to int,
+ st_sprintf does not handle %ld.
+
+ * io/unit.c (is_internal_unit): Add void as parameter list.
+
+ * io/transfer.c: Move prototype declarations before the functions.
+
+ * runtime/normalize.c (almostone_r4, almostone_r8): Fix parameter
+ list.
+
+ * intrinsics/random.c (KISS_DEFAULT_SEED): Remove extra semicolon.
+
+ * io/transfer.c: Do not use empty initializers for global objects.
+ Add missing initializers.
+
+ * io/lock.c: Do not use empty initializers for global objects.
+
+ * io/close.c: Add missing initializers.
+
+ * runtime/environ.c: Add missing initializers. Do not use empty
+ initializers for global object.
+ (init_string): Mark argument as unused.
+
+ * runtime/main.c (cleanup): Fix parameter list.
+
+ * io/io.h: Fix parameter lists.
+
+ * m4/transpose.m4, m4/matmul.m4: Fix pointer cast to avoid
+ warning.
+
+ * generated/transpose_c4.c, generated/transpose_c8.c,
+ generated/transpose_i4.c, generated/transpose_i8.c,
+ generated/matmul_c4.c, generated/matmul_c8.c,
+ generated/matmul_i4.c, generated/matmul_i8.c,
+ generated/matmul_r4.c, generated/matmul_r8.c: Regenerated.
+
+ * io/write.c (nml_write_obj): Fix 64-bit problem.
+
+ * io/list_read.c (nml_get_obj_data): Add missing braces around
+ initializer to avoid warnings.
+
+ * intrinsics/etime.c (etime_sub): Remove unused variable.
+
+ * intrinsics/chdir.c, intrinsics/getlog.c, intrinsics/link.c,
+ intrinsics/symlnk.c, intrinsics/perror.c: Include <string.h> for
+ prototypes.
+
+ * runtime/string.c (compare0): Remove unused variable.
+ * io/unit.c (init_units): Remove unused variables.
+ * intrinsics/getcwd.c (getcwd_i4_sub): Remove unused variable.
+ * intrinsics/unlink.c (unlink_i4_sub): Remove unused variable.
+ * intrinsics/stat.c (stat_i4_sub, fstat_i8_sub, fstat_i4_sub,
+ stat_i8_sub): Remove unused variable.
+
+2005-05-12 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/21324
+ * runtime/memory.c: Don't define GFC_CLEAR_MEMORY (it's a
+ performance hog).
+ * io/open.c (new_unit): Zero freshly allocated memory for
+ unit structure.
+ * io/unit.c (init_units): Zero freshly allocated memory for
+ STDIN, STDOUT and STDERR.
+ * io/unix.c (open_internal): Zero freshly allocated memory
+ for unix_stream.
+ (fd_to_stream): Likewise.
+
+2005-05-11 Bud Davis <bdavis@gfortran.org>
+
+ PR fortran/19478
+ * io/unix.c (fd_truncate): update positions when ftruncate
+ fails (like writing to /dev/null).
+
+2005-05-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/21471
+ * open.c (new_unit): Take care of the case where POSITION_APPEND
+ is specified (sseek to the end, and set u>-endfile).
+
+2005-05-10 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/20178
+ * Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
+ to dependencies.
+ * Makefile.in: Regenerate.
+ * intrinsics/f2c_specific.F90: New file.
+
+2005-05-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20788
+ * io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
+ we don't we to mmap this stream. Use fd_open instead of mmap_open
+ in that case.
+ (open_external): Call fd_to_stream with avoid_mmap = 0.
+ (input_stream): Call fd_to_stream with avoid_mmap = 1.
+ (output_stream): Likewise.
+ (error_stream): Likewise.
+
+2005-05-09 Mike Stump <mrs@apple.com>
+
+ * configure: Regenerate.
+
+2005-05-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/19155
+ * io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
+ non-blank characters of a real number.
+
+2005-05-04 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/21354
+ * m4/cshift1.m4: Change dimension of auxiliary arrays from
+ GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
+ * m4/eoshift1.m4: Likewise.
+ * m4/eoshift3.m4: Likewise.
+ * m4/ifunction.m4: Likewise.
+ * m4/in_pack.m4: Likewise.
+ * m4/in_unpack.m4: Likewise.
+ * intrinsics/cshift0.c: Likewise.
+ * intrinsics/eoshift0.c: Likewise.
+ * intrinsics/eoshift2.c: Likewise.
+ * intrinsics/random.c: Likewise.
+ * intrinsics/spread_generic.c: Likewise.
+ * intrinsics/stat.c: Likewise.
+ * generated/all_l4.c: Regenerated.
+ * generated/all_l8.c: Regenerated.
+ * generated/any_l4.c: Regenerated.
+ * generated/any_l8.c: Regenerated.
+ * generated/count_4_l4.c: Regenerated.
+ * generated/count_4_l8.c: Regenerated.
+ * generated/count_8_l4.c: Regenerated.
+ * generated/count_8_l8.c: Regenerated.
+ * generated/cshift1_4.c: Regenerated.
+ * generated/cshift1_8.c: Regenerated.
+ * generated/eoshift1_4.c: Regenerated.
+ * generated/eoshift1_8.c: Regenerated.
+ * generated/eoshift3_4.c: Regenerated.
+ * generated/eoshift3_8.c: Regenerated.
+ * generated/in_pack_i4.c: Regenerated.
+ * generated/in_pack_i8.c: Regenerated.
+ * generated/in_unpack_i4.c: Regenerated.
+ * generated/in_unpack_i8.c: Regenerated.
+ * generated/maxloc0_4_i4.c: Regenerated.
+ * generated/maxloc0_4_i8.c: Regenerated.
+ * generated/maxloc0_4_r4.c: Regenerated.
+ * generated/maxloc0_4_r8.c: Regenerated.
+ * generated/maxloc0_8_i4.c: Regenerated.
+ * generated/maxloc0_8_i8.c: Regenerated.
+ * generated/maxloc0_8_r4.c: Regenerated.
+ * generated/maxloc0_8_r8.c: Regenerated.
+ * generated/maxloc1_4_i4.c: Regenerated.
+ * generated/maxloc1_4_i8.c: Regenerated.
+ * generated/maxloc1_4_r4.c: Regenerated.
+ * generated/maxloc1_4_r8.c: Regenerated.
+ * generated/maxloc1_8_i4.c: Regenerated.
+ * generated/maxloc1_8_i8.c: Regenerated.
+ * generated/maxloc1_8_r4.c: Regenerated.
+ * generated/maxloc1_8_r8.c: Regenerated.
+ * generated/maxval_i4.c: Regenerated.
+ * generated/maxval_i8.c: Regenerated.
+ * generated/maxval_r4.c: Regenerated.
+ * generated/maxval_r8.c: Regenerated.
+ * generated/minloc0_4_i4.c: Regenerated.
+ * generated/minloc0_4_i8.c: Regenerated.
+ * generated/minloc0_4_r4.c: Regenerated.
+ * generated/minloc0_4_r8.c: Regenerated.
+ * generated/minloc0_8_i4.c: Regenerated.
+ * generated/minloc0_8_i8.c: Regenerated.
+ * generated/minloc0_8_r4.c: Regenerated.
+ * generated/minloc0_8_r8.c: Regenerated.
+ * generated/minloc1_4_i4.c: Regenerated.
+ * generated/minloc1_4_i8.c: Regenerated.
+ * generated/minloc1_4_r4.c: Regenerated.
+ * generated/minloc1_4_r8.c: Regenerated.
+ * generated/minloc1_8_i4.c: Regenerated.
+ * generated/minloc1_8_i8.c: Regenerated.
+ * generated/minloc1_8_r4.c: Regenerated.
+ * generated/minloc1_8_r8.c: Regenerated.
+ * generated/minval_i4.c: Regenerated.
+ * generated/minval_i8.c: Regenerated.
+ * generated/minval_r4.c: Regenerated.
+ * generated/minval_r8.c: Regenerated.
+ * generated/product_c4.c: Regenerated.
+ * generated/product_c8.c: Regenerated.
+ * generated/product_i4.c: Regenerated.
+ * generated/product_i8.c: Regenerated.
+ * generated/product_r4.c: Regenerated.
+ * generated/product_r8.c: Regenerated.
+ * generated/sum_c4.c: Regenerated.
+ * generated/sum_c8.c: Regenerated.
+ * generated/sum_i4.c: Regenerated.
+ * generated/sum_i8.c: Regenerated.
+ * generated/sum_r4.c: Regenerated.
+ * generated/sum_r8.c: Regenerated.
+
+2005-04-30 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/18958
+ libgfortran.h: Change typedef of index_type from size_t
+ to ssize_t.
+
+2005-04-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR libfortran/18857
+ * generated/matmul_r8.c: Remove incorrect assertions.
+ * generated/matmul_c4.c: Regenerate
+ * generated/matmul_c8.c: Regenerate
+ * generated/matmul_i4.c: Regenerate
+ * generated/matmul_i8.c: Regenerate
+ * generated/matmul_r4.c: Regenerate
+ * generated/matmul_r8.c: Regenerate
+
+2005-04-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * configure.ac: Check for ftruncate and chsize.
+ * io/unix.c (fd_truncate): Provide chsize as alternative to
+ ftruncate.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+
+2005-04-29 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * intrinsics/rename.c: Add missing #includes.
+
+2005-04-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * AUTHORS, COPYING, INSTALL, NEWS, README: Remove.
+
+2005-04-26 David Edelsohn <edelsohn@gnu.org>
+
+ PR libfortran/20930
+ * io/rewind.c (st_rewind): Flush the stream when resetting the mode
+ from WRITING to READING.
+
+2005-04-22 Paul Thomas <pault@gcc.gnu.org>
+ Jerry DeLisle <jvdelisle@verizon.net>
+
+ * io/write.c (nml_write_obj): Provide 1 more byte for ext_name.
+ * io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem
+ call for ext_name. These fix the bug reported by Jerry DeLisle to
+ the fortran list and are based on his suggested fix.
+
+2005-04-22 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/20074
+ PR libfortran/20436
+ PR libfortran/21108
+ * m4/reshape.m4 (reshape_`'rtype_kind): rs, rex: New
+ variables, to be used in calculation of return array sizes.
+ Populate return array descriptor if ret->data is NULL.
+ Fix condition for early return (it used to test something
+ undefined if order was used).
+ Remove duplicate check wether pad is used.
+ * intrinsics/reshape_generic.c (reshape_generic): Likewise.
+ Fix a few places where the wrong variables were set.
+ * generated/reshape_i4.c: Regenerated.
+ * generated/reshape_i8.c: Regenerated.
+
+2005-04-18 Paul Thomas <pault@gcc.gnu.org>
+
+ * io/list_read.c (nml_touch_nodes, nml_read_obj,
+ nml_get_obj_data): Fix memory leaks in code for derived types.
+
+2005-04-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20950
+ * io/inquire.c (inquire_via_unit): Check for the gfc_unit being
+ NULL when setting ioparm.sequential.
+
+2005-04-17 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/21075
+ * m4/reshape.m4 (reshape_`'rtype_kind): Change dimension
+ of auxiliary arrays from GFC_MAX_DIMENSIONS - 1 to
+ GFC_MAX_DIMENSIONS.
+ * intrinsics/reshape_generic.c (reshape_generic): Likewise.
+ * generated/reshape_i4.c: Regenerated.
+ * generated/reshape_i8.c: Regenerated.
+
+2005-04-17 Paul Thomas <pault@gcc.gnu.org>
+
+ * io/list_read.c (eat_separator): at_eol = 1 replaced
+ (zapped at some time?).
+
+2005-04-17 Paul Thomas <pault@gcc.gnu.org>
+
+ PR libgfortran/12884
+ PR libgfortran/17285
+ PR libgfortran/18122
+ PR libgfortran/18210
+ PR libgfortran/18392
+ PR libgfortran/18591
+ PR libgfortran/18879
+ * io/io.h (nml_ls): Declare.
+ (namelist_info): Modify for arrays.
+ * io/list_read.c (namelist_read): Reduced to call to new functions.
+ (match_namelist_name): Simplified.
+ (nml_query): Handles stdin queries ? and =?. New function.
+ (nml_get_obj_data): Parses object name. New function.
+ (touch_nml_nodes): Marks objects for read. New function.
+ (untouch_nml_nodes): Resets objects. New function.
+ (parse_qualifier): Parses and checks qualifiers. New function
+ (nml_read_object): Reads and stores object data. New function.
+ (eat_separator): No new_record on '/' in namelist.
+ (finish_separator): No new_record on '/' in namelist.
+ (read_logical): Error return for namelist.
+ (read_integer): Error return for namelist.
+ (read_complex): Error return for namelist.
+ (read_real): Error return for namelist.
+ * io/lock.c (library_end): Free extended namelist_info types.
+ * io/transfer.c (st_set_nml_var): Modified for arrays.
+ (st_set_nml_var_dim): Dimension descriptors. New function.
+ * io/write.c (namelist_write): Reduced to call to new functions.
+ (nml_write_obj): Writes output for object. New function.
+ (write_integer): Suppress leading blanks for repeat counts.
+ (write_int): Suppress leading blanks for repeat counts.
+ (write_float): Suppress leading blanks for repeat counts.
+ (output_float): Suppress leading blanks for repeat counts.
+
+2005-04-15 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/18495
+ * intrinsics/spread_generic.c (spread): Remove const from
+ return array descriptor.
+ New variables: rrank (rank of return array), rs (for
+ calculating the size of the return array), srank (rank
+ of the source array).
+ Generate runtime error if the dim= argument is larger than
+ the rank of the return array.
+ Generate runtime error if the needed rank of the return
+ array is larger than 7.
+ If ret->data is null, populate the return array descriptor
+ and initialize the variables for the actual operation.
+ Otherwise, set ret->dim[0].stride to one if it is zero.
+ Change second, independent use of variable dim to srank.
+
+2005-04-12 Mike Stump <mrs@apple.com>
+
+ * configure: Regenerate.
+
+2005-04-13 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/19106
+ * m4/iforeach.c (name`'rtype_qual`_'atype_code): Add TODO
+ that setting correct strides is a front end job.
+ (`m'name`'rtype_qual`_'atype_code): Likewise. If mask has
+ a lowest stride of 0, adjust to 1.
+ * m4/ifunction.c (name`'rtype_qual`_'atype_code): Add TODO
+ that setting correct strides is a front end job.
+ (`m'name`'rtype_qual`_'atype_code): Likewise. If mask has
+ a lowest stride of 0, adjust to 1.
+ * maxloc0_4_i4.c: Regenerated
+ * maxloc0_4_i8.c: Regenerated
+ * maxloc0_4_r4.c: Regenerated
+ * maxloc0_4_r8.c: Regenerated
+ * maxloc0_8_i4.c: Regenerated
+ * maxloc0_8_i8.c: Regenerated
+ * maxloc0_8_r4.c: Regenerated
+ * maxloc0_8_r8.c: Regenerated
+ * maxloc1_4_i4.c: Regenerated
+ * maxloc1_4_i8.c: Regenerated
+ * maxloc1_4_r4.c: Regenerated
+ * maxloc1_4_r8.c: Regenerated
+ * maxloc1_8_i4.c: Regenerated
+ * maxloc1_8_i8.c: Regenerated
+ * maxloc1_8_r4.c: Regenerated
+ * maxloc1_8_r8.c: Regenerated
+ * maxval_i4.c: Regenerated
+ * maxval_i8.c: Regenerated
+ * maxval_r4.c: Regenerated
+ * maxval_r8.c: Regenerated
+ * minloc0_4_i4.c: Regenerated
+ * minloc0_4_i8.c: Regenerated
+ * minloc0_4_r4.c: Regenerated
+ * minloc0_4_r8.c: Regenerated
+ * minloc0_8_i4.c: Regenerated
+ * minloc0_8_i8.c: Regenerated
+ * minloc0_8_r4.c: Regenerated
+ * minloc0_8_r8.c: Regenerated
+ * minloc1_4_i4.c: Regenerated
+ * minloc1_4_i8.c: Regenerated
+ * minloc1_4_r4.c: Regenerated
+ * minloc1_4_r8.c: Regenerated
+ * minloc1_8_i4.c: Regenerated
+ * minloc1_8_i8.c: Regenerated
+ * minloc1_8_r4.c: Regenerated
+ * minloc1_8_r8.c: Regenerated
+ * minval_i4.c: Regenerated
+ * minval_i8.c: Regenerated
+ * minval_r4.c: Regenerated
+ * minval_r8.c: Regenerated
+ * product_c4.c: Regenerated
+ * product_c8.c: Regenerated
+ * product_i4.c: Regenerated
+ * product_i8.c: Regenerated
+ * product_r4.c: Regenerated
+ * product_r8.c: Regenerated
+ * sum_c4.c: Regenerated
+ * sum_c8.c: Regenerated
+ * sum_i4.c: Regenerated
+ * sum_i8.c: Regenerated
+ * sum_r4.c: Regenerated
+ * sum_r8.c: Regenerated
+
+2005-04-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20788
+ * runtime/environ.c (init_unsigned_integer): Function for
+ environment variables we want to be positive.
+ (init_integer): Function to allow negative environment
+ variables (e.g. for GFORTRAN_STDIN_UNIT).
+
+2005-04-10 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/17992
+ PR libfortran/19568
+ PR libfortran/19595
+ PR libfortran/20005
+ PR libfortran/20092
+ PR libfortran/20131
+ PR libfortran/20661
+ PR libfortran/20744
+ * io/transfer.c (top level): eor_condition: New static variable.
+ (read_sf): Remove unnecessary zeroing of buffer (there is enough
+ information in its length).
+ Return a string of length 0 (to be padded by caller) if EOR was
+ seen previously.
+ Remove erroneous special casing of EOR for standard input.
+ Set eor_condition for non-advancing I/O if an end of line was
+ detected.
+ Increment ioparm.size if necessary.
+ (formatted_transfer): Skip the function if there is an EOR condition.
+ (data_transfer_init): Initialize eor_condition to zero (false).
+ (next_record_r): Clear sf_seen_eor if a \n has been seen already.
+ (finalize_transfer): If there is an EOR condition, raise the error.
+
+2005-04-09 Bud Davis <bdavis@gfortran.org>
+ Steven G. Kargl <kargls@comcast.net>
+
+ PR fortran/19872
+ * io/transfer.c (data_transfer_init): truncate an existing
+ file on the first write.
+
+2005-04-09 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/19106
+ PR libfortran/19014
+ * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): ditto.
+ If retarray->data is NULL (i.e. the front end does not
+ know the rank and dimenson of the array), fill in its
+ properties and allocate memory.
+ Change the assertions about rank and dimension of retarray into
+ runtime errors and only check them for retarray->data != NULL.
+ Do the same for correcting the stride from 0 to 1 in retarray.
+ (`m'name`'rtype_qual`_'atype_code): Likewise.
+ * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
+ Change assertion about rank of array to runtime error.
+ (`m'name`'rtype_qual`_'atype_code): Likewise.
+ * generated/all_l4.c: Regenerated.
+ * generated/all_l8.c: Regenerated.
+ * generated/any_l4.c: Regenerated.
+ * generated/any_l8.c: Regenerated.
+ * generated/count_4_l4.c: Regenerated.
+ * generated/count_4_l8.c: Regenerated.
+ * generated/count_8_l4.c: Regenerated.
+ * generated/count_8_l8.c: Regenerated.
+ * generated/maxloc0_4_i4.c: Regenerated.
+ * generated/maxloc0_4_i8.c: Regenerated.
+ * generated/maxloc0_4_r4.c: Regenerated.
+ * generated/maxloc0_4_r8.c: Regenerated.
+ * generated/maxloc0_8_i4.c: Regenerated.
+ * generated/maxloc0_8_i8.c: Regenerated.
+ * generated/maxloc0_8_r4.c: Regenerated.
+ * generated/maxloc0_8_r8.c: Regenerated.
+ * generated/maxloc1_4_i4.c: Regenerated.
+ * generated/maxloc1_4_i8.c: Regenerated.
+ * generated/maxloc1_4_r4.c: Regenerated.
+ * generated/maxloc1_4_r8.c: Regenerated.
+ * generated/maxloc1_8_i4.c: Regenerated.
+ * generated/maxloc1_8_i8.c: Regenerated.
+ * generated/maxloc1_8_r4.c: Regenerated.
+ * generated/maxloc1_8_r8.c: Regenerated.
+ * generated/maxval_i4.c: Regenerated.
+ * generated/maxval_i8.c: Regenerated.
+ * generated/maxval_r4.c: Regenerated.
+ * generated/maxval_r8.c: Regenerated.
+ * generated/minloc0_4_i4.c: Regenerated.
+ * generated/minloc0_4_i8.c: Regenerated.
+ * generated/minloc0_4_r4.c: Regenerated.
+ * generated/minloc0_4_r8.c: Regenerated.
+ * generated/minloc0_8_i4.c: Regenerated.
+ * generated/minloc0_8_i8.c: Regenerated.
+ * generated/minloc0_8_r4.c: Regenerated.
+ * generated/minloc0_8_r8.c: Regenerated.
+ * generated/minloc1_4_i4.c: Regenerated.
+ * generated/minloc1_4_i8.c: Regenerated.
+ * generated/minloc1_4_r4.c: Regenerated.
+ * generated/minloc1_4_r8.c: Regenerated.
+ * generated/minloc1_8_i4.c: Regenerated.
+ * generated/minloc1_8_i8.c: Regenerated.
+ * generated/minloc1_8_r4.c: Regenerated.
+ * generated/minloc1_8_r8.c: Regenerated.
+ * generated/minval_i4.c: Regenerated.
+ * generated/minval_i8.c: Regenerated.
+ * generated/minval_r4.c: Regenerated.
+ * generated/minval_r8.c: Regenerated.
+ * generated/product_c4.c: Regenerated.
+ * generated/product_c8.c: Regenerated.
+ * generated/product_i4.c: Regenerated.
+ * generated/product_i8.c: Regenerated.
+ * generated/product_r4.c: Regenerated.
+ * generated/product_r8.c: Regenerated.
+ * generated/sum_c4.c: Regenerated.
+ * generated/sum_c8.c: Regenerated.
+ * generated/sum_i4.c: Regenerated.
+ * generated/sum_i8.c: Regenerated.
+ * generated/sum_r4.c: Regenerated.
+ * generated/sum_r8.c: Regenerated.
+
+2005-04-09 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/20163
+ * runtime/string.c (compare0): Use fstrlen() to
+ strip trailing blanks from option string.
+
+2005-04-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR fortran/13257
+ * format.c (parse_format_list): Allow an optional comma
+ between descriptors.
+
+2005-04-08 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * io/backspace.c (unformatted_backspace): Do not dereference
+ the pointer to the stream.
+
+2005-04-07 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR libfortran/20766
+ * configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
+ "-Wl,-single_module".
+ * configure: Regenerate.
+ * Makefile.am (libgfortran_la_LDFLAGS): Add extra_ldflags_libgfortran.
+ * Makefile.in: Regenerate.
+
+2005-04-05 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20755
+ * write.c (write_float): A G edit descriptor may locally change
+ the scale factor, but it needs to be restored afterwards.
+
+2005-04-03 Dale Ranta <dir@lanl.gov>
+ Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20068
+ PR libfortran/20125
+ PR libfortran/20156
+ PR libfortran/20471
+ * io/backspace.c (unformatted_backspace): Fix error in arithmetic.
+ (st_backspace): When in WRITING mode, we flush and falling back
+ into READING mode. In all cases, correctly position the stream.
+
+2005-03-31 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20660
+ * io/inquire.c (inquire_via_unit): Non-opened units should still be
+ reported by an INQUIRE statement as existing.
+ * io/transfer.c (data_transfer_init): Never accept negative units.
+
+2005-03-29 Dale Ranta <dir@lanl.gov>
+ Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20163
+ * io/open.c (st_open): call library_end() before returning even if
+ an error arises.
+
+2005-03-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/19678
+ * list_read.c (next_char, eat_separator, finish_separator, read_real)
+ (namelist_read): Add support for '\r' as well as '\n' as EOL
+ character.
+
+ PR libfortran/19679
+ * list_read.c (read_sf): Add a '\r' in a test to support DOS
+ line-endings when line length is exceeded.
+
+2005-03-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/15332
+ * io/format.c (parse_format_list): format node for colon edit
+ descriptor needs a repeat counter set to 1.
+
+2005-02-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * config.h.in: Regenerate.
+
+2005-02-23 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/18025
+ * write.c (output_float): Handling the "F0.d" format similarly as
+ commercial compilers.
+
+2005-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ * Makefile.am: Added new files.
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * configure.ac: add checks for signal.h headers file, as well as
+ following functions: chdir, strerror, getlogin, gethostname, kill,
+ link, symlink, perror, sleep, time.
+ * configure: Regenerate.
+ * intrinsics/chdir.c, intrinsics/gerror.c, intrinsics/getlog.c,
+ intrinsics/hostnm.c, intrinsics/ierrno.c, intrinsics/kill.c,
+ intrinsics/link.c, intrinsics/perror.c, intrinsics/rename.c,
+ intrinsics/sleep.c, intrinsics/symlnk.c, intrinsics/time.c: Newly
+ implementend g77 intrinsics.
+
+2005-03-21 Zack Weinberg <zack@codesourcery.com>
+
+ * configure.ac: Do not invoke TL_AC_GCC_VERSION.
+ In all substitutions, leave gcc_version to be expanded by the Makefile.
+ * aclocal.m4, configure: Regenerate.
+ * Makefile.am: Set gcc_version.
+ * Makefile.in: Regenerate.
+
+2005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20257
+ * open.c (new_unit): set record length to max_offset rather than
+ using a hard-coded limit (which was too low).
+
+2005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20480
+ * write.c (output_float): special check when writing 0.0 with
+ EN and ES formats.
+
+2005-03-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20124
+ * write.c (output_float): Adds a nzero_real variable to store
+ the number of leading zeros whatever the format width is. Corrects
+ the rounding of numbers less than 10^(-width). Fixes typo in an
+ error message. Updates copyright years
+
+2005-02-27 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ * runtime/environ.c: Update copyright years.
+
+2005-02-27 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * io/write.c: Update copyright years.
+
+2005-02-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20101
+ * io/write.c (output_float): Added special check for value 0.0 in
+ PE format.
+
+2005-02-27 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ * io/write.c (output_float): Fix typo in condition.
+
+2005-02-25 Peter O'Gorman <peter@pogma.com>
+ Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR libgfortran/17748
+ * runtime/environ.c: Remove references to environ.
+ (show_variables): remove GFORTRAN_UNBUFFERED_* and
+ GFORTRAN_NAME_* because they require environ.
+ (pattern_scan): Remove function.
+
+2005-02-22 Paul Thomas <paulthomas2@wannado.fr>
+ Bud Davis <bdavis@gfortran.org>
+
+ * io/list_read.c (read_real): Handle separators properly
+ in list directed read.
+
+2005-02-21 Bud Davis <bdavis@gfortran.org>
+
+ PR fortran/20086
+ * io/transfer.c (write_constant_string): accept an 'h' as
+ the start of a hollerith format string.
+
+2005-02-21 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR libfortran/19302
+ * intrinsics/c99_functions.c (nextafterf): Special-case infinite
+ numbers.
+
+2005-02-21 Steven G. Kargl <kargls@comcast.net>
+
+ * io/write.c (output_float): Typo in error meesage.
+
+2005-02-20 Steven G. Kargl <kargls@comcast.net>
+
+ PR 20085
+ * intrinsic/args.c (iargc): Off by 1.
+
+2005-02-19 Steven G. Kargl <kargls@comcast.net>
+
+ * intrinsic/date_and_time.c: Fix conformance problems.
+
+2005-02-01 Paul Thomas <paulthomas2@wanadoo.fr>
+
+ PR libgfortran/19363
+ PR libgfortran/19691
+ * libgfortran.h (isfinite): Work around broken isfinite(x) in Cygwin.
+
+2005-01-30 Bud Davis <bdavis@gfortran.org>
+
+ PR fortran/19647
+ * io/inquire.c (inquire_via_unit): Use correct variable for
+ pad.
+
+2005-01-29 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/19595
+ * io/transfer.c (data_transfer_init): eor requires advance="NO".
+
+2005-01-25 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR libfortran/19524
+ * io/read.c (read_f): Don't free uninitialized pointer.
+
+2005-01-23 James A. Morrison <phython@gcc.gnu.org>
+ Paul Brook <paul@codesourcery.com>
+
+ PR fortran/19294
+ * Makefile.am: Add transpose_c4.c and transpose_c8.c.
+ * intrinsics/cshift0.c: Use separate optimized loops for complex types.
+ * m4/transpose.m4: Include type letter in function name.
+ * Makefile.in: Regenerate.
+ * generated/transpose_*.c: Regenerate.
+
+2005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/19451
+ * io/transfer.c (finalize_transfer): Don't do anything if
+ there is an error condition.
+
+2005-01-22 David Edelsohn <edelsohn@gnu.org>
+
+ PR libgfortran/19052
+ * libgfortran.h (options_t): Add stderr_unit.
+ * io/io.h (error_stream): Declare.
+ * io/open.c (new_unit): Do not terminate abnormally if opening
+ file preconnected to stdin, stdout, or stderr.
+ * io/unit.c (init_units): Initialize stderr_unit.
+ * io/unix.c (error_stream): New function.
+ * runtime/environ.c (GFORTRAN_STDERR_UNIT): New environment variable.
+
+2005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/18982
+ * io/unix.c (regular_file): No need to change flags->action
+ if an error occurs. Document this.
+ No need to call stat() for STATUS_OLD, open() will
+ fail anyway.
+ For ACTION_UNSPECIFIED, try open for read-write, then for
+ read-only if open fails with EACCES, then for write-only
+ if that fails with EACCES again.
+ * io/unix.c (open_external): Document changed behavior of
+ regular_file.
+
+2005-01-22 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/19194
+ * io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int',
+ use CHARACTER macro for definition of string valued paramters.
+
+2005-01-22 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/19314
+ * io/inquire.c(inquire_via_unit): implement POSITION=.
+ * io/transfer.c(next_record): update position for
+ INQUIRE.
+ * io/rewind.c(st_rewind): update position for
+ INQUIRE.
+
+2005-01-16 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/18778
+ * io/transfer.c (us_read): no bytes available is not a
+ runtime error.
+
+2005-01-15 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/18983
+ * io/transfer.c (st_write_done): only truncate when it
+ is required.
+
+2005-01-12 Toon Moene <toon@moene.indiv.nluug.nl>
+
+ PR libfortran/19280
+ c99_protos.h: License changed to GPL+exception.
+ libgfortran.h: Ditto.
+ intrinsics/abort.c: Ditto.
+ intrinsics/args.c: Ditto.
+ intrinsics/associated.c: Ditto.
+ intrinsics/bessel.c: Ditto.
+ intrinsics/c99_functions.c: Ditto.
+ intrinsics/cpu_time.c: Ditto.
+ intrinsics/cshift0.c: Ditto.
+ intrinsics/date_and_time.c: Ditto.
+ intrinsics/env.c: Ditto.
+ intrinsics/eoshift0.c: Ditto.
+ intrinsics/eoshift2.c: Ditto.
+ intrinsics/erf.c: Ditto.
+ intrinsics/etime.c: Ditto.
+ intrinsics/exit.c: Ditto.
+ intrinsics/flush.c: Ditto.
+ intrinsics/fnum.c: Ditto.
+ intrinsics/getXid.c: Ditto.
+ intrinsics/getcwd.c: Ditto.
+ intrinsics/ishftc.c: Ditto.
+ intrinsics/mvbits.c: Ditto.
+ intrinsics/pack_generic.c: Ditto.
+ intrinsics/rand.c: Ditto.
+ intrinsics/random.c: Ditto.
+ intrinsics/reshape_generic.c: Ditto.
+ intrinsics/reshape_packed.c: Ditto.
+ intrinsics/size.c: Ditto.
+ intrinsics/spread_generic.c: Ditto.
+ intrinsics/stat.c: Ditto.
+ intrinsics/string_intrinsics.c: Ditto.
+ intrinsics/system.c: Ditto.
+ intrinsics/system_clock.c: Ditto.
+ intrinsics/transpose_generic.c: Ditto.
+ intrinsics/umask.c: Ditto.
+ intrinsics/unlink.c: Ditto.
+ intrinsics/unpack_generic.c: Ditto.
+ io/backspace.c: Ditto.
+ io/close.c: Ditto.
+ io/endfile.c: Ditto.
+ io/format.c: Ditto.
+ io/inquire.c: Ditto.
+ io/io.h: Ditto.
+ io/list_read.c: Ditto.
+ io/lock.c: Ditto.
+ io/open.c: Ditto.
+ io/read.c: Ditto.
+ io/rewind.c: Ditto.
+ io/transfer.c: Ditto.
+ io/unit.c: Ditto.
+ io/unix.c: Ditto.
+ io/write.c: Ditto.
+ m4/all.m4: Ditto.
+ m4/any.m4: Ditto.
+ m4/cexp.m4: Ditto.
+ m4/chyp.m4: Ditto.
+ m4/count.m4: Ditto.
+ m4/cshift1.m4: Ditto.
+ m4/ctrig.m4: Ditto.
+ m4/dotprod.m4: Ditto.
+ m4/dotprodc.m4: Ditto.
+ m4/dotprodl.m4: Ditto.
+ m4/eoshift1.m4: Ditto.
+ m4/eoshift3.m4: Ditto.
+ m4/exponent.m4: Ditto.
+ m4/fraction.m4: Ditto.
+ m4/head.m4: Ditto.
+ m4/iforeach.m4: Ditto.
+ m4/ifunction.m4: Ditto.
+ m4/in_pack.m4: Ditto.
+ m4/in_unpack.m4: Ditto.
+ m4/iparm.m4: Ditto.
+ m4/matmul.m4: Ditto.
+ m4/matmull.m4: Ditto.
+ m4/maxloc0.m4: Ditto.
+ m4/maxloc1.m4: Ditto.
+ m4/maxval.m4: Ditto.
+ m4/minloc0.m4: Ditto.
+ m4/minloc1.m4: Ditto.
+ m4/minval.m4: Ditto.
+ m4/mtype.m4: Ditto.
+ m4/nearest.m4: Ditto.
+ m4/pow.m4: Ditto.
+ m4/product.m4: Ditto.
+ m4/reshape.m4: Ditto.
+ m4/set_exponent.m4: Ditto.
+ m4/shape.m4: Ditto.
+ m4/specific.m4: Ditto.
+ m4/specific2.m4: Ditto.
+ m4/sum.m4: Ditto.
+ m4/transpose.m4: Ditto.
+ m4/types.m4: Ditto.
+ runtime/environ.c: Ditto.
+ runtime/error.c: Ditto.
+ runtime/in_pack_generic.c: Ditto.
+ runtime/in_unpack_generic.c: Ditto.
+ runtime/main.c: Ditto.
+ runtime/memory.c: Ditto.
+ runtime/normalize.c: Ditto.
+ runtime/pause.c: Ditto.
+ runtime/select.c: Ditto.
+ runtime/stop.c: Ditto.
+ runtime/string.c: Ditto.
+ generated/_abs_c4.f90: Regenerated.
+ generated/_abs_c8.f90: Regenerated.
+ generated/_abs_i4.f90: Regenerated.
+ generated/_abs_i8.f90: Regenerated.
+ generated/_abs_r4.f90: Regenerated.
+ generated/_abs_r8.f90: Regenerated.
+ generated/_acos_r4.f90: Regenerated.
+ generated/_acos_r8.f90: Regenerated.
+ generated/_aint_r4.f90: Regenerated.
+ generated/_aint_r8.f90: Regenerated.
+ generated/_anint_r4.f90: Regenerated.
+ generated/_anint_r8.f90: Regenerated.
+ generated/_asin_r4.f90: Regenerated.
+ generated/_asin_r8.f90: Regenerated.
+ generated/_atan2_r4.f90: Regenerated.
+ generated/_atan2_r8.f90: Regenerated.
+ generated/_atan_r4.f90: Regenerated.
+ generated/_atan_r8.f90: Regenerated.
+ generated/_conjg_c4.f90: Regenerated.
+ generated/_conjg_c8.f90: Regenerated.
+ generated/_cos_c4.f90: Regenerated.
+ generated/_cos_c8.f90: Regenerated.
+ generated/_cos_r4.f90: Regenerated.
+ generated/_cos_r8.f90: Regenerated.
+ generated/_cosh_r4.f90: Regenerated.
+ generated/_cosh_r8.f90: Regenerated.
+ generated/_dim_i4.f90: Regenerated.
+ generated/_dim_i8.f90: Regenerated.
+ generated/_dim_r4.f90: Regenerated.
+ generated/_dim_r8.f90: Regenerated.
+ generated/_exp_c4.f90: Regenerated.
+ generated/_exp_c8.f90: Regenerated.
+ generated/_exp_r4.f90: Regenerated.
+ generated/_exp_r8.f90: Regenerated.
+ generated/_log10_r4.f90: Regenerated.
+ generated/_log10_r8.f90: Regenerated.
+ generated/_log_c4.f90: Regenerated.
+ generated/_log_c8.f90: Regenerated.
+ generated/_log_r4.f90: Regenerated.
+ generated/_log_r8.f90: Regenerated.
+ generated/_mod_i4.f90: Regenerated.
+ generated/_mod_i8.f90: Regenerated.
+ generated/_mod_r4.f90: Regenerated.
+ generated/_mod_r8.f90: Regenerated.
+ generated/_sign_i4.f90: Regenerated.
+ generated/_sign_i8.f90: Regenerated.
+ generated/_sign_r4.f90: Regenerated.
+ generated/_sign_r8.f90: Regenerated.
+ generated/_sin_c4.f90: Regenerated.
+ generated/_sin_c8.f90: Regenerated.
+ generated/_sin_r4.f90: Regenerated.
+ generated/_sin_r8.f90: Regenerated.
+ generated/_sinh_r4.f90: Regenerated.
+ generated/_sinh_r8.f90: Regenerated.
+ generated/_sqrt_c4.f90: Regenerated.
+ generated/_sqrt_c8.f90: Regenerated.
+ generated/_sqrt_r4.f90: Regenerated.
+ generated/_sqrt_r8.f90: Regenerated.
+ generated/_tan_r4.f90: Regenerated.
+ generated/_tan_r8.f90: Regenerated.
+ generated/_tanh_r4.f90: Regenerated.
+ generated/_tanh_r8.f90: Regenerated.
+ generated/all_l4.c: Regenerated.
+ generated/all_l8.c: Regenerated.
+ generated/any_l4.c: Regenerated.
+ generated/any_l8.c: Regenerated.
+ generated/count_4_l4.c: Regenerated.
+ generated/count_4_l8.c: Regenerated.
+ generated/count_8_l4.c: Regenerated.
+ generated/count_8_l8.c: Regenerated.
+ generated/cshift1_4.c: Regenerated.
+ generated/cshift1_8.c: Regenerated.
+ generated/dotprod_c4.c: Regenerated.
+ generated/dotprod_c8.c: Regenerated.
+ generated/dotprod_i4.c: Regenerated.
+ generated/dotprod_i8.c: Regenerated.
+ generated/dotprod_l4.c: Regenerated.
+ generated/dotprod_l8.c: Regenerated.
+ generated/dotprod_r4.c: Regenerated.
+ generated/dotprod_r8.c: Regenerated.
+ generated/eoshift1_4.c: Regenerated.
+ generated/eoshift1_8.c: Regenerated.
+ generated/eoshift3_4.c: Regenerated.
+ generated/eoshift3_8.c: Regenerated.
+ generated/exp_c4.c: Regenerated.
+ generated/exp_c8.c: Regenerated.
+ generated/exponent_r4.c: Regenerated.
+ generated/exponent_r8.c: Regenerated.
+ generated/fraction_r4.c: Regenerated.
+ generated/fraction_r8.c: Regenerated.
+ generated/hyp_c4.c: Regenerated.
+ generated/hyp_c8.c: Regenerated.
+ generated/in_pack_i4.c: Regenerated.
+ generated/in_pack_i8.c: Regenerated.
+ generated/in_unpack_i4.c: Regenerated.
+ generated/in_unpack_i8.c: Regenerated.
+ generated/matmul_c4.c: Regenerated.
+ generated/matmul_c8.c: Regenerated.
+ generated/matmul_i4.c: Regenerated.
+ generated/matmul_i8.c: Regenerated.
+ generated/matmul_l4.c: Regenerated.
+ generated/matmul_l8.c: Regenerated.
+ generated/matmul_r4.c: Regenerated.
+ generated/matmul_r8.c: Regenerated.
+ generated/maxloc0_4_i4.c: Regenerated.
+ generated/maxloc0_4_i8.c: Regenerated.
+ generated/maxloc0_4_r4.c: Regenerated.
+ generated/maxloc0_4_r8.c: Regenerated.
+ generated/maxloc0_8_i4.c: Regenerated.
+ generated/maxloc0_8_i8.c: Regenerated.
+ generated/maxloc0_8_r4.c: Regenerated.
+ generated/maxloc0_8_r8.c: Regenerated.
+ generated/maxloc1_4_i4.c: Regenerated.
+ generated/maxloc1_4_i8.c: Regenerated.
+ generated/maxloc1_4_r4.c: Regenerated.
+ generated/maxloc1_4_r8.c: Regenerated.
+ generated/maxloc1_8_i4.c: Regenerated.
+ generated/maxloc1_8_i8.c: Regenerated.
+ generated/maxloc1_8_r4.c: Regenerated.
+ generated/maxloc1_8_r8.c: Regenerated.
+ generated/maxval_i4.c: Regenerated.
+ generated/maxval_i8.c: Regenerated.
+ generated/maxval_r4.c: Regenerated.
+ generated/maxval_r8.c: Regenerated.
+ generated/minloc0_4_i4.c: Regenerated.
+ generated/minloc0_4_i8.c: Regenerated.
+ generated/minloc0_4_r4.c: Regenerated.
+ generated/minloc0_4_r8.c: Regenerated.
+ generated/minloc0_8_i4.c: Regenerated.
+ generated/minloc0_8_i8.c: Regenerated.
+ generated/minloc0_8_r4.c: Regenerated.
+ generated/minloc0_8_r8.c: Regenerated.
+ generated/minloc1_4_i4.c: Regenerated.
+ generated/minloc1_4_i8.c: Regenerated.
+ generated/minloc1_4_r4.c: Regenerated.
+ generated/minloc1_4_r8.c: Regenerated.
+ generated/minloc1_8_i4.c: Regenerated.
+ generated/minloc1_8_i8.c: Regenerated.
+ generated/minloc1_8_r4.c: Regenerated.
+ generated/minloc1_8_r8.c: Regenerated.
+ generated/minval_i4.c: Regenerated.
+ generated/minval_i8.c: Regenerated.
+ generated/minval_r4.c: Regenerated.
+ generated/minval_r8.c: Regenerated.
+ generated/nearest_r4.c: Regenerated.
+ generated/nearest_r8.c: Regenerated.
+ generated/pow_c4_i4.c: Regenerated.
+ generated/pow_c4_i8.c: Regenerated.
+ generated/pow_c8_i4.c: Regenerated.
+ generated/pow_c8_i8.c: Regenerated.
+ generated/pow_i4_i4.c: Regenerated.
+ generated/pow_i4_i8.c: Regenerated.
+ generated/pow_i8_i4.c: Regenerated.
+ generated/pow_i8_i8.c: Regenerated.
+ generated/pow_r4_i4.c: Regenerated.
+ generated/pow_r4_i8.c: Regenerated.
+ generated/pow_r8_i4.c: Regenerated.
+ generated/pow_r8_i8.c: Regenerated.
+ generated/product_c4.c: Regenerated.
+ generated/product_c8.c: Regenerated.
+ generated/product_i4.c: Regenerated.
+ generated/product_i8.c: Regenerated.
+ generated/product_r4.c: Regenerated.
+ generated/product_r8.c: Regenerated.
+ generated/reshape_i4.c: Regenerated.
+ generated/reshape_i8.c: Regenerated.
+ generated/set_exponent_r4.c: Regenerated.
+ generated/set_exponent_r8.c: Regenerated.
+ generated/shape_i4.c: Regenerated.
+ generated/shape_i8.c: Regenerated.
+ generated/sum_c4.c: Regenerated.
+ generated/sum_c8.c: Regenerated.
+ generated/sum_i4.c: Regenerated.
+ generated/sum_i8.c: Regenerated.
+ generated/sum_r4.c: Regenerated.
+ generated/sum_r8.c: Regenerated.
+ generated/transpose_i4.c: Regenerated.
+ generated/transpose_i8.c: Regenerated.
+ generated/trig_c4.c: Regenerated.
+ generated/trig_c8.c: Regenerated.
+
+2005-01-07 Bud Davis <bdavis9659@comcast.net>
+
+ PR fortran/18398
+ * transfer.c (next_record_r): always skip the
+ eol search if it was found during sf_read.