OSDN Git Service

2008-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
index dff8dc8..95f526a 100644 (file)
@@ -1,3 +1,715 @@
+2008-11-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/38135
+       * m4/reshape.m4:  Correct bounds checking when PAD is present.
+       Treat PAD as if it were SOURCE when SOURCE is empty.
+       * intrinsics/reshape_generic.c:  Likewise.
+       * generated/reshape_c10.c Regenerated.
+       * generated/reshape_c16.c Regenerated.
+       * generated/reshape_c4.c Regenerated.
+       * generated/reshape_c8.c Regenerated.
+       * generated/reshape_i16.c Regenerated.
+       * generated/reshape_i4.c Regenerated.
+       * generated/reshape_i8.c Regenerated.
+       * generated/reshape_r10.c Regenerated.
+       * generated/reshape_r16.c Regenerated.
+       * generated/reshape_r4.c Regenerated.
+       * generated/reshape_r8.c Regenerated.
+
+2008-11-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/38097
+       * io/read.c (read_f): Initialize exponent. Fix comment. Set loop
+       conditions for BZ/BN.
+       * io/unit.c (get_internal_unit): Initialize flags.blank.
+       * io/transfer.c (data_transfer_init): Fix whitespace.
+
+2008-11-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/37294
+       * io/write.c (namelist_write_newline): Use array loop specification to
+       advance to next internal array unit record. (namelist_write): Adjust to
+       accomodate the internal array unit behavior.
+
+2008-11-01  Dennis Wassel  <dennis.wassel@gmail.com>
+
+       PR fortran/37159
+       * intrinsics/random.c: Added comment to adapt check.c, should
+       kiss_size change.
+       Few cosmetic changes to existing comments.
+
+2008-10-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/37707
+       * io/list_read.c (read_character): Remove code to look ahead in namelist
+       reads to descriminate non-delimited strings from namelist objects.
+       * io/write.c (namelist_write): Delimit character strings with quote or
+       apostrophe, defaulting to quote.
+
+2008-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/34670
+       * intrinsics/transpose_generic.c:  Implement bounds checking.
+       * m4/transpose.m4:  Likewise.
+       * generated/transpose_c8.c: Regenerated.
+       * generated/transpose_c16.c: Regenerated.
+       * generated/transpose_r10.c: Regenerated.
+       * generated/transpose_i8.c: Regenerated.
+       * generated/transpose_c10.c: Regenerated.
+       * generated/transpose_r4.c: Regenerated.
+       * generated/transpose_c4.c: Regenerated.
+       * generated/transpose_i16.c: Regenerated.
+       * generated/transpose_i4.c: Regenerated.
+       * generated/transpose_r8.c: Regenerated.
+       * generated/transpose_r16.c: Regenerated.
+
+2008-10-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org
+
+       PR libfortran/37834
+       * io/write_float.def (output_float): Emit '0.' for special case of
+       format specifier 'f0.0' and value of zero. Likewise emit '0' for 'f1.0'.
+
+2008-10-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org
+
+       PR libfortran/37863
+       * io/write_float.def (WRITE_FLOAT): Round to 1.0 correctly.
+       * io/io.h (st_parameter_44): Fix id type declaration.
+
+2008-10-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * io/file_pos.c (unformatted_backspace): Normal case is
+       GFC_CONVERT_NATIVE.
+       * io/transfer.c (read_sf):  Mark paths leading to generate_error()
+       as unlikely.
+       (readl_block_form):  Likewise.
+       (read_block_direct):  Likewise.
+       (write_block):  Likewise.
+       (write_buf):  Likewise.
+       (us_read):  Likewise.  Normal case is GFC_CONVERT_NATIVE.
+       (next_record_w_unf):  Mark paths leading to generate_error()
+       as unlikely.
+
+2008-10-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/34670
+       * generated/spread_r4.c: Regenerated.
+
+2008-10-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/34670
+       * intrinsics/reshape_generic.c:  Add bounds checking.
+       * m4/reshape.m4:  Likewise.
+        * generated/reshape_c10.c: Regenerated.
+        * generated/reshape_c16.c: Regenerated.
+        * generated/reshape_c4.c: Regenerated.
+        * generated/reshape_c8.c: Regenerated.
+        * generated/reshape_i16.c: Regenerated.
+        * generated/reshape_i4.c: Regenerated.
+        * generated/reshape_i8.c: Regenerated.
+        * generated/reshape_r10.c: Regenerated.
+        * generated/reshape_r16.c: Regenerated.
+        * generated/reshape_r4.c: Regenerated.
+        * generated/reshape_r8.c: Regenerated.
+        * generated/spread_r4.c: Regenerated.
+
+2008-10-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org
+
+       PR libfortran/37083
+       * io/list_read.c (next_char): Simplify EOF tests and set endfile flag.
+       (finish_list_read): Add EOF check.
+
+2008-10-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/37753
+       * io/transfer.c (unformatted_read):  CONVERT_NATIVE
+       is the usual case.  Check for kind==1 for non-byte-reversing
+       operation.
+       (unformatted_write):  Likewise.
+
+2008-10-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org
+
+       PR libfortran/37707
+       * io/list_read.c (nml_get_obj_data): If the first namelist object rank
+       is greater than zero, call nml_object_read with the first object rather
+       than the sub-object.
+
+2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
+            Steve Ellcey  <sje@cup.hp.com>
+
+       * configure: Regenerate for new libtool.
+       * Makefile.in: Ditto.
+
+2008-09-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org
+
+       PR libfortran/37498
+       * list_read.c (eat_separator): Revert previous patch and move
+       delim_status, decimal_status, and pad_status to gfc_unit.
+       (parse_real): Ditto. (read_real): Ditto.
+       * read.c (read_a): Likewise. (read_a_char4): Likewise.
+       (read_f): Likewise.
+       * inquire.c (inquire_via_unit): Add missing check for
+       IOPARM_INQUIRE_HAS_FLAGS2. (inquire_via_filename): Likewise.
+       * io.h (unit_sign_s): Move delim_status, decimal_status, and pad_status
+       to gfc_unit.
+       * transfer.c (read_sf): Ditto. (read_block_form): Ditto.
+       (formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto.
+       * write.c (write_default_char4): Ditto. (write_utf8_char4): Ditto.
+       (write_character): Ditto. (write_real_g0): Ditto.
+       (list_formatted_write_scalar): Ditto. (nml_write_obj): Ditto.
+       (namelist_write): Ditto.
+       * write_float.def (calculate_sign): Ditto. (output_float): Ditto.
+
+2008-09-24  Tobias Burnus  <burnus@net-b.de>
+
+       * runtime/compile_options.c (init_compile_options):
+       Sync flags with front end.
+
+2008-09-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org
+
+       PR libfortran/37498
+       * file_pos (st_endfile): Clear memory only for libfortran 4.3 private
+       area.
+       * list_read.c (eat_separator): Only access F2003 I/O parameters if
+       IOPARM_DT_HAS_F2003 bit is set. (parse_real): Ditto.
+       (read_real): Ditto.
+       * read.c (read_a): Likewise. (read_a_char4): Likewise though not
+       strictly necessary. (read_f): Likewise.
+       * io.h (unit_sign_s): New enumerator to allow duplication of
+       st_parameter structures. (IOPARM_DT_HAS_F2003): New mask bit.
+       (st_parameter_43): New structure copied from 4.3 version of 
+       st_paramater_dt private section. (st_parameter_44): New structure with
+       F2003 items added. (st_parameter_dt): Modified to create union of new
+       and old structures to allow correct memory setting for 4.3 ABI
+       compatibility. Bumped the pad size.
+       * transfer.c (read_sf): Do not use F2003 I/O memory areas unless
+       IOPARM_DT_HAS_F2003 bit has been set. (read_block_form): Ditto.
+       (formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto and
+       add comment, fix formatting.
+       * write.c (write_default_char4): Likewise though not strictly necessary.
+       (write_utf8_char4): Ditto. (write_character): Ditto.
+       (write_real_g0): Ditto. (list_formatted_write_scalar): Ditto.
+       (nml_write_obj): Ditto. (namelist_write): Ditto.
+       * write_float.def (calculate_sign): Eliminate warning by including all
+       cases in switch. (output_float): Output only decimal point of F2003 flag
+       is not set.
+
+2008-09-10  Tobias Burnus  <burnus@net-b.de>
+           H. J. Lu  <hongjiu.lu@intel.com>
+
+       * mk-sik-inc.sh: Make -Wunused-variable proof.
+       * mk-srk-inc.sh: Make -Wunused-variable proof.
+
+2008-09-10  Tobias Burnus  <burnus@net-b.de>
+
+       * mk-kinds-h.sh: Make -Wunused-variable proof.
+
+2008-09-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/37203
+       * intrinsics/reshape_generic.c:  Add checking on
+       out-of-bounds and duplicate values of order argument.
+       * m4/reshape.m4:  Likewise.
+       * generated/reshape_c10.c: Regenerated.
+       * generated/reshape_c16.c: Regenerated.
+       * generated/reshape_c4.c: Regenerated.
+       * generated/reshape_c8.c: Regenerated.
+       * generated/reshape_i16.c: Regenerated.
+       * generated/reshape_i4.c: Regenerated.
+       * generated/reshape_i8.c: Regenerated.
+       * generated/reshape_r10.c: Regenerated.
+       * generated/reshape_r16.c: Regenerated.
+       * generated/reshape_r4.c: Regenerated.
+       * generated/reshape_r8.c: Regenerated.
+
+2008-09-06  Tobias Burnus  <burnus@net-b.de>
+
+       * libgfortran.h (likely,unlikely): New makros.
+       (runtime_warning_at,__mingw_snprintf): Add __attribute__(format()).
+       * m4/spread.m4 (spread_'rtype_code`): Use unlikely for bounds_check.
+       * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Ditto.
+       * m4/matmull.m4 (matmul_'rtype_code`): Ditto.
+       * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Ditto.
+       * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Ditto.
+       * m4/matmul.m4 (matmul_'rtype_code`): Ditto.
+
+       * generated/minval_r8.c: Regenerated.
+       * generated/spread_r10.c: Regenerated.
+       * generated/minloc1_16_r16.c: Regenerated.
+       * generated/maxloc1_4_r8.c: Regenerated.
+       * generated/sum_i8.c: Regenerated.
+       * generated/any_l16.c: Regenerated.
+       * generated/spread_i8.c: Regenerated.
+       * generated/maxval_i2.c: Regenerated.
+       * generated/any_l2.c: Regenerated.
+       * generated/product_r4.c: Regenerated.
+       * generated/maxloc1_8_i4.c: Regenerated.
+       * generated/maxloc0_4_r4.c: Regenerated.
+       * generated/all_l1.c: Regenerated.
+       * generated/matmul_r8.c: Regenerated.
+       * generated/product_i2.c: Regenerated.
+       * generated/minloc0_4_r16.c: Regenerated.
+       * generated/minloc0_4_i1.c: Regenerated.
+       * generated/maxloc0_4_r16.c: Regenerated.
+       * generated/maxloc0_4_i2.c: Regenerated.
+       * generated/minloc1_8_r16.c: Regenerated.
+       * generated/maxloc1_8_r16.c: Regenerated.
+       * generated/maxloc0_8_i8.c: Regenerated.
+       * generated/sum_r16.c: Regenerated.
+       * generated/sum_i1.c: Regenerated.
+       * generated/minloc1_4_r8.c: Regenerated.
+       * generated/maxloc1_16_r16.c: Regenerated.
+       * generated/minloc1_16_i4.c: Regenerated.
+       * generated/maxloc1_16_i4.c: Regenerated.
+       * generated/minloc0_16_i8.c: Regenerated.
+       * generated/spread_i1.c: Regenerated.
+       * generated/maxloc0_16_i8.c: Regenerated.
+       * generated/maxval_r16.c: Regenerated.
+       * generated/product_c10.c: Regenerated.
+       * generated/minloc1_8_i4.c: Regenerated.
+       * generated/minloc0_16_i16.c: Regenerated.
+       * generated/matmul_r16.c: Regenerated.
+       * generated/minloc0_4_r4.c: Regenerated.
+       * generated/all_l2.c: Regenerated.
+       * generated/product_c4.c: Regenerated.
+       * generated/sum_r4.c: Regenerated.
+       * generated/minloc0_4_i2.c: Regenerated.
+       * generated/spread_c10.c: Regenerated.
+       * generated/maxloc0_8_i1.c: Regenerated.
+       * generated/spread_r4.c: Regenerated.
+       * generated/minloc0_8_i8.c: Regenerated.
+       * generated/matmul_c8.c: Regenerated.
+       * generated/all_l16.c: Regenerated.
+       * generated/minloc1_16_r10.c: Regenerated.
+       * generated/sum_i2.c: Regenerated.
+       * generated/minloc0_16_i1.c: Regenerated.
+       * generated/maxloc0_16_i1.c: Regenerated.
+       * generated/maxloc1_8_r8.c: Regenerated.
+       * generated/minval_i16.c: Regenerated.
+       * generated/spread_i2.c: Regenerated.
+       * generated/maxval_i4.c: Regenerated.
+       * generated/minval_i8.c: Regenerated.
+       * generated/any_l4.c: Regenerated.
+       * generated/maxloc1_4_i8.c: Regenerated.
+       * generated/maxloc0_16_i16.c: Regenerated.
+       * generated/maxloc0_8_r4.c: Regenerated.
+       * generated/minloc1_4_i16.c: Regenerated.
+       * generated/maxloc1_4_i16.c: Regenerated.
+       * generated/minloc0_4_r10.c: Regenerated.
+       * generated/minloc0_8_i16.c: Regenerated.
+       * generated/maxloc0_4_r10.c: Regenerated.
+       * generated/maxloc0_8_i16.c: Regenerated.
+       * generated/minloc1_8_r10.c: Regenerated.
+       * generated/product_i4.c: Regenerated.
+       * generated/minloc0_16_r4.c: Regenerated.
+       * generated/sum_c16.c: Regenerated.
+       * generated/maxloc1_8_r10.c: Regenerated.
+       * generated/maxloc0_16_r4.c: Regenerated.
+       * generated/minloc1_16_r8.c: Regenerated.
+       * generated/minloc0_8_i1.c: Regenerated.
+       * generated/maxloc0_4_i4.c: Regenerated.
+       * generated/maxloc1_16_r8.c: Regenerated.
+       * generated/maxloc0_8_i2.c: Regenerated.
+       * generated/sum_r10.c: Regenerated.
+       * generated/count_4_l.c: Regenerated.
+       * generated/sum_c4.c: Regenerated.
+       * generated/count_8_l.c: Regenerated.
+       * generated/maxloc1_16_r10.c: Regenerated.
+       * generated/matmul_i8.c: Regenerated.
+       * generated/minloc0_16_i2.c: Regenerated.
+       * generated/minloc1_8_r8.c: Regenerated.
+       * generated/maxloc0_16_i2.c: Regenerated.
+       * generated/spread_c4.c: Regenerated.
+       * generated/matmul_c16.c: Regenerated.
+       * generated/maxval_r10.c: Regenerated.
+       * generated/minval_i1.c: Regenerated.
+       * generated/maxloc1_4_i1.c: Regenerated.
+       * generated/matmul_r10.c: Regenerated.
+       * generated/minloc1_4_i8.c: Regenerated.
+       * generated/minloc0_8_r4.c: Regenerated.
+       * generated/matmul_l4.c: Regenerated.
+       * generated/product_i16.c: Regenerated.
+       * generated/minloc0_16_r16.c: Regenerated.
+       * generated/all_l4.c: Regenerated.
+       * generated/minloc0_4_i4.c: Regenerated.
+       * generated/minloc0_8_i2.c: Regenerated.
+       * generated/matmul_i1.c: Regenerated.
+       * generated/minval_r4.c: Regenerated.
+       * generated/maxloc1_4_r4.c: Regenerated.
+       * generated/spread_i16.c: Regenerated.
+       * generated/sum_i4.c: Regenerated.
+       * generated/maxval_r8.c: Regenerated.
+       * generated/spread_i4.c: Regenerated.
+       * generated/minloc1_4_i1.c: Regenerated.
+       * generated/minval_r16.c: Regenerated.
+       * generated/minval_i2.c: Regenerated.
+       * generated/maxloc1_4_i2.c: Regenerated.
+       * generated/product_r8.c: Regenerated.
+       * generated/maxloc1_8_i8.c: Regenerated.
+       * generated/maxloc0_4_r8.c: Regenerated.
+       * generated/maxloc0_16_r16.c: Regenerated.
+       * generated/matmul_r4.c: Regenerated.
+       * generated/sum_c10.c: Regenerated.
+       * generated/minloc1_4_r16.c: Regenerated.
+       * generated/maxloc1_4_r16.c: Regenerated.
+       * generated/minloc0_8_r16.c: Regenerated.
+       * generated/maxloc0_8_r16.c: Regenerated.
+       * generated/count_1_l.c: Regenerated.
+       * generated/maxloc0_8_i4.c: Regenerated.
+       * generated/matmul_i2.c: Regenerated.
+       * generated/minloc1_4_r4.c: Regenerated.
+       * generated/matmul_c10.c: Regenerated.
+       * generated/minloc0_16_i4.c: Regenerated.
+       * generated/maxloc0_16_i4.c: Regenerated.
+       * generated/minloc1_16_i8.c: Regenerated.
+       * generated/maxloc1_16_i8.c: Regenerated.
+       * generated/minloc1_4_i2.c: Regenerated.
+       * generated/matmul_l16.c: Regenerated.
+       * generated/maxloc1_8_i1.c: Regenerated.
+       * generated/minloc0_16_r10.c: Regenerated.
+       * generated/minloc1_8_i8.c: Regenerated.
+       * generated/minloc0_4_r8.c: Regenerated.
+       * generated/product_r16.c: Regenerated.
+       * generated/product_c8.c: Regenerated.
+       * generated/sum_r8.c: Regenerated.
+       * generated/minloc0_8_i4.c: Regenerated.
+       * generated/matmul_c4.c: Regenerated.
+       * generated/minloc1_16_i16.c: Regenerated.
+       * generated/spread_r8.c: Regenerated.
+       * generated/maxloc1_8_r4.c: Regenerated.
+       * generated/minloc1_16_i1.c: Regenerated.
+       * generated/maxloc1_16_i1.c: Regenerated.
+       * generated/spread_r16.c: Regenerated.
+       * generated/minval_r10.c: Regenerated.
+       * generated/count_16_l.c: Regenerated.
+       * generated/minval_i4.c: Regenerated.
+       * generated/minloc1_8_i1.c: Regenerated.
+       * generated/maxloc1_4_i4.c: Regenerated.
+       * generated/maxloc1_8_i2.c: Regenerated.
+       * generated/maxval_i8.c: Regenerated.
+       * generated/any_l8.c: Regenerated.
+       * generated/maxloc0_16_r10.c: Regenerated.
+       * generated/minloc0_4_i16.c: Regenerated.
+       * generated/maxloc0_8_r8.c: Regenerated.
+       * generated/maxloc0_4_i16.c: Regenerated.
+       * generated/minloc1_4_r10.c: Regenerated.
+       * generated/minloc1_8_i16.c: Regenerated.
+       * generated/maxloc1_4_r10.c: Regenerated.
+       * generated/maxloc1_8_i16.c: Regenerated.
+       * generated/minloc0_8_r10.c: Regenerated.
+       * generated/maxloc0_8_r10.c: Regenerated.
+       * generated/minloc1_16_r4.c: Regenerated.
+       * generated/maxloc1_16_r4.c: Regenerated.
+       * generated/minloc0_16_r8.c: Regenerated.
+       * generated/product_i8.c: Regenerated.
+       * generated/maxloc0_16_r8.c: Regenerated.
+       * generated/sum_i16.c: Regenerated.
+       * generated/count_2_l.c: Regenerated.
+       * generated/maxloc0_4_i8.c: Regenerated.
+       * generated/maxloc1_16_i16.c: Regenerated.
+       * generated/matmul_i4.c: Regenerated.
+       * generated/minloc1_8_r4.c: Regenerated.
+       * generated/sum_c8.c: Regenerated.
+       * generated/minloc1_16_i2.c: Regenerated.
+       * generated/maxloc1_16_i2.c: Regenerated.
+       * generated/maxval_i16.c: Regenerated.
+       * generated/spread_c8.c: Regenerated.
+       * generated/matmul_i16.c: Regenerated.
+       * generated/minloc1_4_i4.c: Regenerated.
+       * generated/maxval_i1.c: Regenerated.
+       * generated/minloc1_8_i2.c: Regenerated.
+       * generated/any_l1.c: Regenerated.
+       * generated/product_c16.c: Regenerated.
+       * generated/minloc0_8_r8.c: Regenerated.
+       * generated/matmul_l8.c: Regenerated.
+       * generated/product_r10.c: Regenerated.
+       * generated/product_i1.c: Regenerated.
+       * generated/all_l8.c: Regenerated.
+       * generated/maxloc0_4_i1.c: Regenerated.
+       * generated/minloc0_4_i8.c: Regenerated.
+       * generated/spread_c16.c: Regenerated.
+       * generated/maxval_r4.c: Regenerated.
+
+2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/37301
+       PR libfortran/37228
+       * io/io.h (write_real_g0): Declare new function to handle g0.d format.
+       * io/transfer.c (formatted_transfer_scalar): Use new function.
+       * io/format.c (parse_format_list): Enable g0.d.
+       * io/write.c (write_a_char4): Delete unused var.
+       (set_fnode_default): New function to set the default fnode w, d, and e
+       factored from write_real. (write_real): Use new factored function.
+       (write_real_g0): New function that sets d to that passed by g0.d format
+       specifier and set format to ES.  Default values for w and e are used
+       from the new function, set_fnode_default.
+
+2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       * runtime/error.c: Fix cast for printf.
+
+2008-08-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/36895
+       * io/write.c (namelist_write_newline): New function to correctly mark
+       next records in both external and internal units.
+       (nml_write_obj): Use new function.
+       (namelist_write: Use new function.
+
+2008-08-19  Tobias Burnus  <burnus@net-b.de>
+
+       PR libfortran/35863
+       * io/write.c (write_a_char4): Add missing variable declaration
+       in HAVE_CRLF block.
+
+2008-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/35863
+       * intrinsics/selected_char_kind.c: Enable iso_10646.
+       * io/read.c (typedef uchar): New type.
+       (read_utf8): New function to read a single UTF-8 encoded character.
+       (read_utf8_char1): New function to read UTF-8 into a KIND=1 string.
+       (read_default_char1): New functio to read default into KIND=1 string.
+       (read_utf8_char4): New function to read UTF-8 into a KIND=4 string.
+       (read_default_char4): New function to read UTF-8 into a KIND=4 string.
+       (read_a): Modify to use the new functions.
+       (read_a_char4): Modify to use the new functions.
+       * io/write.c (error.h): Add include. (typedef uchar): New type.
+       (write_default_char4): New function to default write KIND=4 string.
+       (write_utf8_char4): New function to UTF-8 write KIND=4 string.
+       (write_a_char4): Modify to use new functions.
+       (write_character): Modify to use new functions.
+
+2008-08-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR libfortran/37123
+       * intrinsics/cshift0.c (cshift0): Fix 2 typos.
+
+2008-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/36886
+       * Makefile.am:  Added $(i_cshift0_c).
+       Added $(i_cshift0_c) to gfor_built_specific_src.
+       Add rule to build from cshift0.m4.
+       * Makefile.in:  Regenerated.
+       * libgfortran.h:  Addedd prototypes for cshift0_i1,
+       cshift0_i2, cshift0_i4, cshift0_i8, cshift0_i16,
+       cshift0_r4, cshift0_r8, cshift0_r10, cshift0_r16,
+       cshift0_c4, cshift0_c8, cshift0_c10, cshift0_c16.
+       Define Macros GFC_UNALIGNED_C4 and GFC_UNALIGNED_C8.
+       * intrinsics/cshift0.c:  Remove helper functions for
+       the innter shift loop.
+       (cshift0):  Call specific functions depending on type
+       of array argument.  Only call specific functions for
+       correct alignment for other types.
+       * m4/cshift0.m4:  New file.
+       * generated/cshift0_i1.c:  New file.
+       * generated/cshift0_i2.c:  New file.
+       * generated/cshift0_i4.c:  New file.
+       * generated/cshift0_i8:.c  New file.
+       * generated/cshift0_i16.c:  New file.
+       * generated/cshift0_r4.c:  New file.
+       * generated/cshift0_r8.c:  New file.
+       * generated/cshift0_r10.c:  New file.
+       * generated/cshift0_r16.c:  New file.
+       * generated/cshift0_c4.c:  New file.
+       * generated/cshift0_c8.c:  New file.
+       * generated/cshift0_c10.c:  New file.
+       * generated/cshift0_c16.c:  New file.
+
+2008-07-27  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/36132
+       PR fortran/29952
+       PR fortran/36909
+       * runtime/error.c: New function runtime_error_at.
+       * gfortran.map: Ditto.
+       * libgfortran.h: Ditto.
+
+2008-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/36582
+       * io/list_read.c: If variable rank is zero, do not adjust the found
+       namelist object pointer.
+
+2008-07-22  Daniel Kraft  <d@domob.eu>
+
+       PR fortran/29835
+       * io/format.c (struct format_data):  New member error_element.
+       (unexpected_element):  Added '%c' to message.
+       (next_char):  Keep track of last parsed character in fmt->error_element.
+       (format_error):  If the message is unexpected_element, output the
+       offending character, too.
+
+2008-07-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/36890
+       * io/file_pos.c:  Declare READ_CHUNK as signed to avoid
+       signed/unsigned comparison warning in formatted_backspace.
+
+2008-07-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/36773
+       * intrinsics/cshift0.c (cshift0):  Return early if size of array
+       is zero.
+       * intrinsics/eoshift0.c (eoshift0):  Return early if size of
+       return array is zero.
+       * intrinsics/eoshift2.c (eoshift2):  Likewise.
+       * m4/eoshift1.m4 (eoshift1):  Return early if size of array
+       is zero.
+       * m4/eoshift3.m4 (eoshift3):  Likewise.
+       * m4/eoshift2.m4 (eoshift2):  Return early if size of return
+       array is zero.
+       * m4/eoshift4.m4 (eoshift2):  Return early if size of return
+       array is zero.
+       * generated/cshift1_16.c: Regenerated.
+       * generated/cshift1_4.c: Regenerated.
+       * generated/cshift1_8.c: Regenerated.
+       * generated/eoshift1_16.c: Regenerated.
+       * generated/eoshift1_4.c: Regenerated.
+       * generated/eoshift1_8.c: Regenerated.
+       * generated/eoshift3_16.c: Regenerated.
+       * generated/eoshift3_4.c: Regenerated.
+       * generated/eoshift3_8.c: Regenerated.
+
+2008-07-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/36857
+       * io/write_float.def: Comment out locale dependent code and fix general
+       comments.
+       
+2008-07-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR fortran/36341
+       PR fortran/34670
+       * m4/matmul.m4:  Add bounds checking.
+       * m4/matmull.m4:  Likewise.
+       * generated/matmul_c10.c: Regenerated.
+       * generated/matmul_c16.c: Regenerated.
+       * generated/matmul_c4.c: Regenerated.
+       * generated/matmul_c8.c: Regenerated.
+       * generated/matmul_i1.c: Regenerated.
+       * generated/matmul_i16.c: Regenerated.
+       * generated/matmul_i2.c: Regenerated.
+       * generated/matmul_i4.c: Regenerated.
+       * generated/matmul_i8.c: Regenerated.
+       * generated/matmul_l16.c: Regenerated.
+       * generated/matmul_l4.c: Regenerated.
+       * generated/matmul_l8.c: Regenerated.
+       * generated/matmul_r10.c: Regenerated.
+       * generated/matmul_r16.c: Regenerated.
+       * generated/matmul_r4.c: Regenerated.
+       * generated/matmul_r8.c: Regenerated.
+
+2008-07-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Fix configure cache
+       variable name.
+       * configure: Regenerate.
+
+2008-07-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/36676
+       * io/list_read.c (find_nml_name): Use eat_separator instead of eat_line.
+       
+2008-06-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/36657
+       * io/list_read.c (read_character): Check for '!' along with separators.
+       (find_nml_name): Likewise and eat the comment if found.
+
+2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * configure: Regenerate.
+
+2008-06-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/36546
+       * io/list_read.c (eat_separator): Add tab character to condition
+       for looping past whitespace.
+
+2008-06-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/36515
+       * libgfortran.h (compile_options_t): Add int range_check to structure.
+       * runtime/compile_options.c (set_options): Add range_check option.
+       (init_compile_options): Likewise.
+       *io/read.c (read_decimal): Change overflow checks to include
+       range_check.
+       
+2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/36538
+       * io/list_read.c (namelist_read): Add eat_separator to eliminate leading
+       tabs.
+
+2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/35863
+       * libgfortran.h: Change l8_to_l4_offset to big_endian and add endian_off.
+       * runtime/main.c: Fix error in comment. Change l8_to_l4_offset to
+       big_endian. (determine_endianness): Add endian_off and set its value
+       according to big_endian.
+       * gfortran.map: Add symbol for new _gfortran_transfer_character_wide.
+       * io/io.h: Add prototype declarations for new functions.
+       * io/list_read.c (list_formatted_read_scalar): Modify to handle kind=4.
+       (list_formatted_read): Calculate stride based on kind for character type
+       and use it when calling list_formatted_read_scalar.
+       * io/inquire.c (inquire_via_unit): Change l8_to_l4_offset to big_endian.
+       * io/open.c (st_open): Change l8_to_l4_offset to big_endian.
+       * io/read.c (read_a_char4): New function to handle formatted read.
+       * io/write.c: Define GFC_CHAR4(x) to improve readability of code.
+       (write_a_char4): New function to handle formatted write.
+       (write_character): Modify to accept the kind parameter and adjust for
+       endianess of the machine. (list_formatted_write): Calculate the stride
+       resulting from the kind and adjust the list_formatted_write_scalar call
+       accordingly. (nml_write_obj): Adjust calls to write_character.
+       (namelist_write): Likewise.
+       * io/transfer.c (formatted_transfer_scaler): Rename 'len' argument to
+       'kind' argument to better describe what it is. Add calls to new
+       functions for kind == 4. (formatted_transfer): Modify to handle the case
+       of type character and kind equals 4 to pass in the kind to the transfer
+       routines. (transfer_character_wide): Add this new function.
+       (transfer_array): Don't set kind to the character string length. Adjust
+       strides bases on character kind.
+       (unformatted_read): Adjust size based on kind for character types.
+       (unformatted_write): Likewise. (data_transfer_init): Change
+       l8_to_l4_offset to big_endian.
+       io/fbuf.c (fbuf_seek): Add cast to eliminate warning.
+
+2008-06-13  Tobias Burnus  <burnus@net-b.de>
+
+       * configure.ac (AM_CFLAGS): Remove -Werror again.
+       * configure: Regenerate.
+
+2008-06-13  Tobias Burnus  <burnus@net-b.de>
+
+       PR libgfortran/36518
+       * configure.ac (AM_CFLAGS): Add -Werror.
+       * configure: Regenerate.
+       * m4/ifunction_logical.m4: Cast "n" to "(int)".
+       * generated/any_l16.c: Regenerate.
+       * generated/any_l2.c: Regenerate.
+       * generated/all_l1.c: Regenerate.
+       * generated/all_l2.c: Regenerate.
+       * generated/all_l16.c: Regenerate.
+       * generated/any_l4.c: Regenerate.
+       * generated/count_4_l.c: Regenerate.
+       * generated/count_8_l.c: Regenerate.
+       * generated/all_l4.c: Regenerate.
+       * generated/count_1_l.c: Regenerate.
+       * generated/count_16_l.c: Regenerate.
+       * generated/any_l8.c: Regenerate.
+       * generated/count_2_l.c: Regenerate.
+       * generated/any_l1.c: Regenerate.
+       * generated/all_l8.c: Regenerate.
+
+2008-06-13  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/36495
+       * configure.ac (AM_FCFLAGS): Add "-Werror -fimplicit-none".
+       * configure: (generated) ditto.
+       * intrinsics/dprod_r8.f90: Add "implicit none".
+
 2008-06-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
        PR libfortran/36420