2007-12-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/22423
	* intrinsics/pack_generic.c (pack): Change type of mask argument
	to gfc_array_l1 * in prototype and function.
	(pack_char):  Likewise.
	* intrinsics/unpack_generic.c (unpack1):  Likewise.
	(unpack1_char):  Likewise.
	(unpack0):  Likewise.
	(unpack0_char):  Likewise.

2007-12-27  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/34594
	* runtime/error.c: If there was a previous error, don't
	mask it with another error mesage, EOF or EOR condition.

2007-12-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/34560
	* io/transfer.c (read_sf): Check if readlen was less than the requested
	number of bytes to read and if so, generate error.

2007-12-25  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/34533
	* intrinsics/cpu_time.c: Moved code commonly usable for CPU_TIME,
	DTIME and ETIME to ...
	* intrinsics/time_1.h: ... here.
	* intrinsics/dtime.c: New file.
	* intrinsics/etime.c: Newly implemented using the common 
	time-aquisition function from time_1.h.
	* gfortran.map (_gfortran_dtime, _gfortran_dtime_sub): New.
	* Makefile.am: Added new file.
	* Makefile.in: Regenerated.
	* configure: Regenerated.

2007-12-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/34566
	* m4/matmull.m4:  Multiply xstride and ystride by correct kind.
	* generated/matmul_l4.c:  Regenerated.
	* generated/matmul_l8.c:  Regenerated.
	* generated/matmul_l16.c:  Regenerated.

2007-12-19  Tobias Burnus  <burnus@net-b.de>

	PR fortran/34530
	* io/list_read.c (eat_line): Move up in the file.
	(eat_separator): In namelist mode, skip over comment lines.

2007-12-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/34427
	* io/list_read.c (read_real): Handle intervening line ends and spaces.
	(get_name): Don't push separators to saved_string.
	(eat_separator): If in namelist mode eat spaces and line ends as well.

2007-12-13  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/34370
	PR libfortran/34323
	PR libfortran/34405
	* io/io.h:  Add previous_nonadvancing_write to gfc_unit.
	Add prototype for finish_last_advance_record.
	* io/file_pos.c (st_backspace):  Generate error if backspace is
	attempted for direct access or unformatted stream.
	If there are bytes left from a previous ADVANCE="no", write
	them out before performing the backspace.
	(st_endfile):  Generate error if endfile is attempted for
	direct access.
	If there are bytes left from a previous ADVANCE="no", write
	them out before performing the endfile.
	(st_rewind):  Generate error if rewind is attempted for
	direct access.
	* unit.c (close_unit_1):  Move functionality to write
	previously written bytes to...
	(finish_last_advance_record):  ... here.
	* transfer.c (data_transfer_init):  If reading, reset
	previous_nonadvancing_write.
	(finalize_transfer):  Set the previous_noadvancing_write
	flag if we are writing and ADVANCE="no" was specified.
	Only call next_record() if advance="no" wasn't specified.

2007-12-13  Tobias Burnus  <burnus@net-b.de>

	PR fortran/34427
	* io/list_read.c (read_real): Fix unwinding for namelists.

2007-12-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/34411
	* io/read.c (convert_real, read_l, read_decimal, read_radix, read_f):
	Call next_record after bad read or overflow error.

2007-12-09  Tobias Burnus  <burnus@net-b.de>

	PR fortran/34404
	* io/list_read.c (parse_real): Remove superfluous "goto bad;".

2007-12-08  Tobias Burnus  <burnus@net-b.de>

	PR fortran/34319
	* io/list_read.c (parse_real, read_real): Support NaN/Infinity.

2007-12-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/33985
	* io/transfer.c (read_block, read_block_direct, write_block, write_buf):
	Don't seek if file position is already there for STREAM I/O.
	(finalize_transfer): For STREAM I/O don't flush unless the file position
	has moved past the start position before the transfer.

2007-12-01  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* intrinsic/stat.c (stat_i4_sub_0, stat_i8_sub_0): Mark parameter
	with unused attribute.
	* intrinsics/system_clock.c (system_clock_4, system_clock_8):
	Remove unused variable.
	* intrinsics/umask.c: Include unistd.h.

2007-11-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/34291
	* io/list_read.c (read_character): When reading an unquoted string,
	return if special characters that could signify the end of the namelist
	read are encountered.

2007-11-29  Steven G. Kargl  <kargls@comcast.net>

	PR libfortran/33583
	* libgfortran/gfortran.map: Add tgammaf, tgamma, lgamma, and lgammaf.
	* gfortran.dg/gamma_5.f90: Remove xfail.

2007-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/33583
	PR libfortran/33698
	* intrinsics/c99_functions.c (tgamma, tgammaf, lgamma, lgammaf):
	New fallback functions.
	* c99_protos.h (tgamma, tgammaf, lgamma, lgammaf): New prototypes.
	* configure.ac: Add checks for tgamma, tgammaf, tgammal, lgamma,
	lgammaf and lgammal.
	* config.h.in: Regenerate.
	* configure: Regenerate.

2007-11-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* mk-kinds-h.sh: Change sed syntax.

2007-11-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33985
	* io/transfer.c (finalize_transfer): Revert previous patch.
	
2007-11-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33985
	* io/transfer.c (finalize_transfer): Do not flush for
	unformatted STREAM I/O.

2007-10-27  Tobias Burnus  <burnus@net-b.de>

	* mk-kinds-h.sh: Change LANG=C to LC_ALL=C.

2007-10-26  Tobias Burnus  <burnus@net-b.de>

	* mk-kinds-h.sh: Add "LANG=C".

2007-10-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* libgfortran.h (GFC_REAL_*_HUGE, GFC_REAL_*_DIGITS,
	GFC_REAL_*_RADIX): Remove.
	* mk-kinds-h.sh: Define GFC_REAL_*_HUGE, GFC_REAL_*_DIGITS and
	GFC_REAL_*_RADIX. Don't define GFC_REAL_LARGEST_FORMAT and
	GFC_REAL_LARGEST.

2007-10-19  Ben Elliston  <bje@au.ibm.com>

	* intrinsics/signal.c (alarm_sub_i4): Mark conditionally unused
	parameters with __attribute__ ((unused)).
	(alarm_sub_i8): Likewise.
	(alarm_sub_int_i4): Likewise.
	(alarm_sub_int_i8): Likewise.

2007-10-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
	    Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33795
	* libgfortran.h: Add unbuffered_preconnected.
	* io/unix.c (output_stream): Set stream unbuffered flag if
	options.unbuffered_preconnected has been set.
	(error_stream): Ditto.
	* runtime/environ.c (variable_table): Add to environment variable table
	the entry: GFORTRAN_UNBUFFERED_PRECONNECTED. 
	
2007-10-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/32021
	* runtime/backtrace.c (local_strcasestr): Protect by appropriate
	macros.
	* runtime/main.c (cleanup): Cast argument to free.
	* intrinsics/spread_generic.c (spread_internal): Match runtime_error
	arguments and format.
	* intrinsics/signal.c (alarm_sub_int_i4, alarm_sub_int_i8): Cast
	pointers to avoid warnings.

2007-10-18  Ben Elliston  <bje@au.ibm.com>

	* runtime/environ.c (init_choice): Remove unused function.
	(show_choice): Likewise.
	(choice): Remove.
	(FP_ROUND_NEAREST, FP_ROUND_UP, FP_ROUND_DOWN, FP_ROUND_ZERO):
	Remove.
	(precision, signal_choices): Remove.

2007-10-15 Christopher D. Rickett <crickett@lanl.gov>

	PR fortran/32600
	* libgfortran/intrinsics/iso_c_binding.c: Remove c_associated_1
	and c_associated_2.
	* libgfortran/intrinsics/iso_c_binding.h: Ditto.
	* libgfortran/gfortran.map: Ditto.

2007-10-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33055
	* io/inquire.c (inquire_via_unit):  If inquiring by unit, check for
	an error condition from the IOSTAT variable and set EXIST to false if
	there was a bad unit number.

2007-10-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33672
	* io/list_read.c (nml_parse_qualifier): Add character specific error
	messages.  Check for proper form of sub-string qualifiers.  Return the
	parsed_rank flag indicating a non-zero rank qualifier.
	(nml_get_obj_data):  Count the instances of non-zero rank qualifiers.
	Issue an error if more that one non-zero rank qualifier is found.

2007-10-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33253
	* io/list_read.c (read_character): Use line_buffer to scan ahead for
	object name or string when no delimiter is found.

2007-10-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/32021
	* runtime/environ.c (init_mem, show_mem, init_round, show_round,
	init_precision, show_precision, init_signal, show_signal): Remove.
	(variable_table): Remove GFORTRAN_MEM_INIT, GFORTRAN_MEM_CHECK,
	GFORTRAN_SIGHUP, GFORTRAN_SIGINT, GFORTRAN_FPU_ROUND and
	GFORTRAN_FPU_PRECISION.
	* libgfortran.h (options_t): Remove mem_check, fpu_round,
	fpu_precision, sighup, sigint, allocate_init_flag and
	allocate_init_value.

2007-10-02  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33253
	* io/list_read.c (read_character): Use DELIM_APOSTROPHE and DELIM_QUOTE
	and quote value in check of first character in string.

2007-10-02  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/33469
	* io/write.c (write_real): Widen the default formats.

2007-09-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33400
	* io/list_read.c (next_char): Interpret encountering the end of file the
	first time as an end of line.  Subsequent reads give EOF error.

2007-09-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33421
	* io/list_read.c (read_character): Revert r128057.

2007-09-21  Bernhard Fischer  <aldot>

	PR fortran/31546
	* (configure.ac): Add --enable-intermodule for onestep build.
	* (Makefile.am): Handle onestep build.
	* (configure, Makefile.in): Regenerate.

2007-09-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/26253
	* intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate.

2007-09-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/23272
	* io/unix.c (id_from_handle, id_from_path, id_from_fd): New
	functions.
	(compare_file_filename, find_file, find_file0): Use the new
	functions above.

2007-09-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* acinclude.m4 (LIBGFOR_TARGET_ILP32): Remove test.
	* configure.ac: Don't call LIBGFOR_TARGET_ILP32.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2007-09-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/21185
	* runtime/compile_options.c (set_options): Fix typo.
	* runtime/main.c (store_exe_path): If getcwd is not available,
	don't use it.
	* intrinsics/getcwd.c: Same thing here.
	* io/unix.c (fallback_access): New fallback function for access.
	(fix_fd): Don't use dup if it's not available.
	* configure.ac: Check for dup and getcwd.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2007-09-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* io/io.h: Include libgfortran.h first.

2007-09-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/33386
	* runtime/select.c (select_string): Initialize default_jump.

2007-09-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33307
	* io/filepos.c (st_backspace): Don't truncate when already at the end
	of the file.
	
2007-09-07  Uros Bizjak  <ubizjak@gmail.com>

	* config/fpu-387.h: Include cpuid.h.
	(set_fpu): Use __get_cpuid to check for SSE.

2007-09-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/33298
	* intrinsics/spread_generic.c(spread_internal): Enable
	bounds checking by comparing extents if the bounds_check
	option has been set.  If any extent is <=0, return early.

2007-09-06  David Edelsohn  <edelsohn@gnu.org>

	* libgfortran.h: Include config.h first.
	* io/io.h (struct stream): Rename truncate to trunc.
	* io/unix.c (fd_open): Same.
	(open_internal): Same.

2007-09-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33253
	* io/write.c (nml_write_obj): Set the delimiter correctly before
	calling write_character. (namelist_write): Clean up the code a little
	and add comments to clarify what its doing.

2007-09-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33225
	* io/write.c (stdbool.h): Add include. (sign_t): Move typedef to
	new file write_float.def. Include write_float.def.
	(extract_real): Delete. (calculate_sign): Delete.
	(calculate_exp): Delete. (calculate_G_format): Delete.
	(output_float): Delete. (write_float): Delete.
	* io/write_float.def (calculate_sign): Added.
	(output_float): Refactored to be independent of kind and added to this
	file for inclusion. (write_infnan): New function to write "Infinite"
	or "NaN" depending on flags passed, independent of kind.
	(CALCULATE_EXP): New macro to build kind specific functions. Use it.
	(OUTPUT_FLOAT_FMT_G): New macro, likewise. Use it.
	(DTOA, DTOAL): Macros to implement "decimal to ascii".
	(WRITE_FLOAT): New macro for kind specific write_float functions.
	(write_float): Revised function to determine kind and use WRITE_FLOAT
	to implement kind specific output.

2007-09-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33253
	* io/list_read.c (read_character): Use DELIM_APOSTROPHE and
	DELIM_QUOTE in check of first character in string. 

2007-09-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/31675
	* libgfortran.h: Include gcc/fortran/libgfortran.h.
	Remove M_PI, GFC_MAX_DIMENSIONS, GFC_DTYPE_*, GFC_NUM_RANK_BITS,
	error_codes, GFC_STD_*, GFC_FPE_* and unit_convert.
	* runtime/environ.c (variable_table): Use GFC_*_UNIT_NUMBER instead
	of hardcoded constants.
	(do_parse, init_unformatted): Use GFC_CONVERT_* macros instead of
	CONVERT_*.
	* runtime/string.c (find_option): Use LIBERROR_BAD_OPTION instead
	of ERROR_BAD_OPTION.
	* runtime/error.c (translate_error, generate_error): Use
	LIBERROR_* macros instead of ERROR_*.
	* io/file_pos.c (formatted_backspace, unformatted_backspace,
	st_backspace, st_rewind, st_flush): Rename macros.
	* io/open.c (convert_opt, edit_modes, new_unit, already_open,
	st_open): Likewise.
	* io/close.c (st_close): Likewise.
	* io/list_read.c (next_char, convert_integer, parse_repeat,
	read_logical, read_integer, read_character, parse_real,
	check_type, list_formatted_read_scalar, namelist_read,
	nml_err_ret): Likewise.
	* io/read.c (convert_real, read_l, read_decimal, read_radix,
	read_f): Likewise.
	* io/inquire.c (inquire_via_unit): Likewise.
	* io/unit.c (get_internal_unit): Likewise.
	* io/transfer.c (read_sf, read_block, read_block_direct,
	write_block, write_buf, unformatted_read, unformatted_write,
	formatted_transfer_scalar, us_read, us_write, data_transfer_init,
	skip_record, next_record_r, write_us_marker, next_record_w_unf,
	next_record_w, finalize_transfer, st_read, st_write_done):
	Likewise.
	* io/format.c (format_error): Likewise.

2007-08-31  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* m4/minloc1.m4: Update copyright year and ajust headers order.
	* m4/maxloc1.m4: Likewise.
	* m4/in_pack.m4: Likewise.
	* m4/sum.m4: Likewise.
	* m4/fraction.m4: Likewise.
	* m4/all.m4: Likewise.
	* m4/set_exponent.m4: Likewise.
	* m4/transpose.m4: Likewise.
	* m4/eoshift1.m4: Likewise.
	* m4/spacing.m4: Likewise.
	* m4/eoshift3.m4: Likewise.
	* m4/minval.m4: Likewise.
	* m4/count.m4: Likewise.
	* m4/maxval.m4: Likewise.
	* m4/exponent.m4: Likewise.
	* m4/shape.m4: Likewise.
	* m4/head.m4: Likewise.
	* m4/cshift1.m4: Likewise.
	* m4/minloc0.m4: Likewise.
	* m4/nearest.m4: Likewise.
	* m4/maxloc0.m4: Likewise.
	* m4/pow.m4: Likewise.
	* m4/in_unpack.m4: Likewise.
	* m4/matmull.m4: Likewise.
	* m4/product.m4: Likewise.
	* m4/reshape.m4: Likewise.
	* m4/any.m4: Likewise.
	* m4/rrspacing.m4: Likewise.
	* m4/matmul.m4: Likewise.
	* runtime/backtrace.c: Likewise.
	* runtime/environ.c: Likewise.
	* runtime/in_pack_generic.c: Likewise.
	* runtime/compile_options.c: Likewise.
	* runtime/in_unpack_generic.c: Likewise.
	* runtime/main.c: Likewise.
	* runtime/stop.c: Likewise.
	* runtime/string.c: Likewise.
	* runtime/memory.c: Likewise.
	* runtime/error.c: Likewise.
	* runtime/pause.c: Likewise.
	* intrinsics/ierrno.c: Likewise.
	* intrinsics/system_clock.c: Likewise.
	* intrinsics/cshift0.c: Likewise.
	* intrinsics/unlink.c: Likewise.
	* intrinsics/ctime.c: Likewise.
	* intrinsics/etime.c: Likewise.
	* intrinsics/cpu_time.c: Likewise.
	* intrinsics/malloc.c: Likewise.
	* intrinsics/hostnm.c: Likewise.
	* intrinsics/sleep.c: Likewise.
	* intrinsics/exit.c: Likewise.
	* intrinsics/perror.c: Likewise.
	* intrinsics/transpose_generic.c: Likewise.
	* intrinsics/pack_generic.c: Likewise.
	* intrinsics/spread_generic.c: Likewise.
	* intrinsics/stat.c: Likewise.
	* intrinsics/string_intrinsics.c: Likewise.
	* intrinsics/getcwd.c: Likewise.
	* intrinsics/date_and_time.c: Likewise.
	* intrinsics/unpack_generic.c: Likewise.
	* intrinsics/move_alloc.c: Likewise.
	* intrinsics/getlog.c: Likewise.
	* intrinsics/eoshift0.c: Likewise.
	* intrinsics/eoshift2.c: Likewise.
	* intrinsics/reshape_generic.c: Likewise.
	* intrinsics/system.c: Likewise.
	* intrinsics/iso_c_binding.c: Likewise.
	* intrinsics/env.c: Likewise.
	* intrinsics/kill.c: Likewise.
	* intrinsics/reshape_packed.c: Likewise.
	* intrinsics/time.c: Likewise.
	* intrinsics/gerror.c: Likewise.
	* intrinsics/access.c: Likewise.
	* intrinsics/fnum.c: Likewise.
	* intrinsics/abort.c: Likewise.
	* intrinsics/rename.c: Likewise.
	* intrinsics/signal.c: Likewise.
	* intrinsics/symlnk.c: Likewise.
	* intrinsics/random.c: Likewise.
	* intrinsics/umask.c: Likewise.
	* intrinsics/getXid.c: Likewise.
	* intrinsics/rand.c: Likewise.
	* intrinsics/chdir.c: Likewise.
	* intrinsics/chmod.c: Likewise.
	* intrinsics/clock.c: Likewise.
	* intrinsics/args.c: Likewise.
	* intrinsics/link.c: Likewise.
	* c99_protos.h: Likewise.
	* config/fpu-387.h: Likewise.
	* config/fpu-aix.h: Likewise.
	* config/fpu-sysv.h: Likewise.
	* config/fpu-generic.h: Likewise.
	* config/fpu-glibc.h: Likewise.
	* io/file_pos.c: Likewise.
	* io/open.c: Likewise.
	* io/size_from_kind.c: Likewise.
	* io/close.c: Likewise.
	* io/list_read.c: Likewise.
	* io/read.c: Likewise.
	* io/inquire.c: Likewise.
	* io/unit.c: Likewise.
	* io/unix.c: Likewise.
	* io/transfer.c: Likewise.
	* io/intrinsics.c: Likewise.
	* io/format.c: Likewise.
	* io/lock.c: Likewise.
	* io/write.c: Likewise.
	* io/write_float.def: Likewise.
	* fmain.c: Likewise.
	* generated/minval_r8.c: Regenerate.
	* generated/minloc1_16_r16.c: Regenerate.
	* generated/maxloc1_4_r8.c: Regenerate.
	* generated/sum_i8.c: Regenerate.
	* generated/eoshift3_4.c: Regenerate.
	* generated/transpose_c8.c: Regenerate.
	* generated/any_l16.c: Regenerate.
	* generated/eoshift1_8.c: Regenerate.
	* generated/pow_r8_i8.c: Regenerate.
	* generated/reshape_r16.c: Regenerate.
	* generated/pow_i4_i16.c: Regenerate.
	* generated/maxval_i2.c: Regenerate.
	* generated/product_r4.c: Regenerate.
	* generated/maxloc1_8_i4.c: Regenerate.
	* generated/exponent_r16.c: Regenerate.
	* generated/maxloc0_4_r4.c: Regenerate.
	* generated/fraction_r16.c: Regenerate.
	* generated/in_unpack_i8.c: Regenerate.
	* generated/matmul_r8.c: Regenerate.
	* generated/product_i2.c: Regenerate.
	* generated/fraction_r4.c: Regenerate.
	* generated/minloc0_4_r16.c: Regenerate.
	* generated/reshape_c4.c: Regenerate.
	* generated/minloc0_4_i1.c: Regenerate.
	* generated/maxloc0_4_r16.c: Regenerate.
	* generated/maxloc0_4_i2.c: Regenerate.
	* generated/minloc1_8_r16.c: Regenerate.
	* generated/maxloc1_8_r16.c: Regenerate.
	* generated/set_exponent_r8.c: Regenerate.
	* generated/in_unpack_i16.c: Regenerate.
	* generated/transpose_c16.c: Regenerate.
	* generated/maxloc0_8_i8.c: Regenerate.
	* generated/pow_c4_i8.c: Regenerate.
	* generated/sum_r16.c: Regenerate.
	* generated/sum_i1.c: Regenerate.
	* generated/minloc1_4_r8.c: Regenerate.
	* generated/transpose_r10.c: Regenerate.
	* generated/pow_i8_i4.c: Regenerate.
	* generated/maxloc1_16_r16.c: Regenerate.
	* generated/minloc1_16_i4.c: Regenerate.
	* generated/maxloc1_16_i4.c: Regenerate.
	* generated/minloc0_16_i8.c: Regenerate.
	* generated/maxloc0_16_i8.c: Regenerate.
	* generated/nearest_r8.c: Regenerate.
	* generated/spacing_r16.c: Regenerate.
	* generated/transpose_i8.c: Regenerate.
	* generated/count_16_l16.c: Regenerate.
	* generated/maxval_r16.c: Regenerate.
	* generated/count_8_l8.c: Regenerate.
	* generated/product_c10.c: Regenerate.
	* generated/minloc1_8_i4.c: Regenerate.
	* generated/minloc0_16_i16.c: Regenerate.
	* generated/matmul_r16.c: Regenerate.
	* generated/eoshift1_16.c: Regenerate.
	* generated/minloc0_4_r4.c: Regenerate.
	* generated/pow_c16_i16.c: Regenerate.
	* generated/set_exponent_r10.c: Regenerate.
	* generated/pow_i16_i16.c: Regenerate.
	* generated/product_c4.c: Regenerate.
	* generated/sum_r4.c: Regenerate.
	* generated/pow_c16_i4.c: Regenerate.
	* generated/rrspacing_r10.c: Regenerate.
	* generated/in_pack_c16.c: Regenerate.
	* generated/minloc0_4_i2.c: Regenerate.
	* generated/maxloc0_8_i1.c: Regenerate.
	* generated/reshape_i4.c: Regenerate.
	* generated/minloc0_8_i8.c: Regenerate.
	* generated/matmul_c8.c: Regenerate.
	* generated/spacing_r4.c: Regenerate.
	* generated/in_pack_c4.c: Regenerate.
	* generated/all_l16.c: Regenerate.
	* generated/minloc1_16_r10.c: Regenerate.
	* generated/sum_i2.c: Regenerate.
	* generated/minloc0_16_i1.c: Regenerate.
	* generated/reshape_c16.c: Regenerate.
	* generated/maxloc0_16_i1.c: Regenerate.
	* generated/maxloc1_8_r8.c: Regenerate.
	* generated/minval_i16.c: Regenerate.
	* generated/reshape_r10.c: Regenerate.
	* generated/exponent_r10.c: Regenerate.
	* generated/maxval_i4.c: Regenerate.
	* generated/any_l4.c: Regenerate.
	* generated/minval_i8.c: Regenerate.
	* generated/maxloc1_4_i8.c: Regenerate.
	* generated/fraction_r10.c: Regenerate.
	* generated/maxloc0_16_i16.c: Regenerate.
	* generated/shape_i4.c: Regenerate.
	* generated/pow_r16_i8.c: Regenerate.
	* generated/maxloc0_8_r4.c: Regenerate.
	* generated/rrspacing_r8.c: Regenerate.
	* generated/pow_c10_i4.c: Regenerate.
	* generated/minloc1_4_i16.c: Regenerate.
	* generated/minloc0_4_r10.c: Regenerate.
	* generated/maxloc1_4_i16.c: Regenerate.
	* generated/minloc0_8_i16.c: Regenerate.
	* generated/maxloc0_4_r10.c: Regenerate.
	* generated/maxloc0_8_i16.c: Regenerate.
	* generated/minloc1_8_r10.c: Regenerate.
	* generated/product_i4.c: Regenerate.
	* generated/minloc0_16_r4.c: Regenerate.
	* generated/sum_c16.c: Regenerate.
	* generated/maxloc1_8_r10.c: Regenerate.
	* generated/maxloc0_16_r4.c: Regenerate.
	* generated/transpose_c10.c: Regenerate.
	* generated/minloc1_16_r8.c: Regenerate.
	* generated/minloc0_8_i1.c: Regenerate.
	* generated/maxloc0_4_i4.c: Regenerate.
	* generated/transpose_r4.c: Regenerate.
	* generated/maxloc1_16_r8.c: Regenerate.
	* generated/pow_i16_i8.c: Regenerate.
	* generated/cshift1_4.c: Regenerate.
	* generated/maxloc0_8_i2.c: Regenerate.
	* generated/sum_r10.c: Regenerate.
	* generated/nearest_r16.c: Regenerate.
	* generated/sum_c4.c: Regenerate.
	* generated/maxloc1_16_r10.c: Regenerate.
	* generated/count_4_l16.c: Regenerate.
	* generated/pow_c8_i8.c: Regenerate.
	* generated/matmul_i8.c: Regenerate.
	* generated/in_pack_i4.c: Regenerate.
	* generated/pow_i4_i8.c: Regenerate.
	* generated/minloc0_16_i2.c: Regenerate.
	* generated/minloc1_8_r8.c: Regenerate.
	* generated/maxloc0_16_i2.c: Regenerate.
	* generated/exponent_r4.c: Regenerate.
	* generated/spacing_r10.c: Regenerate.
	* generated/matmul_c16.c: Regenerate.
	* generated/pow_c4_i16.c: Regenerate.
	* generated/maxval_r10.c: Regenerate.
	* generated/count_4_l4.c: Regenerate.
	* generated/shape_i16.c: Regenerate.
	* generated/minval_i1.c: Regenerate.
	* generated/maxloc1_4_i1.c: Regenerate.
	* generated/matmul_r10.c: Regenerate.
	* generated/minloc1_4_i8.c: Regenerate.
	* generated/pow_r10_i8.c: Regenerate.
	* generated/minloc0_8_r4.c: Regenerate.
	* generated/in_unpack_c4.c: Regenerate.
	* generated/matmul_l4.c: Regenerate.
	* generated/product_i16.c: Regenerate.
	* generated/minloc0_16_r16.c: Regenerate.
	* generated/reshape_r8.c: Regenerate.
	* generated/pow_r10_i16.c: Regenerate.
	* generated/all_l4.c: Regenerate.
	* generated/in_pack_c10.c: Regenerate.
	* generated/minloc0_4_i4.c: Regenerate.
	* generated/minloc0_8_i2.c: Regenerate.
	* generated/matmul_i1.c: Regenerate.
	* generated/reshape_c10.c: Regenerate.
	* generated/minval_r4.c: Regenerate.
	* generated/maxloc1_4_r4.c: Regenerate.
	* generated/pow_r8_i16.c: Regenerate.
	* generated/sum_i4.c: Regenerate.
	* generated/maxval_r8.c: Regenerate.
	* generated/count_16_l8.c: Regenerate.
	* generated/transpose_c4.c: Regenerate.
	* generated/eoshift1_4.c: Regenerate.
	* generated/eoshift3_8.c: Regenerate.
	* generated/minval_r16.c: Regenerate.
	* generated/minloc1_4_i1.c: Regenerate.
	* generated/minval_i2.c: Regenerate.
	* generated/maxloc1_4_i2.c: Regenerate.
	* generated/pow_i8_i16.c: Regenerate.
	* generated/product_r8.c: Regenerate.
	* generated/maxloc1_8_i8.c: Regenerate.
	* generated/maxloc0_4_r8.c: Regenerate.
	* generated/maxloc0_16_r16.c: Regenerate.
	* generated/in_unpack_i4.c: Regenerate.
	* generated/matmul_r4.c: Regenerate.
	* generated/sum_c10.c: Regenerate.
	* generated/minloc1_4_r16.c: Regenerate.
	* generated/fraction_r8.c: Regenerate.
	* generated/maxloc1_4_r16.c: Regenerate.
	* generated/set_exponent_r4.c: Regenerate.
	* generated/minloc0_8_r16.c: Regenerate.
	* generated/in_unpack_c16.c: Regenerate.
	* generated/reshape_c8.c: Regenerate.
	* generated/maxloc0_8_r16.c: Regenerate.
	* generated/nearest_r10.c: Regenerate.
	* generated/maxloc0_8_i4.c: Regenerate.
	* generated/pow_c4_i4.c: Regenerate.
	* generated/matmul_i2.c: Regenerate.
	* generated/minloc1_4_r4.c: Regenerate.
	* generated/transpose_i16.c: Regenerate.
	* generated/matmul_c10.c: Regenerate.
	* generated/minloc0_16_i4.c: Regenerate.
	* generated/maxloc0_16_i4.c: Regenerate.
	* generated/pow_i8_i8.c: Regenerate.
	* generated/nearest_r4.c: Regenerate.
	* generated/minloc1_16_i8.c: Regenerate.
	* generated/maxloc1_16_i8.c: Regenerate.
	* generated/transpose_i4.c: Regenerate.
	* generated/count_8_l4.c: Regenerate.
	* generated/minloc1_4_i2.c: Regenerate.
	* generated/matmul_l16.c: Regenerate.
	* generated/maxloc1_8_i1.c: Regenerate.
	* generated/minloc0_16_r10.c: Regenerate.
	* generated/minloc1_8_i8.c: Regenerate.
	* generated/minloc0_4_r8.c: Regenerate.
	* generated/product_r16.c: Regenerate.
	* generated/product_c8.c: Regenerate.
	* generated/pow_r16_i16.c: Regenerate.
	* generated/sum_r8.c: Regenerate.
	* generated/pow_c16_i8.c: Regenerate.
	* generated/in_pack_i16.c: Regenerate.
	* generated/minloc0_8_i4.c: Regenerate.
	* generated/matmul_c4.c: Regenerate.
	* generated/minloc1_16_i16.c: Regenerate.
	* generated/reshape_i8.c: Regenerate.
	* generated/spacing_r8.c: Regenerate.
	* generated/in_pack_c8.c: Regenerate.
	* generated/maxloc1_8_r4.c: Regenerate.
	* generated/minloc1_16_i1.c: Regenerate.
	* generated/maxloc1_16_i1.c: Regenerate.
	* generated/reshape_i16.c: Regenerate.
	* generated/minval_r10.c: Regenerate.
	* generated/pow_r4_i8.c: Regenerate.
	* generated/minloc1_8_i1.c: Regenerate.
	* generated/minval_i4.c: Regenerate.
	* generated/maxloc1_4_i4.c: Regenerate.
	* generated/maxloc1_8_i2.c: Regenerate.
	* generated/maxval_i8.c: Regenerate.
	* generated/eoshift3_16.c: Regenerate.
	* generated/any_l8.c: Regenerate.
	* generated/maxloc0_16_r10.c: Regenerate.
	* generated/rrspacing_r4.c: Regenerate.
	* generated/shape_i8.c: Regenerate.
	* generated/maxloc0_8_r8.c: Regenerate.
	* generated/minloc0_4_i16.c: Regenerate.
	* generated/maxloc0_4_i16.c: Regenerate.
	* generated/minloc1_4_r10.c: Regenerate.
	* generated/minloc1_8_i16.c: Regenerate.
	* generated/pow_c10_i8.c: Regenerate.
	* generated/maxloc1_4_r10.c: Regenerate.
	* generated/maxloc1_8_i16.c: Regenerate.
	* generated/in_unpack_c10.c: Regenerate.
	* generated/minloc0_8_r10.c: Regenerate.
	* generated/maxloc0_8_r10.c: Regenerate.
	* generated/minloc1_16_r4.c: Regenerate.
	* generated/maxloc1_16_r4.c: Regenerate.
	* generated/minloc0_16_r8.c: Regenerate.
	* generated/pow_i16_i4.c: Regenerate.
	* generated/product_i8.c: Regenerate.
	* generated/maxloc0_16_r8.c: Regenerate.
	* generated/sum_i16.c: Regenerate.
	* generated/maxloc0_4_i8.c: Regenerate.
	* generated/transpose_r8.c: Regenerate.
	* generated/cshift1_8.c: Regenerate.
	* generated/maxloc1_16_i16.c: Regenerate.
	* generated/matmul_i4.c: Regenerate.
	* generated/pow_c8_i4.c: Regenerate.
	* generated/pow_i4_i4.c: Regenerate.
	* generated/minloc1_8_r4.c: Regenerate.
	* generated/sum_c8.c: Regenerate.
	* generated/count_8_l16.c: Regenerate.
	* generated/minloc1_16_i2.c: Regenerate.
	* generated/maxloc1_16_i2.c: Regenerate.
	* generated/in_pack_i8.c: Regenerate.
	* generated/transpose_r16.c: Regenerate.
	* generated/maxval_i16.c: Regenerate.
	* generated/exponent_r8.c: Regenerate.
	* generated/matmul_i16.c: Regenerate.
	* generated/count_4_l8.c: Regenerate.
	* generated/pow_c8_i16.c: Regenerate.
	* generated/maxval_i1.c: Regenerate.
	* generated/minloc1_4_i4.c: Regenerate.
	* generated/minloc1_8_i2.c: Regenerate.
	* generated/pow_c10_i16.c: Regenerate.
	* generated/product_c16.c: Regenerate.
	* generated/reshape_r4.c: Regenerate.
	* generated/in_unpack_c8.c: Regenerate.
	* generated/minloc0_8_r8.c: Regenerate.
	* generated/matmul_l8.c: Regenerate.
	* generated/product_r10.c: Regenerate.
	* generated/set_exponent_r16.c: Regenerate.
	* generated/cshift1_16.c: Regenerate.
	* generated/product_i1.c: Regenerate.
	* generated/all_l8.c: Regenerate.
	* generated/maxloc0_4_i1.c: Regenerate.
	* generated/rrspacing_r16.c: Regenerate.
	* generated/minloc0_4_i8.c: Regenerate.
	* generated/pow_r4_i16.c: Regenerate.
	* generated/count_16_l4.c: Regenerate.
	* generated/maxval_r4.c: Regenerate.

2007-08-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33225
	* io/write.c: Revert changes from patch of 2007-08-27.
	* io/write_float.def: Remove file, reverting addition.

2007-08-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* runtime/memory.c (internal_realloc, allocate, allocate_array,
	deallocate): Remove functions.
	* gfortran.map (_gfortran_allocate, _gfortran_allocate_array,
	_gfortran_deallocate, _gfortran_internal_realloc): Remove symbols.
	* libgfortran.h (error_codes): Add comment.

2007-08-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33055
	Revert previous patch.

2007-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* io/write.c (stdbool.h): Add include. (sign_t): Move typedef to
	new file write_float.def. Include write_float.def.
	(extract_real): Delete. (calculate_sign): Delete.
	(calculate_exp): Delete. (calculate_G_format): Delete.
	(output_float): Delete. (write_float): Delete.
	* io/write_float.def (calculate_sign): Added.
	(output_float): Refactored to be independent of kind and added to this
	file for inclusion. (write_infnan): New function to write "Infinite"
	or "NaN" depending on flags passed, independent of kind.
	(CALCULATE_EXP): New macro to build kind specific functions. Use it.
	(OUTPUT_FLOAT_FMT_G): New macro, likewise. Use it.
	(DTOA, DTOAL): Macros to implement "decimal to ascii".
	(WRITE_FLOAT): New macro for kind specific write_float functions.
	(write_float): Revised function to determine kind and use WRITE_FLOAT
	to implement kind specific output.

2007-08-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33055
	* io/inquire.c (inquire_via_unit):  If inquiring by unit, check for 
	an error condition from the IOSTAT variable and set EXIST to false if
	there was a bad unit number.

2007-08-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/32972
	* libgfortran.h:  Remove GFOR_POINTER_L8_TO_L4 macro.
	Add GFOR_POINTER_TO_L1 macro.
	* m4/iforeach.m4(`m'name`'rtype_qual`_'atype_code):
	Change argument 'mask' to gfc_array_l1.  Adjust prototype.
	Change mask pointer to GFC_LOGICAL_1.  Multiply strides
	by kind of mask
	* m4/ifunction.m4:  Likewise.
	* intrinsics/pack_generic.c(pack_internal):  Likewise.
	* intrinsics/unpack_generic.c(unpack_internal):  Likewise.
	* m4/matmull.m4:  Switch to GFC_LOGICAL_1.  Multiply strides by
	kind of logical arguments a and b.
	* generated/matmul_l16.c: Regenerated.
	* generated/matmul_l4.c: Regenerated.
	* generated/matmul_l8.c: Regenerated.
	* generated/maxloc0_16_i1.c: Regenerated.
	* generated/maxloc0_16_i16.c: Regenerated.
	* generated/maxloc0_16_i2.c: Regenerated.
	* generated/maxloc0_16_i4.c: Regenerated.
	* generated/maxloc0_16_i8.c: Regenerated.
	* generated/maxloc0_16_r10.c: Regenerated.
	* generated/maxloc0_16_r16.c: Regenerated.
	* generated/maxloc0_16_r4.c: Regenerated.
	* generated/maxloc0_16_r8.c: Regenerated.
	* generated/maxloc0_4_i1.c: Regenerated.
	* generated/maxloc0_4_i16.c: Regenerated.
	* generated/maxloc0_4_i2.c: Regenerated.
	* generated/maxloc0_4_i4.c: Regenerated.
	* generated/maxloc0_4_i8.c: Regenerated.
	* generated/maxloc0_4_r10.c: Regenerated.
	* generated/maxloc0_4_r16.c: Regenerated.
	* generated/maxloc0_4_r4.c: Regenerated.
	* generated/maxloc0_4_r8.c: Regenerated.
	* generated/maxloc0_8_i1.c: Regenerated.
	* generated/maxloc0_8_i16.c: Regenerated.
	* generated/maxloc0_8_i2.c: Regenerated.
	* generated/maxloc0_8_i4.c: Regenerated.
	* generated/maxloc0_8_i8.c: Regenerated.
	* generated/maxloc0_8_r10.c: Regenerated.
	* generated/maxloc0_8_r16.c: Regenerated.
	* generated/maxloc0_8_r4.c: Regenerated.
	* generated/maxloc0_8_r8.c: Regenerated.
	* generated/maxloc1_16_i1.c: Regenerated.
	* generated/maxloc1_16_i16.c: Regenerated.
	* generated/maxloc1_16_i2.c: Regenerated.
	* generated/maxloc1_16_i4.c: Regenerated.
	* generated/maxloc1_16_i8.c: Regenerated.
	* generated/maxloc1_16_r10.c: Regenerated.
	* generated/maxloc1_16_r16.c: Regenerated.
	* generated/maxloc1_16_r4.c: Regenerated.
	* generated/maxloc1_16_r8.c: Regenerated.
	* generated/maxloc1_4_i1.c: Regenerated.
	* generated/maxloc1_4_i16.c: Regenerated.
	* generated/maxloc1_4_i2.c: Regenerated.
	* generated/maxloc1_4_i4.c: Regenerated.
	* generated/maxloc1_4_i8.c: Regenerated.
	* generated/maxloc1_4_r10.c: Regenerated.
	* generated/maxloc1_4_r16.c: Regenerated.
	* generated/maxloc1_4_r4.c: Regenerated.
	* generated/maxloc1_4_r8.c: Regenerated.
	* generated/maxloc1_8_i1.c: Regenerated.
	* generated/maxloc1_8_i16.c: Regenerated.
	* generated/maxloc1_8_i2.c: Regenerated.
	* generated/maxloc1_8_i4.c: Regenerated.
	* generated/maxloc1_8_i8.c: Regenerated.
	* generated/maxloc1_8_r10.c: Regenerated.
	* generated/maxloc1_8_r16.c: Regenerated.
	* generated/maxloc1_8_r4.c: Regenerated.
	* generated/maxloc1_8_r8.c: Regenerated.
	* generated/maxval_i1.c: Regenerated.
	* generated/maxval_i16.c: Regenerated.
	* generated/maxval_i2.c: Regenerated.
	* generated/maxval_i4.c: Regenerated.
	* generated/maxval_i8.c: Regenerated.
	* generated/maxval_r10.c: Regenerated.
	* generated/maxval_r16.c: Regenerated.
	* generated/maxval_r4.c: Regenerated.
	* generated/maxval_r8.c: Regenerated.
	* generated/minloc0_16_i1.c: Regenerated.
	* generated/minloc0_16_i16.c: Regenerated.
	* generated/minloc0_16_i2.c: Regenerated.
	* generated/minloc0_16_i4.c: Regenerated.
	* generated/minloc0_16_i8.c: Regenerated.
	* generated/minloc0_16_r10.c: Regenerated.
	* generated/minloc0_16_r16.c: Regenerated.
	* generated/minloc0_16_r4.c: Regenerated.
	* generated/minloc0_16_r8.c: Regenerated.
	* generated/minloc0_4_i1.c: Regenerated.
	* generated/minloc0_4_i16.c: Regenerated.
	* generated/minloc0_4_i2.c: Regenerated.
	* generated/minloc0_4_i4.c: Regenerated.
	* generated/minloc0_4_i8.c: Regenerated.
	* generated/minloc0_4_r10.c: Regenerated.
	* generated/minloc0_4_r16.c: Regenerated.
	* generated/minloc0_4_r4.c: Regenerated.
	* generated/minloc0_4_r8.c: Regenerated.
	* generated/minloc0_8_i1.c: Regenerated.
	* generated/minloc0_8_i16.c: Regenerated.
	* generated/minloc0_8_i2.c: Regenerated.
	* generated/minloc0_8_i4.c: Regenerated.
	* generated/minloc0_8_i8.c: Regenerated.
	* generated/minloc0_8_r10.c: Regenerated.
	* generated/minloc0_8_r16.c: Regenerated.
	* generated/minloc0_8_r4.c: Regenerated.
	* generated/minloc0_8_r8.c: Regenerated.
	* generated/minloc1_16_i1.c: Regenerated.
	* generated/minloc1_16_i16.c: Regenerated.
	* generated/minloc1_16_i2.c: Regenerated.
	* generated/minloc1_16_i4.c: Regenerated.
	* generated/minloc1_16_i8.c: Regenerated.
	* generated/minloc1_16_r10.c: Regenerated.
	* generated/minloc1_16_r16.c: Regenerated.
	* generated/minloc1_16_r4.c: Regenerated.
	* generated/minloc1_16_r8.c: Regenerated.
	* generated/minloc1_4_i1.c: Regenerated.
	* generated/minloc1_4_i16.c: Regenerated.
	* generated/minloc1_4_i2.c: Regenerated.
	* generated/minloc1_4_i4.c: Regenerated.
	* generated/minloc1_4_i8.c: Regenerated.
	* generated/minloc1_4_r10.c: Regenerated.
	* generated/minloc1_4_r16.c: Regenerated.
	* generated/minloc1_4_r4.c: Regenerated.
	* generated/minloc1_4_r8.c: Regenerated.
	* generated/minloc1_8_i1.c: Regenerated.
	* generated/minloc1_8_i16.c: Regenerated.
	* generated/minloc1_8_i2.c: Regenerated.
	* generated/minloc1_8_i4.c: Regenerated.
	* generated/minloc1_8_i8.c: Regenerated.
	* generated/minloc1_8_r10.c: Regenerated.
	* generated/minloc1_8_r16.c: Regenerated.
	* generated/minloc1_8_r4.c: Regenerated.
	* generated/minloc1_8_r8.c: Regenerated.
	* generated/minval_i1.c: Regenerated.
	* generated/minval_i16.c: Regenerated.
	* generated/minval_i2.c: Regenerated.
	* generated/minval_i4.c: Regenerated.
	* generated/minval_i8.c: Regenerated.
	* generated/minval_r10.c: Regenerated.
	* generated/minval_r16.c: Regenerated.
	* generated/minval_r4.c: Regenerated.
	* generated/minval_r8.c: Regenerated.
	* generated/product_c10.c: Regenerated.
	* generated/product_c16.c: Regenerated.
	* generated/product_c4.c: Regenerated.
	* generated/product_c8.c: Regenerated.
	* generated/product_i1.c: Regenerated.
	* generated/product_i16.c: Regenerated.
	* generated/product_i2.c: Regenerated.
	* generated/product_i4.c: Regenerated.
	* generated/product_i8.c: Regenerated.
	* generated/product_r10.c: Regenerated.
	* generated/product_r16.c: Regenerated.
	* generated/product_r4.c: Regenerated.
	* generated/product_r8.c: Regenerated.
	* generated/sum_c10.c: Regenerated.
	* generated/sum_c16.c: Regenerated.
	* generated/sum_c4.c: Regenerated.
	* generated/sum_c8.c: Regenerated.
	* generated/sum_i1.c: Regenerated.
	* generated/sum_i16.c: Regenerated.
	* generated/sum_i2.c: Regenerated.
	* generated/sum_i4.c: Regenerated.
	* generated/sum_i8.c: Regenerated.
	* generated/sum_r10.c: Regenerated.
	* generated/sum_r16.c: Regenerated.
	* generated/sum_r4.c: Regenerated.
	* generated/sum_r8.c: Regenerated.
	
2007-08-23  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/23138
	* acinclude.m4 (LIBGFOR_CHECK_MINGW_SNPRINTF): New check.
	* configure.ac: Use LIBGFOR_CHECK_MINGW_SNPRINTF.
	* libgfortran.h: If HAVE_MINGW_SNPRINTF is true, use __mingw_snprintf
	instead of snprintf.
	* config.h.in: Regenerate.
	* configure: Regenerate.

2007-08-22  Bernhard Fischer  <rep.dot.nop@gmail.com>

	* libgfortran/Makefile.am (AM_CPPFLAGS): Commentary typo fix.

2007-08-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/33079
	* intrinsics/string_intrinsics.c (string_trim, string_minmax): Fix
	the zero-length result case.

2007-08-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/33077
	* intrinsics/random.c (random_seed_i8): Fix code logic.

2007-08-13  Danny Smith  <dannysmit@users.sourceforge.net>

	* acinclude.m4 (GTHREAD_USE_WEAK) Define to 0 for mingw32.
	* configure: Regenerate.

2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/30964
	PR fortran/33054
	* intrinsics/random.c (random_seed): Rename into random_seed_i4.
	(random_seed_i8): New function.
	* gfortran.map (GFORTRAN_1.0): Remove _gfortran_random_seed,
	add _gfortran_random_seed_i4 and _gfortran_random_seed_i8.
	* libgfortran.h (iexport_proto): Replace random_seed by
	random_seed_i4 and random_seed_i8.
	* runtime/main.c (init): Call the new random_seed_i4.

2007-08-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
	    Tobias Burnus  <burnus@gcc.gnu.org>

	PR fortran/31189
	* runtime/backtrace.c (show_backtrace): Skip _gfortrani_handler
	when displaying backtrace.
	* runtime/compile_options.c: Include <signal.h>.
	(handler): New function.
	(set_options): Set signal handlers for backtrace.
	* libgfortran.h (handler): Add prototype.

2007-08-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* intrinsics/string_intrinsics.c (compare_string): Return an int.
	* libgfortran.h (compare_string): Likewise.

2007-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/31270
	* runtime/error.c (runtime_error_at): Add a variable number of
	arguments.
	* libgfortran.h (runtime_error_at): Update prototype.

2007-08-10  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/32933
	* intrinsics/associated.c: Change return type of associated into
	a C int.

2007-08-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/33039
	* io/list_read.c (find_nml_name): Check for a space after a namelist
	name match.

2007-08-09  Tobias Burnus  <burnus@net-b.de>

	PR fortran/32987
	* io/format.c (next_char): Treat '\t' as ' ' in format specification.

2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/30947
	* intrinsics/signal.c: Create specific versions of alarm_sub and
	alarm_sub_int according to the integer kind of the last argument.
	* gfortran.map (GFORTRAN_1.0): Remove _gfortran_alarm_sub and
	_gfortran_alarm_sub_int, add _gfortran_alarm_sub_i4,
	_gfortran_alarm_sub_i8, _gfortran_alarm_sub_int_i4 and
	_gfortran_alarm_sub_int_i8.

2007-08-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/29828
	* intrinsics/string_intrinsics.c (string_minmax): New function
	and prototype.
	* gfortran.map (GFORTRAN_1.0): Add _gfortran_string_minmax

2007-08-05  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/31202
	* intrinsics/c99_functions.c (roundl): Provide fallback
	implementation for systems without ceill.
	* c99_protos.h (roundl): Define prototype in all cases.

2007-08-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/32977
	* io/unix.c:  If there is no vsnprintf, use vsprintf and issue
	a fatal error when a buffer overrun occurs.

2007-08-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/31202
	* intrinsics/c99_functions.c (roundl,lroundf,lround,lroundl,
	llroundf,llround,llroundl): New functions.
	* c99_protos.h (roundl,lroundf,lround,lroundl,llroundf,llround,
	llroundl): New prototypes.
	* configure.ac: Check for lroundf, lround, lroundl, llroundf,
	llround and llroundl.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* config.h.in: Regenerate.

2007-07-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* libgfortran.h: Include <stdarg.h>.

2007-07-29  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/32858
	PR libfortran/30814
	* configure.ac:  Added checks for presence of stdio.h and
	stdarg.h.  Test presence of vsnprintf().
	* configure: Regenerated.
	* config.h.in:  Regenerated.
	* libgfortran.h:  Include <stdio.h>.  Add printf attribute to
	prototype of runtime_error.  Remove prototype for st_sprintf.
	Add prototype for st_vprintf.
	* runtime/main.c (store_exec_path):  Replace st_sprintf by sprintf.
	* runtime/error.c (st_sprintf):  Remove.
	(runtime_error):  Rewrite as a variadic function.  Call
	st_vprintf().
	* intrinsics/pack_generic.c:  Output extents of LHS and RHS for
	bounds error.
	* io/open.c (new_unit):  Replace st_sprintf by sprintf.
	* io/list_read.c (convert_integer):  Likewise.
	(parse_repeat):  Likewise.
	(read_logical):  Likewise.
	(read_character):  Likewise.
	(parse_real):  Likewise.
	(read_real):  Likewise.
	(check_type):  Likewise.
	(nml_parse_qualifyer):  Likewise.
	(nml_read_obj):  Likewise.
	(nml_get_ojb_data):  Likewise.
	* io/unix.c (init_error_stream):  Remove.
	(tempfile):  Replace st_sprintf by sprintf.
	(st_vprintf):  New function.
	(st_printf):  Rewrite to call st_vprintf.
	* io/transfer.c (require_type):  Replace st_sprintf by sprintf.
	* io/format.c (format_error):  Likewise.
	* io/write.c (nml_write_obj):  Likewise.

2007-07-27  Janne Blomqvist  <jb@gcc.gnu.org>

	* io/transfer.c (st_set_nml_var_dim): Use index_type instead of
	GFC_INTEGER_4 for array descriptor triplets.

2007-07-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* io/unix.c (stream_ttyname): Mark argument as potentialy unused.

2007-07-27  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/32035
	* runtime/select.c (select_string): Adjust prototype and function
	so that the return value is an integer, not a pointer.

2007-07-24  Tobias Burnus  <burnus@net-b.de>

	* libgfortran.h:  Add bounds_check to compile_options_t.

2007-07-24  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/30814
	* libgfortran.h:  Add bounds_check to compile_options_t.
	* runtime/compile_options.c (set_options):  Add handling
	of compile_options.bounds_check.
	* intrinsics/pack_generic.c (pack_internal):  Also determine
	the number of elements if compile_options.bounds_check is
	true.  Raise runtime error if a different array shape is
	detected.

2007-07-23  Christopher D. Rickett  <crickett@lanl.gov>

	PR fortran/32600
	* intrinsics/iso_c_binding.c (c_funloc): Remove.
	* intrinsics/iso_c_binding.h: Remove c_funloc.
	* gfortran.map: Ditto.

2007-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* io/read.c (convert_real): Generate error only on EINVAL.

2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>

	PR fortran/32627
	* libgfortran/intrinsics/iso_c_generated_procs.c: Add c_f_pointer
	for character/string arguments.
	* libgfortran/intrinsic/iso_c_binding.c (c_f_pointer_u0): Allow
	the optional SHAPE arg to be any valid integer kind.
	* libgfortran/gfortran.map: Add c_f_pointer_s0.
	* libgfortran/mk-kinds-h.sh: Save smallest integer kind as default
	character kind.
	* libgfortran/intrinsics/iso_c_generated_procs.c: Add versions of
	c_f_pointer for complex and logical types.
	* libgfortran/gfortran.map: Add c_f_pointer versions for logical
	and complex types.

2007-07-19  Christopher D. Rickett  <crickett@lanl.gov>

	PR fortran/32600
	* libgfortran/intrinsics/iso_c_binding.c: Remove C_LOC.
	* libgfortran/intrinsics/iso_c_binding.h: Ditto.
	* libgfortran/gfortran.map: Ditto.

2007-07-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
	    Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/32611
	* runtime/compile_options.c (set_std): Remove.
	(set_options): New function.
	(init_compile_options): Add initialization for -fsign-zero option.
	* gfortran.map (GFORTRAN_1.0): Rename _gfortran_set_std into
	_gfortran_set_options.
	* libgfortran.h (compile_options_t): Add sign_zero field.
	* io/write.c (output_float): Use the sign bit of the value to determine
	if a negative sign should be emitted for zero values.  Do not emit the
	negative sign for zero if -fno-sign-zero was set during compile.
	
2007-07-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32752
	* io/unix.c (unix_stream): Move buffer pointer adjacent to
	small_buffer.
	* io/transfer.c (formatted_transfer_scalar): If stream I/O, set
	bytes_used to zero. Fix off by one error in calculation of pos and
	skips. Eliminate duplicate pending_spaces check.

2007-07-15  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/32357
	* intrinsics/mvbits.c: Change prototype so that FROMPOS, LEN and
	TOPOS arguments are C int.

2007-07-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32702
	* io/unix.c (unix_stream): Restore buffer pointer and small_buffer.
	(fd_alloc): If the number of bytes needed is greater than the default
	BUFFER_SIZE, allocate a new buffer large enough.  Free the old buffer
	if necessary. (fd_sfree): Restore use of buffer pointer.
	(fd_close): Likewise. (fd_open): Likewise.
	(init_error_stream): Likewise.
	
2007-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/32336
	* m4/matmul.m4:  When the dimension of b is incorrect,
	raise a runtime error instead of a failed assertion.
	* generated/matmul_i1.c:  Regenerated.
	* generated/matmul_i2.c:  Regenerated.
	* generated/matmul_i4.c:  Regenerated.
	* generated/matmul_i8.c:  Regenerated.
	* generated/matmul_i16.c:  Regenerated.
	* generated/matmul_r4.c:  Regenerated.
	* generated/matmul_r8.c:  Regenerated.
	* generated/matmul_r10.c:  Regenerated.
	* generated/matmul_r16.c:  Regenerated.

2007-07-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32678
	* io/transfer.c (formatted_transfer_scalar): Don't allow
	pending_spaces to go negative.

2007-07-08  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/32217
	* intrinsics/unpack_generic.c:  If the destination array is
	empty, return early.

2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>

	* aclocal.m4: Regenerated.

2007-07-04  David Edelsohn  <edelsohn@gnu.org>

	* configure.ac: SUBST CFLAGS.
	* configure: Regenerate.

2007-07-03  Janne Blomqvist  <jb@gcc.gnu.org>

	* libgfortran.h: Mark internal_malloc_size as a malloc function.
	* runtime/memory.c (internal_realloc_size): Remove.
	(internal_realloc): Call realloc directly instead of
	internal_realloc_size.
	(allocate_size): Remove.
	(allocate): Call malloc directly instead of allocate_size, mark as
	malloc function.

2007-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>

	Restore collateral damage from ISO C Binding merge.

2007-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32456
	* io/unit.c (filename_from_unit): Don't use find_unit, instead search
	for unit directly.

2007-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>

	* Makefile.in:  Regenerated with automake 1.9.6.

2007-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>

	* Makefile.in:  Remove extraneous kill.lo rule.

2007-07-02  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/32239
	* generated/pow_r*_i4.c: Removed.

2007-07-01  Christopher D. Rickett  <crickett@lanl.gov>

	* Makefile.in: Add support for iso_c_generated_procs.c and
	iso_c_binding.c.
	* Makefile.am: Ditto.
	* intrinsics/iso_c_generated_procs.c: New file containing helper
	functions.
	* intrinsics/iso_c_binding.c: Ditto.
	* intrinsics/iso_c_binding.h: New file
	* gfortran.map: Include the __iso_c_binding_c_* functions.
	* libgfortran.h: define GFC_NUM_RANK_BITS.

2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/32239
	* Makefile.am: Don't generate real**int4 pow functions.
	* gfortran.map: Remove real**int4 pow symbols.
	* Makefile.in: Regenerated.

2007-07-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32554
	* io/write.c (output_float): Set edigits to a fixed size, avoiding
	variation in field width calculation and eliminate buffer overrun.

2007-07-01  Janne Blomqvist  <jb@gcc.gnu.org>

	* runtime/memory.c (internal_realloc): Use index_type for size
	argument instead of GFC_INTEGER_4.
	(allocate_array): Likewise.
	(allocate): Likewise, add ifdef around unnecessary check.
	(internal_reallo64): Remove.
	(allocate_array64): Remove.
	(allocate64): Remove.
	* gfortran.map: Remove symbols for 64-bit allocation functions.

2007-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32456
	* io/unit.c (filename_from_unit): Don't use find_unit, instead search
	for unit directly.

2007-06-24  Adam Nemet  <anemet@caviumnetworks.com>

	PR libfortran/32495
	* runtime/backtrace.c (local_strcasestr): Rename from strcasestr.
	(show_backtrace): Rename strcasestr to local_strcasestr.

2007-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32456
	* runtime/error.c (show_locus): Update to emit the unit number
	and file name involved with the error.  Use new function
	filename_from_unit.
	* libgfortran.h (filename_from_unit): Declare new function.
	* io/unit.c (init_units): Set the unit file name for stdin, stdout,
	and stderr for use later in error reporting.
	(filename_from_unit): Add this new function.

2007-06-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32446
	* io/write.c (output_float): Calculate ndigits correctly for large
	numbered formats that must pad zeros before the decimal point.

2007-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	PR libfortran/32345
	* runtime/backtrace.c (show_backtrace): Only use snprintf if
	available.

2007-06-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32235
	* io/transfer.c (st_read): Remove test for end of file condition.
	(next_record_r): Add test for end of file condition.

2007-06-02  Paolo Bonzini  <bonzini@gnu.org>

	* configure: Regenerate.

2007-05-28  Tobias Burnus  <burnus@net-b.de>

	PR fortran/32124
	* runtime/memory.c (allocate_size): Use ERROR_ALLOCATION.
	(allocate,allocate64): Use stat variable if present.

2007-05-27  Janne Blomqvist  <jb@gcc.gnu.org>

	* runtime/string.c (compare0): Use gfc_charlen_type instead of
	int.
	(fstrlen): Likewise.
	(find_option): Likewise.
	(fstrcpy): Use gfc_charlen_type instead of int, return length.
	(cf_strcpy): Likewise.
	* libgfortran.h: Change string prototypes to use gfc_charlen_type.
	* io/open.c (new_unit): Use snprintf if available.
	* io/list_read.c (nml_touch_nodes): Use memcpy instead of
	strcpy/strcat.
	(nml_read_obj): Likewise.
	* io/transfer.c (st_set_nml_var): Likewise.
	* io/write.c (output_float): Use snprintf if available.
	(nml_write_obj) Use memcpy instead of strcpy/strcat.

2007-05-26  Janne Blomqvist  <jb@gcc.gnu.org>

	* io/unix.c (unix_stream): Rearrange struct members, remove
	small_buffer.
	(int_stream): New struct.
	(fd_alloc): Always use existing buffer, never reallocate.
	(fd_sfree): Remove check for buffer != small_buffer.
	(fd_close): Likewise.
	(mem_alloc_r_at): Change to use int_stream.
	(mem_alloc_w_at): Likewise.
	(mem_read): Likewise.
	(mem_write): Likewise.
	(mem_set): Likewise.
	(mem_truncate): Likewise.
	(mem_close): Likewise.
	(mem_sfree): Likewise.
	(empty_internal_buffer): Likewise.
	(open_internal): Likewise.
	
2007-05-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* io/transfer.c (unformatted_read): Use size from front end
	eliminating use of size_from_real_kind.
	(unformatted_write): Ditto.

2007-05-23  Steve Ellcey  <sje@cup.hp.com>

	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

2007-05-22  Tobias Burnus  <burnus@net-b.de>

	* libgfortran.h: Mark stop_numeric as noreturn.

2007-05-22  Tobias Burnus  <burnus@net-b.de>

	PR libgfortran/31295
	* intrinsics/eoshift0.c (eoshift0): Silence uninitialized warning.
	* intrinsics/eoshift2.c (eoshift2): Ditto.

2007-05-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31964
	* intrinsics/ishftc.c (ishftc4, ishftc8, ishftc16): Fix mask to handle
	shift of bit-size number of bits.

2007-05-17  Tobias Burnus <burnus@net-b.de>

	PR fortran/31917
	* runtime/environ.c (mark_range): Fix setting default convert unit.

2007-05-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31922
	* intrinsics/string_intrinsics.c (string_trim): Set result to null if
	string length is zero.

2007-05-15  Tobias Burnus  <burnus@net-b.de>

	PR libfortran/31915
	* io/transfer.c (unformatted_read): Use proper size for real(10).
	  (unformatted_write): Ditto.

2007-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/30723
	* runtime/memory.c (internal_malloc, internal_malloc64,
	internal_free): Remove.
	* runtime/error.c (os_error): Export function.
	* intrinsics/move_alloc.c: Include stdlib.h.
	(move_alloc): Call free instead of internal_free.
	(move_alloc_c): Wrap long lines.
	* libgfortran.h (os_error): Export prototype.
	(internal_free): Remove prototype.
	* gfortran.map (GFORTRAN_1.0): Remove _gfortran_internal_free,
	_gfortran_internal_malloc and _gfortran_internal_malloc64.
	Add _gfortran_os_error.

2007-05-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31880
	* io/unix.c (fd_alloc_r_at): Fix calculation of physical offset.

2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/31607
	* intrinsics/system.c (system_sub): Call flush_all_units.
	* io/io.h (flush_all_units): Move prototype to libgfortran.h.
	* libgfortran.h (flush_all_units): Add prototype.

2007-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31201
	* runtime/error.c (runtime_error_at): New function.
	(generate_error): Export this function.
	* gfortran.map: Add _gfortran_generate_error and
	_gfortran_runtime_error_at.
	* libgfortran.h: Add comment to reference error codes in front end.
	(library_start): Locate prototype with library_end macro and add
	a new comment.  Add prototype for runtime_error_at. Export prototype
	for generate_error.
	* io/lock.c (library_start): Fix check for error condition.
	* io/transfer.c (data_transfer_init): Add library check.

2007-05-04  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/22359
	* io/intrinsics.c (fseek_sub): New.
	* io/unix.c (fd_fseek): Change logical and physical offsets only
	if seek succeeds.
	* gfortran.map (fseek_sub): New.

2007-05-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/31210
	* io/transfer.c (transfer_character): Avoid passing a NULL
	pointer as source to the transfer routines, if the string length
	is zero.

2007-04-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31501
	* io/list_read.c (next_char): Fix whitespace.
	* io/io.h: Remove prototypes and define macros for is_array_io,
	is_stream_io, and is_internal_unit.
	* io/unit.c (is_array_io), (is_internal_unit), (is_stream_io): Delete
	these functions.
	* io/transfer.c (read_sf): Change handling of internal_unit to make a
	single call to salloc_r and use memcpy to transfer the data. 

2007-04-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31532
	* io/file_pos.c (st_backspace): Set flags.position for end of file
	condition and use new function update_position.
	(st_endfile): Use new function update_position.
	* io/io.h: Add prototype for new function.
	* io/inquire.c (inquire_via_unit): If not direct access, set NEXTREC
	to zero.
	* io/unit.c (update_position): New function to update position info
	used by inquire.
	* io/transfer.c (next_record): Fix typo and use new function.

2007-04-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/31299
	* intrinsics/getlog.c: Use getpwuid and geteuid instead of
	getlogin if they are available.
	* configure.ac: Add checks for getpwuid and geteuid.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2007-04-25  Janne Blomqvist  <jb@gcc.gnu.org>

	* configure: Regenerate using autoconf 2.59.
	* Makefile.in: Likewise.  
	* config.h.in: Likewise.

2007-04-24  Janne Blomqvist  <jb@gcc.gnu.org>

	PR libfortran/27740
	* configure.ac: New test to determine if symbol versioning is
	supported.
	* Makefile.am: Use result of above test to add appropriate linker
	flags.
	* gfortran.map: New file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* config.h.in: Regenerated.

2007-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/31618
	* io/transfer.c (read_block_direct):  Instead of calling us_read,
	set dtp->u.p.current_unit->current_record = 0 so that pre_position
	will read the record marker.
	(data_transfer_init):  For different error conditions, call
	generate_error, then return.

2007-04-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* runtime/main.c (please_free_exe_path_when_done): New variable.
	(store_exe_path): Initialize character buffer, and mark whether
	exe_path should be free'd by the library destructor function.
	(cleanup): Only free exe_path if needed.

2007-04-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
	    Tobias Burnus  <burnus@net-b.de>

	PR libfortran/31286
	PR libfortran/31296
	* intrinsics/cshift0.c (cshift0): Initialize sstride[0] and rstride[0].
	* intrinsics/unpack_generic.c (unpack0, unpack0_char): Zero the
	array structures we pass to unpack_internal.

2007-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* io/open.c (test_endfile): Revert changes for 31052, restoring this
	function. 

2007-04-14  Steve Ellcey  <sje@cup.hp.com>

	* Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.  Add libgfortran_la_LINK.
	* Makefile.in: Regenerate.

2007-04-11  Kai Tietz  <kai.tietz@onevision.com>

	* configure: Regenerate.

2007-04-06  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* intrinsics/cpu_time.c: Don't include headers already included
	by libgfortran.h. Protect inclusion of sys/times.h.
	* configure.ac: Remove unneeded checks for finit, stdio.h,
	stddef.h, math.h and sys/params.h.
	* config/fpu-aix.h: Don't include headers already included by
	libgfortran.h.
	* config/fpu-sysv.h: Likewise.
	* io/write.c: Likewise.
	* m4/minloc1.m4: Likewise.
	* m4/maxloc1.m4: Likewise.
	* m4/fraction.m4: Likewise.
	* m4/set_exponent.m4: Likewise.
	* m4/spacing.m4: Likewise.
	* m4/minval.m4: Likewise.
	* m4/maxval.m4: Likewise.
	* m4/exponent.m4: Likewise.
	* m4/nearest.m4: Likewise.
	* m4/minloc0.m4: Likewise.
	* m4/maxloc0.m4: Likewise.
	* m4/rrspacing.m4: Likewise.
	* runtime/main.c: Likewise.
	* runtime/error.c: Likewise.
	* intrinsics/system_clock.c: Likewise.
	* intrinsics/etime.c: Likewise.
	* intrinsics/stat.c: Likewise.
	* intrinsics/date_and_time.c: Likewise.
	* intrinsics/env.c: Likewise.
	* intrinsics/kill.c: Likewise.
	* intrinsics/getXid.c: Likewise.
	* intrinsics/chmod.c: Likewise.
	* intrinsics/args.c: Likewise.
	* intrinsics/c99_functions.c: Likewise.
	* generated/minval_r8.c: Regenerate.
	* generated/maxloc1_4_r8.c: Regenerate.
	* generated/minloc1_16_r16.c: Regenerate.
	* generated/maxval_i2.c: Regenerate.
	* generated/maxloc1_8_i4.c: Regenerate.
	* generated/exponent_r16.c: Regenerate.
	* generated/maxloc0_4_r4.c: Regenerate.
	* generated/fraction_r16.c: Regenerate.
	* generated/fraction_r4.c: Regenerate.
	* generated/minloc0_4_r16.c: Regenerate.
	* generated/minloc0_4_i1.c: Regenerate.
	* generated/maxloc0_4_r16.c: Regenerate.
	* generated/maxloc0_4_i2.c: Regenerate.
	* generated/minloc1_8_r16.c: Regenerate.
	* generated/maxloc1_8_r16.c: Regenerate.
	* generated/set_exponent_r8.c: Regenerate.
	* generated/maxloc0_8_i8.c: Regenerate.
	* generated/minloc1_4_r8.c: Regenerate.
	* generated/maxloc1_16_r16.c: Regenerate.
	* generated/minloc1_16_i4.c: Regenerate.
	* generated/maxloc1_16_i4.c: Regenerate.
	* generated/minloc0_16_i8.c: Regenerate.
	* generated/maxloc0_16_i8.c: Regenerate.
	* generated/nearest_r8.c: Regenerate.
	* generated/spacing_r16.c: Regenerate.
	* generated/maxval_r16.c: Regenerate.
	* generated/minloc1_8_i4.c: Regenerate.
	* generated/minloc0_16_i16.c: Regenerate.
	* generated/minloc0_4_r4.c: Regenerate.
	* generated/set_exponent_r10.c: Regenerate.
	* generated/rrspacing_r10.c: Regenerate.
	* generated/minloc0_4_i2.c: Regenerate.
	* generated/maxloc0_8_i1.c: Regenerate.
	* generated/minloc0_8_i8.c: Regenerate.
	* generated/spacing_r4.c: Regenerate.
	* generated/minloc1_16_r10.c: Regenerate.
	* generated/minloc0_16_i1.c: Regenerate.
	* generated/maxloc0_16_i1.c: Regenerate.
	* generated/maxloc1_8_r8.c: Regenerate.
	* generated/minval_i16.c: Regenerate.
	* generated/exponent_r10.c: Regenerate.
	* generated/maxval_i4.c: Regenerate.
	* generated/minval_i8.c: Regenerate.
	* generated/maxloc1_4_i8.c: Regenerate.
	* generated/fraction_r10.c: Regenerate.
	* generated/maxloc0_16_i16.c: Regenerate.
	* generated/maxloc0_8_r4.c: Regenerate.
	* generated/rrspacing_r8.c: Regenerate.
	* generated/minloc1_4_i16.c: Regenerate.
	* generated/minloc0_4_r10.c: Regenerate.
	* generated/maxloc1_4_i16.c: Regenerate.
	* generated/minloc0_8_i16.c: Regenerate.
	* generated/maxloc0_4_r10.c: Regenerate.
	* generated/maxloc0_8_i16.c: Regenerate.
	* generated/minloc1_8_r10.c: Regenerate.
	* generated/minloc0_16_r4.c: Regenerate.
	* generated/maxloc1_8_r10.c: Regenerate.
	* generated/maxloc0_16_r4.c: Regenerate.
	* generated/minloc1_16_r8.c: Regenerate.
	* generated/minloc0_8_i1.c: Regenerate.
	* generated/maxloc0_4_i4.c: Regenerate.
	* generated/maxloc1_16_r8.c: Regenerate.
	* generated/maxloc0_8_i2.c: Regenerate.
	* generated/nearest_r16.c: Regenerate.
	* generated/maxloc1_16_r10.c: Regenerate.
	* generated/minloc0_16_i2.c: Regenerate.
	* generated/minloc1_8_r8.c: Regenerate.
	* generated/maxloc0_16_i2.c: Regenerate.
	* generated/exponent_r4.c: Regenerate.
	* generated/spacing_r10.c: Regenerate.
	* generated/maxval_r10.c: Regenerate.
	* generated/minval_i1.c: Regenerate.
	* generated/maxloc1_4_i1.c: Regenerate.
	* generated/minloc1_4_i8.c: Regenerate.
	* generated/minloc0_8_r4.c: Regenerate.
	* generated/minloc0_16_r16.c: Regenerate.
	* generated/minloc0_4_i4.c: Regenerate.
	* generated/minloc0_8_i2.c: Regenerate.
	* generated/minval_r4.c: Regenerate.
	* generated/maxloc1_4_r4.c: Regenerate.
	* generated/maxval_r8.c: Regenerate.
	* generated/minval_r16.c: Regenerate.
	* generated/minloc1_4_i1.c: Regenerate.
	* generated/minval_i2.c: Regenerate.
	* generated/maxloc1_4_i2.c: Regenerate.
	* generated/maxloc1_8_i8.c: Regenerate.
	* generated/maxloc0_4_r8.c: Regenerate.
	* generated/maxloc0_16_r16.c: Regenerate.
	* generated/minloc1_4_r16.c: Regenerate.
	* generated/fraction_r8.c: Regenerate.
	* generated/maxloc1_4_r16.c: Regenerate.
	* generated/set_exponent_r4.c: Regenerate.
	* generated/minloc0_8_r16.c: Regenerate.
	* generated/maxloc0_8_r16.c: Regenerate.
	* generated/nearest_r10.c: Regenerate.
	* generated/maxloc0_8_i4.c: Regenerate.
	* generated/minloc1_4_r4.c: Regenerate.
	* generated/minloc0_16_i4.c: Regenerate.
	* generated/maxloc0_16_i4.c: Regenerate.
	* generated/nearest_r4.c: Regenerate.
	* generated/minloc1_16_i8.c: Regenerate.
	* generated/maxloc1_16_i8.c: Regenerate.
	* generated/minloc1_4_i2.c: Regenerate.
	* generated/maxloc1_8_i1.c: Regenerate.
	* generated/minloc0_16_r10.c: Regenerate.
	* generated/minloc1_8_i8.c: Regenerate.
	* generated/minloc0_4_r8.c: Regenerate.
	* generated/minloc0_8_i4.c: Regenerate.
	* generated/minloc1_16_i16.c: Regenerate.
	* generated/spacing_r8.c: Regenerate.
	* generated/maxloc1_8_r4.c: Regenerate.
	* generated/minloc1_16_i1.c: Regenerate.
	* generated/maxloc1_16_i1.c: Regenerate.
	* generated/minval_r10.c: Regenerate.
	* generated/minval_i4.c: Regenerate.
	* generated/minloc1_8_i1.c: Regenerate.
	* generated/maxloc1_4_i4.c: Regenerate.
	* generated/maxloc1_8_i2.c: Regenerate.
	* generated/maxval_i8.c: Regenerate.
	* generated/maxloc0_16_r10.c: Regenerate.
	* generated/rrspacing_r4.c: Regenerate.
	* generated/minloc0_4_i16.c: Regenerate.
	* generated/maxloc0_8_r8.c: Regenerate.
	* generated/maxloc0_4_i16.c: Regenerate.
	* generated/minloc1_4_r10.c: Regenerate.
	* generated/minloc1_8_i16.c: Regenerate.
	* generated/maxloc1_4_r10.c: Regenerate.
	* generated/minloc0_8_r10.c: Regenerate.
	* generated/maxloc1_8_i16.c: Regenerate.
	* generated/maxloc0_8_r10.c: Regenerate.
	* generated/minloc1_16_r4.c: Regenerate.
	* generated/maxloc1_16_r4.c: Regenerate.
	* generated/minloc0_16_r8.c: Regenerate.
	* generated/maxloc0_16_r8.c: Regenerate.
	* generated/maxloc0_4_i8.c: Regenerate.
	* generated/maxloc1_16_i16.c: Regenerate.
	* generated/minloc1_8_r4.c: Regenerate.
	* generated/minloc1_16_i2.c: Regenerate.
	* generated/maxloc1_16_i2.c: Regenerate.
	* generated/maxval_i16.c: Regenerate.
	* generated/exponent_r8.c: Regenerate.
	* generated/minloc1_4_i4.c: Regenerate.
	* generated/maxval_i1.c: Regenerate.
	* generated/minloc1_8_i2.c: Regenerate.
	* generated/minloc0_8_r8.c: Regenerate.
	* generated/set_exponent_r16.c: Regenerate.
	* generated/maxloc0_4_i1.c: Regenerate.
	* generated/rrspacing_r16.c: Regenerate.
	* generated/minloc0_4_i8.c: Regenerate.
	* generated/maxval_r4.c: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2007-04-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31395
	* io/format.c (parse_format_list): Fix parsing.

2007-04-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR fortran/31304
	intrinsics/string_intrinsics.c (string_repeat): Remove.

2007-04-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31052
	* io/open.c (test_endfile): Delete this function.
	(edit_modes): Delete call to test_endfile.
	(new_unit): Likewise.
	* io/io.h: Delete prototype for test_endfile.
	* io/transfer.c (next_record_r): Remove use of test_endfile.
	(st_read):  Add test for end file condition and adjust status. 

2007-04-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31366
	* io/transfer.c (read_block_direct): Do not generate error when reading
	past EOF on a short record that is less than the RECL= specified.
	
2007-04-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31207
	* io/unit.c (close_unit_1): If there are bytes previously written from
	ADVANCE="no", move to the end before closing.

2007-03-31  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR libfortran/31335
	* intrinsics/stat.c: Only provide STAT and FSTAT library routines
	if stat() and fstat() library functions are available. When lstat()
	is not available, use stat() instead.
	* configure.ac: Add checks for stat, fstat and lstat.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2007-03-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31052
	* io/transfer.c (next_record_r): Do not call test_endfile if in
	namelist mode.

2007-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31199
	* io/io.h: Add saved_pos to gfc_unit structure.
	* io/open.c (new_unit): Initialize saved_pos.
	* io/transfer.c (data_transfer_init): Set max_pos to value in
	saved_pos.
	(next_record_w): Fix whitespace.
	(finalze_transfer): Calculate max_pos for ADVANCE="no" and save it for
	later use.  If not ADVANCE="no" set saved_pos to zero.

2007-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR libfortran/31196
	* intrinsics/reshape_generic.c (reshape_internal):  Increment
	correct variable.

2007-03-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31052
	* file_pos.c: Update Copyright year.
	* io/open.c (test_endfile): Restore test_endfile to fix SPEC
	regression.  Update Copyright year.
	* io/io.h: Same.
	* io/unix.c (is_special): Add missing type for this function.
	Update Copyright year.
	* io/transfer.c (next_record_r): Restore test_endfile.
	(st_read): Fix whitespace.  Update Copyright year

2007-03-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	* configure.ac: Add missing check for gettimeofday.
	* config.h.in: Renegerate.
	* configure: Regenerate.

2007-03-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31052
	* io/file_position (st_rewind): Fix comments. Remove use of
	test_endfile. Don't seek if already at 0 position.  Use new is_special
	function to set endfile state.
	* io/open.c (test_endfile): Delete this function.
	* io/io.h: Delete prototype for test_endfile.  Add prototype
	for is_special.
	* io/unix.c (is_special): New function. Fix whitespace.
	* io/transfer.c (next_record_r): Remove use of test_endfile.

2007-03-16  David Edelsohn  <edelsohn@gnu.org>

	* runtime/main.c: Include "config.h" first.

2007-03-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31099
	* io/file_pos.c (st_rewind): Don't set bytes_left to zero.

2007-03-15  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	* runtime/backtrace.c: New file.
	* runtime/environ.c (variable_table): New GFORTRAN_ERROR_BACKTRACE
	environment variable.
	* runtime/compile_options.c (set_std): Add new argument.
	* runtime/main.c (store_exe_path, full_exe_path): New functions.
	* runtime/error.c (sys_exit): Add call to show_backtrace.
	* libgfortran.h (options_t): New backtrace field.
	(store_exe_path, full_exe_path, show_backtrace): New prototypes.
	* configure.ac: Add checks for execinfo.h, execvp, pipe, dup2,
	close, fdopen, strcasestr, getrlimit, backtrace, backtrace_symbols
	and getppid.
	* Makefile.am: Add runtime/backtrace.c.
	* fmain.c (main): Add call to store_exe_path.
	* Makefile.in: Renegerate.
	* config.h.in: Renegerate.
	* configure: Regenerate.

2007-03-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31051
	* io/transfer.c (formatted_transfer_scalar): Adjust position for
	pending spaces when in writing mode.  Clean up some formatting.

2007-03-14  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/30690
	* all.m4: Quote everything, except for m4 macros.
	* any.m4: Likewise.
	* count.m4: Likewise.
	* cshift1.m4: Likewise.
	* eoshift1.m4: Likewise.
	* eoshift3.m4: Likewise.
	* exponent.m4: Likewise.
	* fraction.m4: Likewise.
	* in_pack.m4: Likewise.
	* in_unpack.m4: Likewise.
	* matmul.m4: Likewise.
	* matmull.m4: Likewise.
	* nearest.m4: Likewise.
	* pow.m4: Likewise.
	* product.m4: Likewise.
	* reshape.m4: Likewise.
	* rrspacing.m4: Likewise.
	* set_exponent.m4: Likewise.
	* shape.m4: Likewise.
	* spacing.m4: Likewise.
	* transpose.m4: Likewise.

2007-03-14  Jakub Jelinek  <jakub@redhat.com>

	* io/unix.c (regular_file): For ACTION_UNSPECIFIED retry with
	O_RDONLY even if errno is EROFS.

2007-03-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/31099
	* io/open.c (new_unit): Initialize bytes_left and recl_subrecord.
	* io/transfer.c (next_record_w): Set bytes left to record length for
	sequential unformatted I/O.
	(next_record_r): Ditto.
	(read_block_direct): Fix test for exceeding bytes_left.

2007-03-08  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/30947
	* intrinsics/signal.c (alarm_sub_int): Avoid SEGFAULT with 
	integer arguments.

2007-03-04  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/30981
	* m4/pow_m4: Use appropriate unsigned int type for u.
	* generated/pow_c10_i16.c: Regenerated.
	* generated/pow_c10_i4.c: Regenerated.
	* generated/pow_c10_i8.c: Regenerated.
	* generated/pow_c16_i16.c: Regenerated.
	* generated/pow_c16_i4.c: Regenerated.
	* generated/pow_c16_i8.c: Regenerated.
	* generated/pow_c4_i16.c: Regenerated.
	* generated/pow_c4_i4.c: Regenerated.
	* generated/pow_c4_i8.c: Regenerated.
	* generated/pow_c8_i16.c: Regenerated.
	* generated/pow_c8_i4.c: Regenerated.
	* generated/pow_c8_i8.c: Regenerated.
	* generated/pow_i16_i16.c: Regenerated.
	* generated/pow_i16_i4.c: Regenerated.
	* generated/pow_i16_i8.c: Regenerated.
	* generated/pow_i4_i16.c: Regenerated.
	* generated/pow_i4_i4.c: Regenerated.
	* generated/pow_i4_i8.c: Regenerated.
	* generated/pow_i8_i16.c: Regenerated.
	* generated/pow_i8_i4.c: Regenerated.
	* generated/pow_i8_i8.c: Regenerated.
	* generated/pow_r10_i16.c: Regenerated.
	* generated/pow_r10_i4.c: Regenerated.
	* generated/pow_r10_i8.c: Regenerated.
	* generated/pow_r16_i16.c: Regenerated.
	* generated/pow_r16_i4.c: Regenerated.
	* generated/pow_r16_i8.c: Regenerated.
	* generated/pow_r4_i16.c: Regenerated.
	* generated/pow_r4_i4.c: Regenerated.
	* generated/pow_r4_i8.c: Regenerated.
	* generated/pow_r8_i16.c: Regenerated.
	* generated/pow_r8_i4.c: Regenerated.
	* generated/pow_r8_i8.c: Regenerated.

2007-03-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR libfortran/31001
	* intrinsics/pack_generic.c (pack_internal): Add special checks
	for zero-sized arrays.

2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.am: Add dummy install-pdf target.
	* Makefile.in: Regenerate

2007-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/30918
	* io/listread.c (namelist_read): Eat comment line.

2007-02-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/30910
	* io/write.c (output_float): Add condition of format F only for
	special case rounding with zero precision.

2007-02-19  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/30533
	PR libfortran/30765
	* Makefile.am: Add $(srcdir) too all files in generated/.
	(i_maxloc0_c): Add maxloc0_4_i1.c, maxloc0_8_i1.c,
	maxloc0_16_i1.c, maxloc0_4_i2.c, maxloc0_8_i2.c and
	maxloc0_16_i2.c.
	(i_maxloc1_c): Add maxloc1_4_i1.c, maxloc1_8_i1.c,
	maxloc1_16_i1.c, maxloc1_4_i2.c, maxloc1_8_i2.c and
	maxloc1_16_i2.c.
	(i_maxval_c): Add maxval_i1.c and maxval_i2.c.
	(i_minloc0_c):  Add minloc0_4_i1.c, minloc0_8_i1.c,
	minloc0_16_i1.c, minloc0_4_i2.c, minloc0_8_i2.c and
	minloc0_16_i2.c.
	(i_minloc_1.c): Add minloc1_4_i1.c, minloc1_8_i1.c,
	minloc1_16_i1.c, minloc1_4_i2.c, minloc1_8_i2.c and
	minloc1_16_i2.c.
	(i_minval_c):  Add minval_i1.c and minval_i2.c.
	(i_sum_c):  Add sum_i1.c and sum_i2.c.
	(i_product_c):  Add product_i1.c and product_i2.c.
	(i_matmul_c):  Add matmul_i1.c and matmul_i2.c.
	(gfor_built_specific_src):  Remove $(srcdir) from target.
	(gfor_bulit_specific2_src):  Likewise.
	Makefile.in:  Regenerated.
	libgfortran.h:  Add GFC_INTEGER_1_HUGE and GFC_INTEGER_2_HUGE.
	Add gfc_array_i1 and gfc_array_i2.
	* generated/matmul_i1.c: New file.
	* generated/matmul_i2.c: New file.
	* generated/maxloc0_16_i1.c: New file.
	* generated/maxloc0_16_i2.c: New file.
	* generated/maxloc0_4_i1.c: New file.
	* generated/maxloc0_4_i2.c: New file.
	* generated/maxloc0_8_i1.c: New file.
	* generated/maxloc0_8_i2.c: New file.
	* generated/maxloc1_16_i1.c: New file.
	* generated/maxloc1_16_i2.c: New file.
	* generated/maxloc1_4_i1.c: New file.
	* generated/maxloc1_4_i2.c: New file.
	* generated/maxloc1_8_i1.c: New file.
	* generated/maxloc1_8_i2.c: New file.
	* generated/maxval_i1.c: New file.
	* generated/maxval_i2.c: New file.
	* generated/minloc0_16_i1.c: New file.
	* generated/minloc0_16_i2.c: New file.
	* generated/minloc0_4_i1.c: New file.
	* generated/minloc0_4_i2.c: New file.
	* generated/minloc0_8_i1.c: New file.
	* generated/minloc0_8_i2.c: New file.
	* generated/minloc1_16_i1.c: New file.
	* generated/minloc1_16_i2.c: New file.
	* generated/minloc1_4_i1.c: New file.
	* generated/minloc1_4_i2.c: New file.
	* generated/minloc1_8_i1.c: New file.
	* generated/minloc1_8_i2.c: New file.
	* generated/minval_i1.c: New file.
	* generated/minval_i2.c: New file.
	* generated/product_i1.c: New file.
	* generated/product_i2.c: New file.
	* generated/sum_i1.c: New file.
	* generated/sum_i2.c: New file.

2007-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	* runtime/memory.c (deallocate): Correct comment.

2007-02-10  Thomas Koenig  <Thomas.Koenig@online.de>

	* Makefile.am:  Use $(M4) instead of m4.
	* Makefile.in:  Regenerate.

2007-02-10  Thomas Koenig  <Thomas.Koenig@online.de>

	* Makefile.am: Remove $(srcdir) from assorted targets
	in maintainer mode.
	* Makefile.in: Regenerate.

2007-02-09  Thomas Koenig  <Thomas.Koenig@online.de>
	    Tobias Burnus  <burnus@net-b.de>

	PR fortran/30512
	* m4/iparm.m4: Use HUGE-1 for most negative integer.
	* generated/maxloc1_8_i4.c: Regenerate.
	* generated/maxloc0_8_i8.c: Regenerate.
	* generated/maxloc1_16_i4.c: Regenerate.
	* generated/maxloc0_16_i8.c: Regenerate.
	* generated/maxval_i4.c: Regenerate.
	* generated/maxloc1_4_i8.c: Regenerate.
	* generated/maxloc0_16_i16.c: Regenerate.
	* generated/maxloc1_4_i16.c: Regenerate.
	* generated/maxloc0_8_i16.c: Regenerate.
	* generated/maxloc0_4_i4.c: Regenerate.
	* generated/maxloc1_8_i8.c: Regenerate.
	* generated/maxloc0_8_i4.c: Regenerate.
	* generated/maxloc0_16_i4.c: Regenerate.
	* generated/maxloc1_16_i8.c: Regenerate.
	* generated/maxloc1_4_i4.c: Regenerate.
	* generated/maxval_i8.c: Regenerate.
	* generated/maxloc0_4_i16.c: Regenerate.
	* generated/maxloc1_8_i16.c: Regenerate.
	* generated/maxloc0_4_i8.c: Regenerate.
	* generated/maxloc1_16_i16.c: Regenerate.
	* generated/maxval_i16.c: Regenerate.

2007-02-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR fortran/30611
	* intrinsics/string_intrinsics.c (string_repeat): Don't check
	if ncopies is negative.

2007-02-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR libfortran/30007
	* libgfortran.h: Do not prefix symbol name with
	__USER_LABEL_PREFIX__ when used in __attribute__((__alias__(...))).

2007-02-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/30284
	PR fortran/30626
	* io/transfer.c (init_loop_spec, next_array_record): Change to
	lbound rather than unity base.

2007-01-21  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	* runtime/error.c: Include sys/time.h before sys/resource.h.

2007-01-21  Thomas Koenig  <Thomas.Koenig@online.de>

	PR libfortran/30525
	* intrinsics/string_intrinsics.c(compare_string):  Make
	sure that comparisons are done unsigned.

2007-01-21  Tobias Burnus  <burnus@net-b.de>

	PR libfortran/30015
	* intrinsics/date_and_time.c (date_and_time): Fix case where time
	  can go backwards.
	* configure.ac: Remove AC_TRY_RUN test for timezone in
	  gettimeofday.
	* acinclude.m4: Ditto.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2007-01-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	* m4/misc_specifics.m4: Add _gfortran prefix to specific names.
	* m4/specific2.m4: Likewise.
	* m4/specific.m4: Likewise.
	* intrinsics/f2c_specifics.F90: Likewise.
	* intrinsics/selected_int_kind.f90: Add _gfortran prefix.
	* intrinsics/selected_real_kind.f90: Likewise.
	* intrinsics/dprod_r8.f90: Likewise.
	* Makefile.am: Add -fallow-leading-underscore to the
	gfor_specific_src files, as well as selected_real_kind.F90
	and selected_int_kind.F90
	* Makefile.in: Regenerate.
	* generated/_sqrt_c8.F90: Regenerate.
	* generated/_sign_r16.F90: Regenerate.
	* generated/_log_c16.F90: Regenerate.
	* generated/_sin_c10.F90: Regenerate.
	* generated/_tanh_r4.F90: Regenerate.
	* generated/_tanh_r8.F90: Regenerate.
	* generated/_log10_r10.F90: Regenerate.
	* generated/_aimag_c4.F90: Regenerate.
	* generated/_sign_r4.F90: Regenerate.
	* generated/_aimag_c8.F90: Regenerate.
	* generated/_sign_r8.F90: Regenerate.
	* generated/_mod_i4.F90: Regenerate.
	* generated/_cos_r16.F90: Regenerate.
	* generated/_aint_r10.F90: Regenerate.
	* generated/_mod_i8.F90: Regenerate.
	* generated/_abs_i16.F90: Regenerate.
	* generated/_sqrt_c10.F90: Regenerate.
	* generated/_atan2_r4.F90: Regenerate.
	* generated/_cos_c4.F90: Regenerate.
	* generated/_atan_r16.F90: Regenerate.
	* generated/_tanh_r10.F90: Regenerate.
	* generated/_atan2_r8.F90: Regenerate.
	* generated/_cos_c8.F90: Regenerate.
	* generated/_exp_r4.F90: Regenerate.
	* generated/_log_r10.F90: Regenerate.
	* generated/_exp_r8.F90: Regenerate.
	* generated/_abs_r4.F90: Regenerate.
	* generated/_abs_r8.F90: Regenerate.
	* generated/_sin_r16.F90: Regenerate.
	* generated/_tan_r4.F90: Regenerate.
	* generated/_tan_r8.F90: Regenerate.
	* generated/_sign_i4.F90: Regenerate.
	* generated/_sign_i8.F90: Regenerate.
	* generated/_exp_c16.F90: Regenerate.
	* generated/_sqrt_r16.F90: Regenerate.
	* generated/_conjg_c4.F90: Regenerate.
	* generated/_conjg_c8.F90: Regenerate.
	* generated/_dim_r16.F90: Regenerate.
	* generated/_mod_r10.F90: Regenerate.
	* generated/_abs_c10.F90: Regenerate.
	* generated/_conjg_c16.F90: Regenerate.
	* generated/_tan_r16.F90: Regenerate.
	* generated/_asinh_r10.F90: Regenerate.
	* generated/_abs_i4.F90: Regenerate.
	* generated/_abs_i8.F90: Regenerate.
	* generated/_acos_r10.F90: Regenerate.
	* generated/_exp_r10.F90: Regenerate.
	* generated/_acosh_r16.F90: Regenerate.
	* generated/_atan2_r16.F90: Regenerate.
	* generated/_cos_c16.F90: Regenerate.
	* generated/_mod_i16.F90: Regenerate.
	* generated/_asin_r4.F90: Regenerate.
	* generated/_anint_r16.F90: Regenerate.
	* generated/_asin_r8.F90: Regenerate.
	* generated/_aimag_c10.F90: Regenerate.
	* generated/_exp_c4.F90: Regenerate.
	* generated/_sinh_r10.F90: Regenerate.
	* generated/_exp_c8.F90: Regenerate.
	* generated/_log10_r4.F90: Regenerate.
	* generated/_log10_r8.F90: Regenerate.
	* generated/_abs_c4.F90: Regenerate.
	* generated/_abs_r16.F90: Regenerate.
	* generated/_abs_c8.F90: Regenerate.
	* generated/_asin_r10.F90: Regenerate.
	* generated/_sign_r10.F90: Regenerate.
	* generated/_atanh_r16.F90: Regenerate.
	* generated/_log_c10.F90: Regenerate.
	* generated/_cosh_r16.F90: Regenerate.
	* generated/_sin_c16.F90: Regenerate.
	* generated/_cos_r10.F90: Regenerate.
	* generated/_log10_r16.F90: Regenerate.
	* generated/_aint_r16.F90: Regenerate.
	* generated/_acos_r4.F90: Regenerate.
	* generated/_acos_r8.F90: Regenerate.
	* generated/_sqrt_c16.F90: Regenerate.
	* generated/_acosh_r4.F90: Regenerate.
	* generated/_atan_r10.F90: Regenerate.
	* generated/_acosh_r8.F90: Regenerate.
	* generated/_sign_i16.F90: Regenerate.
	* generated/_tanh_r16.F90: Regenerate.
	* generated/_log_r4.F90: Regenerate.
	* generated/_log_r8.F90: Regenerate.
	* generated/_sin_r4.F90: Regenerate.
	* generated/_sin_r8.F90: Regenerate.
	* generated/_log_r16.F90: Regenerate.
	* generated/_sin_r10.F90: Regenerate.
	* generated/_sqrt_r4.F90: Regenerate.
	* generated/_exp_c10.F90: Regenerate.
	* generated/_sqrt_r8.F90: Regenerate.
	* generated/_asinh_r4.F90: Regenerate.
	* generated/_sqrt_r10.F90: Regenerate.
	* generated/_asinh_r8.F90: Regenerate.
	* generated/_dim_r4.F90: Regenerate.
	* generated/_dim_r8.F90: Regenerate.
	* generated/_dim_r10.F90: Regenerate.
	* generated/_cosh_r4.F90: Regenerate.
	* generated/_conjg_c10.F90: Regenerate.
	* generated/_tan_r10.F90: Regenerate.
	* generated/_cosh_r8.F90: Regenerate.
	* generated/_mod_r16.F90: Regenerate.
	* generated/_abs_c16.F90: Regenerate.
	* generated/_cos_r4.F90: Regenerate.
	* generated/_asinh_r16.F90: Regenerate.
	* generated/_cos_r8.F90: Regenerate.
	* generated/_atanh_r4.F90: Regenerate.
	* generated/_atanh_r8.F90: Regenerate.
	* generated/_acos_r16.F90: Regenerate.
	* generated/_anint_r4.F90: Regenerate.
	* generated/_acosh_r10.F90: Regenerate.
	* generated/_anint_r8.F90: Regenerate.
	* generated/_exp_r16.F90: Regenerate.
	* generated/_mod_r4.F90: Regenerate.
	* generated/_cos_c10.F90: Regenerate.
	* generated/_atan2_r10.F90: Regenerate.
	* generated/_dim_i16.F90: Regenerate.
	* generated/_mod_r8.F90: Regenerate.
	* generated/_anint_r10.F90: Regenerate.
	* generated/_aint_r4.F90: Regenerate.
	* generated/_aint_r8.F90: Regenerate.
	* generated/_dim_i4.F90: Regenerate.
	* generated/_sinh_r4.F90: Regenerate.
	* generated/_log_c4.F90: Regenerate.
	* generated/_dim_i8.F90: Regenerate.
	* generated/_sinh_r8.F90: Regenerate.
	* generated/_log_c8.F90: Regenerate.
	* generated/_sin_c4.F90: Regenerate.
	* generated/_sin_c8.F90: Regenerate.
	* generated/misc_specifics.F90: Regenerate.
	* generated/_abs_r10.F90: Regenerate.
	* generated/_aimag_c16.F90: Regenerate.
	* generated/_atan_r4.F90: Regenerate.
	* generated/_sinh_r16.F90: Regenerate.
	* generated/_atan_r8.F90: Regenerate.
	* generated/_atanh_r10.F90: Regenerate.
	* generated/_cosh_r10.F90: Regenerate.
	* generated/_sqrt_c4.F90: Regenerate.
	* generated/_asin_r16.F90: Regenerate.

2007-01-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR libfortran/26893
	* acinclude.m4 (LIBGFOR_WORKING_GFORTRAN): New check.
	* configure.ac: Add call to LIBGFOR_WORKING_GFORTRAN.
	* configure: Regenerate.
	* config.h.in: Regenerate because it was forgottent in the last
	commit.

2007-01-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
	    Tobias Burnus  <burnus@net-b.de>

	PR libfortran/29649
	* runtime/environ.c (variable_table): New GFORTRAN_ERROR_DUMPCORE
	environment variable.
	* runtime/compile_options.c (set_std): Add new argument.
	* runtime/error.c (sys_exit): Move from io/unix.c. Add coredump
	functionality.
	* libgfortran.h (options_t): New dump_core and backtrace members.
	(sys_exit): Move prototype.
	* io/unix.c (sys_exit): Move to runtime/error.c.
	* configure.ac: Add check for getrlimit.
	* configure: Regenerate.

2007-01-17  Tom Tromey  <tromey@redhat.com>

	PR libfortran/27107:
	* aclocal.m4, configure, Makefile.in: Rebuilt.
	* configure.ac: Enable automake dependency tracking.  Update
	minimum automake version.

2007-01-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

	PR libfortran/27107
	* runtime/environ.c: Don't include io/io.h.
	* runtime/string.c: Don't include io/io.h.
	(compare0): Add cast to avoid warning.
	* runtime/error.c: Don't include io/io.h.
	(st_printf): Move to io/unix.c.
	* intrinsics/flush.c: Delete, contents moved to io/intrinsics.c.
	* intrinsics/fget.c: Likewise.
	* intrinsics/ftell.c: Likewise.
	* intrinsics/tty.c: Likewise.
	* libgfortran.h (DEFAULT_RECL, notification_std,
	get_unformatted_convert, IOPARM_*, st_parameter_common, unit_convert,
	DEFAULT_TEMPDIR): New declarations.
	* io/io.h (DEFAULT_RECL, notification_std, get_unformatted_convert,
	IOPARM_*, st_parameter_common, unit_convert, DEFAULT_TEMPDIR):
	Move to libgfortran.h.
	* io/unix.c: Add io/unix.h content.
	(st_printf): New function.
	* io/intrinsics.c: New file.
	* io/unix.h: Remove, contents moved into unix.c.
	* libtool-version: Update library version to 3.0.0.
	* configure.ac: Update library version to 0.3.
	* Makefile.am (intrinsics/fget.c, intrinsics/flush.c,
	intrinsics/ftell.c, intrinsics/tty.c, libgfortran.h): Remove targets.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

2007-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/30435
	* io/list_read.c (finish_separator): Don't call next_record.
	(list_formatted_read_scalar): Clean up some comments and whitespace.
	(nml_read_obj): Whitespace fix.

2007-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/30162
	* io/unix.c (fd_flush): Don't seek if file is not seekable, defined as
	s->file_length == -1.
	(fd_alloc_w_at): Do not adjust file_length if file is not seekable.
	(fd_seek): If not seekable, just return success.
	(fd_truncate): If not seekable, no need to truncate.  Return failure
	if seek fails and the stream is not a pipe.
	(fd_to_stream): Make test for non-seekable file more robust.

2007-01-01  Steven G. Kargl  <kargls@comcast.net>

	* ChangeLog: Copied to ...
	* ChangeLog-2006: here.


Copyright (C) 2007 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
