OSDN Git Service

2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
index 478a649..40d2f09 100644 (file)
-2007-04-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-       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.
+2008-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * libgfortran.h (gfc_char4_t): New type.
+       (GFC_SIZE_OF_CHAR_KIND): New macro.
+       (compare_string): Adjust prototype.
+       (compare_string_char4): New prototype.
+       * gfortran.map (GFORTRAN_1.1): Add _gfortran_adjustl_char4,
+       _gfortran_adjustr_char4, _gfortran_compare_string_char4,
+       _gfortran_concat_string_char4, _gfortran_string_index_char4,
+       _gfortran_string_len_trim_char4, _gfortran_string_minmax_char4,
+       _gfortran_string_scan_char4, _gfortran_string_trim_char4 and
+       _gfortran_string_verify_char4.
+       * intrinsics/string_intrinsics_inc.c: New file from content of
+       string_intrinsics.c with types replaced by macros.
+       * intrinsics/string_intrinsics.c: Move content to
+       string_intrinsics_inc.c.
+
+2008-05-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/36202
+       * io/list_read (eat_separator): Handle the CR-LF case correctly.
+
+2008-05-09  Julian Brown  <julian@codesourcery.com>
+
+       * Makefile.am (LTLDFLAGS): New.
+       (libgfortran_la_LDFLAGS): Use above.
        * Makefile.in: Regenerate.
 
-2007-04-11  Kai Tietz  <kai.tietz@onevision.com>
+2008-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/36131
+       * io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974.
+       (next_record_w): Likewise.
+
+2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/35995
+       * m4/ifunction_logical.m4:  If the extent of "array"
+       is less than zero, set it to zero.  Use an explicit
+       flag for breaking out of the main loop to avoid, because
+       the data pointer for "array" may be NULL for an empty
+       array.
+       * m4/ifunction.m4:  Likewise.
+       * generated/all_l1.c: Regenerated.
+       * generated/all_l16.c: Regenerated.
+       * generated/all_l2.c: Regenerated.
+       * generated/all_l4.c: Regenerated.
+       * generated/all_l8.c: Regenerated.
+       * generated/any_l1.c: Regenerated.
+       * generated/any_l16.c: Regenerated.
+       * generated/any_l2.c: Regenerated.
+       * generated/any_l4.c: Regenerated.
+       * generated/any_l8.c: Regenerated.
+       * generated/count_16_l.c: Regenerated.
+       * generated/count_1_l.c: Regenerated.
+       * generated/count_2_l.c: Regenerated.
+       * generated/count_4_l.c: Regenerated.
+       * generated/count_8_l.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/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.
+
+2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/35990
+       * intrinsics/pack_generic.c:  Really commit.
+
+2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/35990
+       * intrinsics/pack_generic.c:  If an extent of the source
+       array is less then zero, set it to zero.  Set the source
+       pointer to NULL if the source size is zero.  Set the total
+       number of elements to zero if the vector has an extent
+       less or equal to zero.
+       * m4/pack.m4:  Set the source pointer to NULL if the
+       source array is zero-sized.  Set the total number of
+       elemements to zero if the vector has an extent less or
+       equal to zero.
+       * generated/pack_i1.c:  Regenerated.
+       * generated/pack_i2.c:  Regenerated.
+       * generated/pack_i4.c:  Regenerated.
+       * generated/pack_i8.c:  Regenerated.
+       * generated/pack_i16.c:  Regenerated.
+       * generated/pack_r4.c:  Regenerated.
+       * generated/pack_r8.c:  Regenerated.
+       * generated/pack_r10.c:  Regenerated.
+       * generated/pack_r16.c:  Regenerated.
+       * generated/pack_c4.c:  Regenerated.
+       * generated/pack_c8.c:  Regenerated.
+       * generated/pack_c10.c:  Regenerated.
+       * generated/pack_c16.c:  Regenerated.
+
+2008-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/36094
+       * runtime/error.c (show_locus): Provide modified error message when
+       filename has not yet been associated with a unit number.
+       * io/open.c (encoding_opt[]): Comment out "utf-8" option and add TODO.
+
+2008-04-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * intrinsics/selected_char_kind.c: New file.
+       * gfortran.map (GFORTRAN_1.1): Add _gfortran_selected_char_kind.
+       * Makefile.am: Add intrinsics/selected_char_kind.c.
+       * Makefile.in: Regenerate.
 
+2008-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/35993
+       * ifunction.m4 (SCALAR_ARRAY_FUNCTION):  Use correct
+       implementation for multi-dimensional return arrays when
+       the mask is .false.
+       * 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/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.
+
+2008-04-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/35960
+       * m4/reshape.m4:  Fix typo in last commit.
+       * generated/reshape_i4.c:  Regererated.
+       * generated/reshape_i8.c:  Regenerated.
+       * generated/reshape_i16.c:  Regenerated.
+       * generated/reshape_r4.c:  Regenerated.
+       * generated/reshape_r8.c:  Regenerated.
+       * generated/reshape_r10.c:  Regenerated.
+       * generated/reshape_r16.c:  Regenerated.
+       * generated/reshape_c4.c:  Regenerated.
+       * generated/reshape_c8.c:  Regenerated.
+       * generated/reshape_c10.c:  Regenerated.
+       * generated/reshape_c16.c:  Regenerated.
+
+2008-04-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * intrinsics/time_1.h (__time_1): Remove unused variable.
+
+2008-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/35988
+       * m4/matmul.m4:  Only issue a runtime error if extents are
+       non-zero.
+       * 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.
+       * generated/matmul_c4.c:  Regenerated.
+       * generated/matmul_c8.c:  Regenerated.
+       * generated/matmul_c10.c:  Regenerated.
+       * generated/matmul_c16.c:  Regenerated.
+
+2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY)
+       (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT)
+       (LIBGFOR_CHECK_ATTRIBUTE_ALIAS, LIBGFOR_CHECK_SYNC_FETCH_AND_ADD)
+       (LIBGFOR_GTHREAD_WEAK, LIBGFOR_CHECK_UNLINK_OPEN_FILE)
+       (LIBGFOR_CHECK_CRLF, LIBGFOR_CHECK_FOR_BROKEN_ISFINITE)
+       (LIBGFOR_CHECK_FOR_BROKEN_ISNAN)
+       (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY, LIBGFOR_CHECK_WORKING_STAT)
+       (LIBGFOR_CHECK_FPSETMASK, LIBGFOR_CHECK_MINGW_SNPRINTF):
+       Fix cache variable names.
+       * configure, Makefile.in: Regenerate.
+
+2008-04-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/35991
+       * intrinsics/cshift0.c (cshift0): Avoid divide by zero.
+
+2008-04-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/35960
+       * intrinsics/reshape_generic.c (reshape_internal): If the size
+       of the resized array is zero, as determined by the SHAPE
+       argument, return early.
+       * m4/reshape.m4:  Likewise.
+       * generated/reshape_i4.c:  Regererated.
+       * generated/reshape_i8.c:  Regenerated.
+       * generated/reshape_i16.c:  Regenerated.
+       * generated/reshape_r4.c:  Regenerated.
+       * generated/reshape_r8.c:  Regenerated.
+       * generated/reshape_r10.c:  Regenerated.
+       * generated/reshape_r16.c:  Regenerated.
+       * generated/reshape_c4.c:  Regenerated.
+       * generated/reshape_c8.c:  Regenerated.
+       * generated/reshape_c10.c:  Regenerated.
+       * generated/reshape_c16.c:  Regenerated.
+
+2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR bootstrap/35457
+       * aclocal.m4: Regenerate.
        * 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.
+2008-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/32972
+       * intrinsics/spread_generic.c (spread):  Use spread_i2()
+       for GFC_DTYPE_DERIVED_2 (fix typo from previous commit).
+
+2008-04-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
+       Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libfortran/32972
+       PR libfortran/32512
+       configure.ac:  Add test for uintptr_t.
+       configure:  Regenerated.
+       config.h.in:  Regenerated.
+       * libgfortran.h: GFC_DTYPE_DERIVED_1:  New macro.
+       GFC_DTYPE_DERIVED_2:  New macro.
+       GFC_DTYPE_DERIVED_4:  New macro.
+       GFC_DTYPE_DERIVED_8:  New macro.
+       GFC_DTYPE_DERIVED_16:  New macro.
+       GFC_UNALIGNED_2:  New macro.
+       GFC_UNALIGNED_4:  New macro.
+       GFC_UNALIGNED_8:  New macro.
+       GFC_UNALIGNED_16:  New macro.
+       intptr_t:  Define if we don't have it.
+       uintptr_t:  Likewise.
+       * runtime/backtrace.c (show_backtrace):  Use intptr_t.
+       * intrinsics/signal.c (signal_sub):  Likewise.
+       (signal_sub_int):  Likewise.
+       (alarm_sub_int_i4):  Likewise.
+       * intrinsics/spread_generic.c (spread):  Use the integer
+       routines for handling derived types of sizes 1, 2, 4, 8 and 16
+       if the alignment of all pointers is correct.
+       (spread_scalar):  Likewise.
+       * intrinsics/pack_generic.c (pack):  Likewise.
+       Use GFD_DTYPE_TYPE_SIZE to avoid nested switch statements.
+       * intrinsics/unpack_generic.c (unpack1):  Likewise.
+       (unpack0):  Likewise.
+       * runtime/in_pack_generic.c (internal_pack):  Likewise.
+       * runtime/in_unpack_generic.c (internal_unpack):  Likewise.
+
+2008-04-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * io/list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.
+       (nml_read_obj): Add nml_err_msg_size argument.  Pass it down to
+       recursive call.  Use snprintf instead of sprintf when %s nl->var_name
+       is used.
+       (nml_get_obj_data): Add nml_err_msg_size argument.  Pass it down to
+       nml_read_obj call.  Use snprintf instead of sprintf when %s
+       nl->var_name is used.  Pass nml_err_msg to nml_parse_qualifier instead
+       of parse_err_msg array.  Append " for namelist variable " and
+       nl->var_name to it.
+       (namelist_read): Increase size of nml_err_msg array to 200.  Pass
+       sizeof nml_err_msg as extra argument to nml_get_obj_data.
+
+2008-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/25829 28655
+       * io/open.c (edit_modes): Set flags.async. (new_unit) Set flags.async
+       and flags.status. (st_open): Initialize flags.async.
+       * io/list_read.c (read_charactor): Use delim_status instead of
+       flags.delim.
+       * io/read.c (read_x): Use pad_status instead of flags.pad.
+       * io/inquire.c (inquire_via_unit): Add new checks.
+       (inquire_via_filename): Likewise.
+       * io/io.h (st_parameter_inquire): Add new flags.
+       (st_parameter_dt): Likewise.
+       * io/unit.c (get_internal_unit): Set flags.async. (init_units): Set
+       flags.async.
+       * io/transfer.c: Add delim and pad option arrays. (read_sf): Use
+       pad_status instead of flags.pad. (read_block): Likewise.
+       (data_transfer_init): Set flags.async and add checks.
+       * io/write.c (write_character): Use delim_status.
+       (list_formatted_write_scalar): Likewise. (nml_write_obj): Likewise.
+       (namelist_write): Likewise.
+
+2008-04-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/25829 28655
+       * gfortran.map: Add new symbol, _gfortran_st_wait.
+       * libgfortran.h (st_paramter_common): Add new I/O parameters.
+       * open.c (st_option decimal_opt[], st_option encoding_opt[],
+       st_option round_opt[], st_option sign_opt[], st_option async_opt[]): New
+       parameter option arrays. (edit_modes): Add checks for new parameters.
+       (new_unit): Likewise. (st_open): Likewise.
+       * list_read.c (CASE_SEPERATORS): Add ';' as a valid separator.
+       (eat_separator): Handle deimal comma. (read_logical): Fix whitespace.
+       (parse_real): Handle decimal comma. (read_real): Handle decimal comma.
+       * read.c (read_a): Use decimal status flag to allow comma in place of a
+       decimal point. (read_f): Allow comma as acceptable character in float.
+       According to decimal flag, substitute a period for a comma.
+       (read_x): If decimal status flag is comma, disable the read_comma flag,
+       not allowing comma as a delimiter, an extension otherwise.
+       * io.h: (unit_decimal, unit_encoding, unit_round, unit_sign,
+       unit_async): New enumerators. Add all new I/O parameters.
+       * unix.c (unix_stream, int_stream): Add io_mode asychronous I/O control.
+       (move_pos_offset, fd_alloc_w_at): Fix some whitespace.
+       (fd_sfree): Use new enumerator. (fd_read): Likewise.
+       (fd_write): Likewise. (fd_close): Fix whitespace.
+       (fd_open): Use new enumertors. (tempfile, regular_file,
+       open_external): Fix whitespace. (output_stream, error_stream): Set
+       method. (stream_offset): Fix whitespace.
+       * transfer.c: (st_option decimal_opt[], sign_opt[], blank_opt[]): New
+       option arrays.  (formatted_transfer_scalar): Set sf_read_comma flag
+       based on new decimal_status flag. (data_transfer_init): Initialize new
+       parameters. Add checks for decimal, sign, and blank. (st_wait): New stub.
+       * format.c: (format_lex): Add format specifiers DP, DC, and D.
+       (parse_format_list): Parse the new specifiers.
+       * write.c (write_decimal): Use new sign enumerators to set the sign.
+       (write_complex): Handle decimal comma and semi-colon separator.
+       (nml_write_obj): Likewise.
+       * write_float.def: Revise sign enumerators. (calculate_sign): Use new
+       sign enumerators. (output_float): Likewise. Use new decimal_status flag
+       to set the decimal character to a point or a comma.
+       
+2008-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/32972
+       PR libfortran/32512
+       * Makefile.am:  Add new variable, i_spread_c, containing
+       pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, spread_i16.c,
+       spread_r4.c, spread_r8.c, spread_r10.c, spread_r16.c,
+       spread_c4.c, spread_c8.c, spread_c10.c, spread_c16.c.
+       * Makefile.in:  Regenerated.
+       * libgfortran.h:  Add prototypes for spread_i1, spread_i2,
+       spread_i4, spread_i8, spread_i16, spread_r4, spread_r8,
+       spread_c4, spread_c8, spread_c10, spread_c16,
+       spread_scalar_i1, spread_scalar_i2, spread_scalar_i4,
+       spread_scalar_i8, spread_scalar_i16, spread_scalar_r4
+       spread_scalar_r8, spread_scalar_c4, spread_scalar_c8,
+       spread_scalar_c10 and spread_scalar_c16.
+       Add macros to isolate both type and size information
+       from array descriptors with a single mask operation.
+       * intrinsics/spread_generic.c:  Add calls to specific
+       spread functions.
+       * m4/spread.m4:  New file.
+       * generated/spread_i1.c:  New file.
+       * generated/spread_i2.c:  New file.
+       * generated/spread_i4.c:  New file.
+       * generated/spread_i8.c:  New file.
+       * generated/spread_i16.c:  New file.
+       * generated/spread_r4.c:  New file.
+       * generated/spread_r8.c:  New file.
+       * generated/spread_r10.c:  New file.
+       * generated/spread_r16.c:  New file.
+       * generated/spread_c4.c:  New file.
+       * generated/spread_c8.c:  New file.
+       * generated/spread_c10.c:  New file.
+       * generated/spread_c16.c:  New file.
+
+2008-03-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/35699
+       * io/transfer.c (write_buf):  Don't pad the record, just return if the
+       data is NULL.  (next_record_w): If there are bytes left in the record
+       for unformatted direct I/O, pad out the record with zero bytes.
+
+2008-03-28  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/35721
+       * intrinsics/associated.c (associated): Ignore different
+       stride of pointer vs. target if only one element is referred.
+
+2008-03-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       * io/unix.c (fd_close):  Do not close STDIN.
+
+2007-03-23  Thomas Koenig  <tkoenig@gcc.gnu.org
+
+       PR libfortran/32972
+       * Makefile.am:  Add new variable, i_unpack_c, containing
+       unpack_i1.c, unpack_i2.c, unpack_i4.c, unpack_i8.c,
+       unpack_i16.c, unpack_r4.c, unpack_r8.c, unpack_r10.c,
+       unpack_r16.c, unpack_c4.c, unpack_c8.c, unpack_c10.c
+       and unpack_c16.c
+       Add i_unpack_c to gfor_built_src.
+       Add rule to generate i_unpack_c from m4/unpack.m4.
+       * Makefile.in:  Regenerated.
+       * libgfortran.h: Add prototypes for unpack0_i1, unpack0_i2,
+       unpack0_i4, unpack0_i8, unpack0_i16, unpack0_r4, unpack0_r8,
+       unpack0_r10, unpack0_r16, unpack0_c4, unpack0_c8, unpack0_c10,
+       unpack0_c16, unpack1_i1, unpack1_i2, unpack1_i4, unpack1_i8,
+       unpack1_i16, unpack1_r4, unpack1_r8, unpack1_r10, unpack1_r16,
+       unpack1_c4, unpack1_c8, unpack1_c10 and unpack1_c16.
+       * intrinsics/pack_generic.c (unpack1):  Add calls to specific
+       unpack1 functions.
+       (unpack0):  Add calls to specific unpack0 functions.
+       * m4/unpack.m4:  New file.
+       * generated/unpack_i1.c:  New file.
+       * generated/unpack_i2.c:  New file.
+       * generated/unpack_i4.c:  New file.
+       * generated/unpack_i8.c:  New file.
+       * generated/unpack_i16.c:  New file.
+       * generated/unpack_r4.c:  New file.
+       * generated/unpack_r8.c:  New file.
+       * generated/unpack_r10.c:  New file.
+       * generated/unpack_r16.c:  New file.
+       * generated/unpack_c4.c:  New file.
+       * generated/unpack_c8.c:  New file.
+       * generated/unpack_c10.c:  New file.
+       * generated/unpack_c16.c:  New file.
+
+2008-03-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/35632
+       * io/transfer.c (data_transfer_init):  Fix whitespace.
+       (next_record_w): Truncate the file only if the stream
+       position is short of the file end.
+
+2008-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       * intrinsics/pack_generic.c:  Fix typo.
+
+2008-03-21  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * gfortran.map: Move erfc_scaled symbols to new symbol node
+       GFORTRAN_1.1, thereby fixing ABI bug introduced in r132846.
+
+2008-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/32972
+       * runtime/in_pack_generic.c (internal_pack):  Call correct
+       function, pack_i16, for GFC_INTEGER_16.
+
+2008-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/32972
+       * Makefile.am:  Add new variable, i_pack_c, containing
+       pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, pack_i16.c,
+       pack_r4.c, pack_r8.c, pack_r10.c, pack_r16.c, pack_c4.c,
+       pack_c8.c, pack_c10.c, pack_c16.c.
+       Add m4/pack.m4 to m4_files.
+       Add i_pack_c to gfor_built_src.
+       Add rule to generate i_pack_c from m4/pack.m4.
+       * Makefile.in:  Regenerated.
+       * libgfortran.h: Add prototypes for pack_i1, pack_i2, pack_i4,
+       pack_i8, pack_i16, pack_r4, pack_r8, pack_c4, pack_c8,
+       pack_c10, pack_c16.
+       * intrinsics/pack_generic.c:  Add calls to specific
+       pack functions.
+       * m4/pack.m4:  New file.
+       * generated/pack_i1.c:  New file.
+       * generated/pack_i2.c:  New file.
+       * generated/pack_i4.c:  New file.
+       * generated/pack_i8.c:  New file.
+       * generated/pack_i16.c:  New file.
+       * generated/pack_r4.c:  New file.
+       * generated/pack_r8.c:  New file.
+       * generated/pack_r10.c:  New file.
+       * generated/pack_r16.c:  New file.
+       * generated/pack_c4.c:  New file.
+       * generated/pack_c8.c:  New file.
+       * generated/pack_c10.c:  New file.
+       * generated/pack_c16.c:  New file.
+
+2008-03-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/35627
+       * io/list_read.c (free_line): Clear the line buffer enable flag and
+       reset the index into line_buffer, aka item_count.
+       (next_char): Cleanup whitespace.
+       (read_logical): Use unget_char to assure that the first character of the
+       bad logical is saved in case it is part of an object name. Remove the
+       clearing of index and flag that is now in free_line.
+       (read_real): Likewise.
+
+2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/32972
+       * runtime/in_pack_generic.c (internal_pack):  Fix typo in
+       last commit.
+
+2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/32972
+       * Makefile.am (in_pack_c): Add in_pack_i1.c, in_pack_i2.c,
+       in_pack_r4.c, in_pack_r8.c, in_pack_r10.c and in_pack_r16.c.
+       (in_unpack_c): Add in_unpack_i1.c, in_unpack_i2.c,
+       in_unpack_r4.c, in_unpack_r8.c, in_unpack_r10.c and
+       in_unpack_r16.c.
+       * Makefile.in: Regenerate.
+       * libgfortran.h:  Add prototypes for internal_pack_1,
+       internal_pack_2, internal_pack_16, internal_pack_r4,
+       internal_pack_r8, internal_pack_r10, internal_pack_r16,
+       internal_pack_c10 and internal_pack_c16.  Add prototypes for
+       internal_unpack_1, internal_unpack_2, internal_unpack_16,
+       internal_unpack_r4, internal_unpack_r8, internal_unpack_r10,
+       internal_unpack_r16, internal_unpack_c10 and
+       internal_unpack_c16.
+       * runtime/in_pack_generic.c (internal_pack): Use sizeof instead
+       of hardwired sizes.
+       Add calls to internal_pack_1, internal_pack_2,
+       internal_pack_16, internal_pack_r4, internal_pack_r8,
+       internal_pack_r10, internal_pack_r16, internal_pack_c10 and
+       internal_pack_c16.
+       * runtime/in_unpack_generic.c (internal_unpack):  Use sizeof
+       instead of hardwired sizes.
+       Add calls to internal_unpack_1, internal_unpack_2,
+       internal_unpack_16, internal_unpack_r4, internal_unpack_r8,
+       internal_unpack_r10, internal_unpack_r16, internal_unpack_c10
+       and internal_unpack_c16.
+       * generated/in_pack_r4.c:  New file.
+       * generated/in_pack_i2.c:  New file.
+       * generated/in_unpack_i1.c:  New file.
+       * generated/in_pack_r10.c:  New file.
+       * generated/in_unpack_r4.c:  New file.
+       * generated/in_unpack_i2.c:  New file.
+       * generated/in_unpack_r16.c:  New file.
+       * generated/in_pack_r8.c:  New file.
+       * generated/in_unpack_r10.c:  New file.
+       * generated/in_unpack_r8.c:  New file.
+       * generated/in_pack_r16.c:  New file.
+       * generated/in_pack_i1.c:  New file.
+
+2008-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/35617
+       * io/list_read.c (eat_separator): If next character after eatline is '!'
+       then eatline again. 
+
+2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * aclocal.m4: Regenerate.
+       * configure: Likewise.
+       * Makefile.in: Likewise.
+
+2008-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libfortran/35524
+       * intrinsics/erfc_scaled_inc.c: Only define the long double
+       variant of erfc_scaled if expl is available.
+
+2008-03-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libfortran/32812
+       * intrinsics/random.c (scramble_seed, unscramble_seed): New
+       functions.
+       (random_seed_i4): Scramble the seed the user gives us before
+       storing it, and unscramble it when we return it back later.
+
+2008-03-05  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR libfortran/35293
+       * io/unix.c (fd_truncate): Fold s->special_file case into
+       success case of ftruncate/chsize call instead of the failure case.
+       Make failure case actually return failure.  Properly update stream
+       pointers on failure.  Call runtime_error for targets without
+       neither ftruncate nor chsize where such a call would be needed.
+
+2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/33197
+       * intrinsics/erfc_scaled_inc.c: New file.
+       * intrinsics/erfc_scaled.c: New file.
+       * gfortran.map (GFORTRAN_1.0): Add _gfortran_erfc_scaled_r*.
+       * Makefile.am: Add intrinsics/erfc_scaled.c.
        * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * Makefile.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>
+2008-03-01  Francois-Xavier Coudert  <fxcoudert@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. 
+       PR libfortran/35355
+       * intrinsics/time_1.h (__time_1): Fix calculation of user_usec
+       for mingw.
 
-2007-04-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+2008-03-01  Janne Blomqvist  <jb@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.
+       PR libfortran/35063
+       * io/unit.c (destroy_unit_mutex): Call __gthread_mutex_destroy
+       instead of macro kludge.
        
-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.
+2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR fortran/29549
+       * Makefile.am: Add -fcx-fortran-rules to AM_CFLAGS for all of
+       libgfortran.
+       * Makefile.in: Regenerated.
+
+2008-02-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * m4/ifunction_logical.m4: Add casts to get rid of warnings.
+       * generated/all_l1.c: Regenerate.
+       * generated/all_l2.c: Regenerate.
+       * generated/all_l4.c: Regenerate.
+       * generated/all_l8.c: Regenerate.
+       * generated/all_l16.c: Regenerate.
+       * generated/any_l1.c: Regenerate.
+       * generated/any_l2.c: Regenerate.
+       * generated/any_l4.c: Regenerate.
+       * generated/any_l8.c: Regenerate.
+       * generated/any_l16.c: Regenerate.
+       * generated/count_1_l.c: Regenerate.
+       * generated/count_2_l.c: Regenerate.
+       * generated/count_4_l.c: Regenerate.
+       * generated/count_8_l.c: Regenerate.
+       * generated/count_16_l.c: Regenerate.
+
+2008-02-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libfortran/32841
+       * acinclude.m4: Don't use HAVE_MATH_H.
        * configure: Regenerate.
-       * config.h.in: Regenerate.
 
-2007-03-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
-       PR libfortran/31052
-       * io/transfer.c (next_record_r): Do not call test_endfile if in namelist
-       mode.
+       PR libfortran/35132
+       * io/transfer.c (next_record_w): Truncate after the last record for
+       STREAM I/O.
 
-2007-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+       PR libfortran/34954
+       * io/transfer.c (data_transfer_init): Initialize dtp->rec if writing.
 
-       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.
+       PR libfortran/34974
+       * io/transfer.c (formatted_transfer_scalar): Flush the buffer if skips
+       is less than zero. (next_record_w): Use sseek to position the file to
+       the max position reached.
 
-2007-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
+2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
-       PR libfortran/31196
-       * intrinsics/reshape_generic.c (reshape_internal):  Increment
-       correct variable.
+       PR libfortran/35036
+       * write_float.def (output_float):  Add error checks for zero digits
+       after decimal point in E and D format specifiers.
+       
+2008-02-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
-2007-03-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+       PR libfortran/35063
+       * io/unit.c (destroy_unit_mutex): New function that uses
+       __gthread_mutex_destroy_function or pthread_mutex_destroy after
+       unlocking and before free_mem for final closure of I/O unit.
+       (delete_root): Use new function.
+       (free_internal_unit): Likewise.
+       (close_unit_1): Likewise.
 
-       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
+2008-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
-2007-03-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+       PR libfortran/35001
+       * m4/shape.m4:  Return 0 for extents <= 0.
+       * generated/shape_i4.c:  Regenerated.
+       * generated/shape_i8.c:  Regenerated.
+       * generated/shape_i16.c:  Regenerated.
 
-       * 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.
+2008-01-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
-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.
+       PR libfortran/34980
+       * m4/shape.m4:  If return array is empty, return early.
+       * generated/shape_i4.c:  Regenerated.
+       * generated/shape_i8.c:  Regenerated.
+       * generated/shape_i16.c:  Regenerated.
 
-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.
+2008-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
-2007-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+       PR libfofortran/34887
+       * io/transfer.c (next_record_w): Always move to the farthest
+       position when completing the record (also when we are
+       processing a slash edit descriptor).
 
-       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.
+2008-01-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
-2007-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+       PR libfortran/34876
+       * io/transfer.c (write_buf): Handle case of zero sized array.
+       (transfer_array): Set data pointer to NULL and size to zero.  Then
+       make a data transfer and return.
+       
+2008-01-24  David Edelsohn  <edelsohn@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.
+       * configure: Regenerate.
 
-2007-01-01  Steven G. Kargl  <kargls@comcast.net>
+2008-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
-       * ChangeLog: Copied to ...
-       * ChangeLog-2006: here.
+       PR libfortran/34795
+       * io/inquire.c (inquire_via_unit): If a unit is opened, return values
+       according to the open action for DIRECT, FORMATTED, and UNFORMATTED.
+       (inquire_via_filename): Return "UNKNOWN" for SEQUENTIAL, DIRECT,
+       FORAMATTED, and UNFORMATTED inquiries.
+       * io/unix.c (inquire_sequential): Return "UNKNOWN" when appropriate
+       for files that are not opened. (inquire_direct): Same.
+       (inquire_formatted): Same.
+       
+2008-01-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/34782
+       * io/transfer.c (formatted_transfer_scalar): Set max_pos to the greater
+       of the current max_pos or the newly calculated position.
+
+2008-01-18  Tobias Burnus  <burnus@net-b.de>
+
+       * io/write.c (write_real): Increase default precision
+       for REAL(16) by one.
+
+2008-01-16  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR libfortran/34669
+       * mk-kinds-h.sh: Compile with -S to avoid calling the assembler,
+       to avoid piping the -fdump-parse-tree output to the assembler
+       when configuring with -pipe.
+       * mk-sik-inc.sh: Likewise.
+       * mk-srk-inc.sh: Likewise.
+
+2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/34671
+       * gfortran.am: Added _gfortran_all_l1, _gfortran_all_l2,
+       _gfortran_any_l1, _gfortran_any_l2, -28,15 _gfortran_count_1_l,
+       _gfortran_count_16_l, _gfortran_count_2_l, _gfortran_count_4_l and
+       _gfortran_count_8_l Removed _gfortran_count_16_l16,
+       _gfortran_count_16_l4, _gfortran_count_16_l8,
+       _gfortran_count_4_l16, _gfortran_count_4_l4, _gfortran_count_4_l8,
+       _gfortran_count_8_l16, _gfortran_count_8_l4 and
+       _gfortran_count_8_l8.
+       * Makefile.am: Added generated/any_l1.c and generated/any_l2.c to
+       i_any_c.  Added generated/all_l1. and generated/all_l2.c to
+       i_all_c.  Removed generated/count_4_l4.c, generated/count_8_l4.c,
+       generated/count_16_l4.c, generated/count_4_l8.c,
+       generated/count_8_l8.c, generated/count_16_l8.c,
+       generated/count_4_l16.c, generated/count_8_l16.c, and
+       generated/count_16_l16.c from i_count_c.  Added count_1_l.c,
+       count_2_l.c, count_4_l.c, count_8_l.c and count_16_l.c to
+       i_count_c.  I_M4_DEPS2 depends on ifunction_logical.m4, for
+       any of the files generated from all.m4, any.m4 and count.m4.
+       * Makefile.in:  Regenerated.
+       * m4/ifunction_logical.m4:  New file.  Use
+       GFC_LOGICAL_1 pointer for access to source arrays.
+       * m4/any.m4:  Include ifunction_logical.m4 instead of
+       ifunction.m4.  Don't check atype_name.
+       * m4/all.m4:  Likewise.
+       * m4/count.m4:  Likewise.
+       * generated/any_l1.c:  New file.
+       * generated/any_l2.c:  New file.
+       * generated/all_l1.c:  New file.
+       * generated/count_1_l.c:  New file.
+       * generated/count_2_l.c:  New file.
+       * generated/count_4_l.c:  New file.
+       * generated/count_8_l.c:  New file.
+       * generated/count_16_l.c:  New file.
+       * generated/any_l4.c:  Regenerated.
+       * generated/any_l8.c:  Regenerated.
+       * generated/any_l16.c:  Regenerated.
+       * generated/all_l4.c: Regenerated.
+       * generated/all_l8.c: Regenerated.
+       * generated/all_l16.c: Regenerated.
+       * generated/count_4_l4.c:  Removed.
+       * generated/count_4_l8.c:  Removed.
+       * generated/count_4_l16.c:  Removed.
+       * generated/count_8_l4.c:  Removed.
+       * generated/count_8_l8.c:  Removed.
+       * generated/count_8_l16.c:  Removed.
+       * generated/count_16_l4.c:  Removed.
+       * generated/count_16_l8.c:  Removed.
+       * generated/count_16_l16.c:  Removed.
+
+2008-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/34746
+       * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Use %ld
+       in printf format for all bounds checking; cast all
+       integer-like arguments to runtime_error() to long int.
+       (`m'name`'rtype_qual`_'atype_code):  Likewise.
+       (`s'name`'rtype_qual`_'atype_code):  Likewise.
+       * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
+       (`m'name`'rtype_qual`_'atype_code):  Likewise.
+       (`s'name`'rtype_qual`_'atype_code):  Likewise.
+       * generated/all_l16.c: Regenerated.
+       * generated/all_l4.c: Regenerated.
+       * generated/all_l8.c: Regenerated.
+       * generated/any_l16.c: Regenerated.
+       * generated/any_l4.c: Regenerated.
+       * generated/any_l8.c: Regenerated.
+       * generated/count_16_l16.c: Regenerated.
+       * generated/count_16_l4.c: Regenerated.
+       * generated/count_16_l8.c: Regenerated.
+       * generated/count_4_l16.c: Regenerated.
+       * generated/count_4_l4.c: Regenerated.
+       * generated/count_4_l8.c: Regenerated.
+       * generated/count_8_l16.c: Regenerated.
+       * generated/count_8_l4.c: Regenerated.
+       * generated/count_8_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.
+
+2008-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/34670
+       * m4/iparm.m4 (upcase):  New macro (copied from the m4 manual).
+       (u_name):  New macro for the upper case name of the intrinsic.
+       * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Add
+       bounds checking and rank check, depending on
+       compile_options.bounds_check.
+       (`m'name`'rtype_qual`_'atype_code):  Likewise.
+       (`s'name`'rtype_qual`_'atype_code):  Likewise.
+       * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Add
+       bounds checking and rank check, depending on
+       compile_options.bounds_check.
+       (`m'name`'rtype_qual`_'atype_code):  Likewise.
+       (`s'name`'rtype_qual`_'atype_code):  Likewise.
+       * generated/all_l16.c: Regenerated.
+       * generated/all_l4.c: Regenerated.
+       * generated/all_l8.c: Regenerated.
+       * generated/any_l16.c: Regenerated.
+       * generated/any_l4.c: Regenerated.
+       * generated/any_l8.c: Regenerated.
+       * generated/count_16_l16.c: Regenerated.
+       * generated/count_16_l4.c: Regenerated.
+       * generated/count_16_l8.c: Regenerated.
+       * generated/count_4_l16.c: Regenerated.
+       * generated/count_4_l4.c: Regenerated.
+       * generated/count_4_l8.c: Regenerated.
+       * generated/count_8_l16.c: Regenerated.
+       * generated/count_8_l4.c: Regenerated.
+       * generated/count_8_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.
+
+2008-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/34676
+       * io/list_read.c (next_char): Only save the EOF condition for later if
+       advance="no".
+
+2008-01-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/34565
+       * io/io.h:  Adjust protoypes for open_internal(),
+       next_array_record() and init_loop_spec().
+       * io/list_read.c (next_char):  Use argument "finished"
+       of next_array_record to check for end on internal file.
+       * io/unit.c:  Calculate the offset for an array
+       internal file and supply this informatin to open_internal().
+       * io/unix.c (open_internal):  Set the offset for the internal
+       file on open.
+       * io/transfer.c (init_loop_spec):  Calculate the starting
+       record in case of negative strides.  Return size of 0 for
+       an empty array.
+       (next_array_record):  Use an extra flag to signal that the
+       array is finished.
+       (next_record_r):  Use the new flag to next_array_record().
+       (next_record_w):  Likewise.