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.
