diff options
author | kargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-01 17:14:35 +0000 |
---|---|---|
committer | kargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-01 17:14:35 +0000 |
commit | 9815425b85a72d2c663dd09e2e7aa02af7c1b5b3 (patch) | |
tree | a034ea972623e4f26d7c9cb1caf816f95fb8a7de | |
parent | 7f1fc9392231df89c2725d41bc8b0a0d7c2518fd (diff) | |
download | gcc-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/ChangeLog | 4629 | ||||
-rw-r--r-- | libgfortran/ChangeLog-2002 | 60 | ||||
-rw-r--r-- | libgfortran/ChangeLog-2003 | 542 | ||||
-rw-r--r-- | libgfortran/ChangeLog-2004 | 1104 | ||||
-rw-r--r-- | libgfortran/ChangeLog-2005 | 2915 |
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. |