+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
+ PR libfortran/36421
+ PR libfortran/36422
+ * io/io.h: Add prototype for write_real.
+ * io/transfer.c (formatted_transfer_scalar): For FMT_G and width zero,
+ use write_real.
+ * io/format.c: Add zero width error message. (parse_format_list): Use
+ error message for FMT_A if followed by FMT_ZERO. Use zero width error
+ message for FMT_G if mode is READ or if -std=f95 or f2003. (fmormat0):
+ Fix typo in comment.
+ * io/write.c(write_a): Set wlen to len if FMT_G and length is zero.
+ (write_l): Add wlen variable and use it if FMT_G and width is zero.
+ (write_decimal): If FMT_G, set m to -1 to flag processor dependent
+ formatting. (write_real): Remove static declaration.
+
+2008-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/36319
+ * intrinsics/string_intrinsics_inc.c (string_index): Return
+ correct value for zero-length substring.
+ * intrinsics/cshift0.c: Add _char4 variant.
+ * intrinsics/eoshift0.c (eoshift0): Allow filler to be a pattern
+ wider than a single byte. Add _char4 variant and use above
+ functionality.
+ * intrinsics/eoshift2.c (eoshift2): Likewise.
+ * m4/eoshift1.m4: Likewise.
+ * m4/eoshift3.m4: Likewise.
+ * m4/cshift1.m4: Add _char4 variants.
+ * gfortran.map (GFORTRAN_1.1): Add _gfortran_cshift0_1_char4,
+ _gfortran_cshift0_2_char4, _gfortran_cshift0_4_char4,
+ _gfortran_cshift0_8_char4, _gfortran_cshift1_16_char4,
+ _gfortran_cshift1_4_char4, _gfortran_cshift1_8_char4,
+ _gfortran_eoshift0_1_char4, _gfortran_eoshift0_2_char4,
+ _gfortran_eoshift0_4_char4, _gfortran_eoshift0_8_char4,
+ _gfortran_eoshift1_16_char4, _gfortran_eoshift1_4_char4,
+ _gfortran_eoshift1_8_char4, _gfortran_eoshift2_1_char4,
+ _gfortran_eoshift2_2_char4, _gfortran_eoshift2_4_char4,
+ _gfortran_eoshift2_8_char4, _gfortran_eoshift3_16_char4,
+ _gfortran_eoshift3_4_char4 and _gfortran_eoshift3_8_char4.
+ * generated/eoshift3_4.c: Regenerate.
+ * generated/eoshift1_8.c: Regenerate.
+ * generated/eoshift1_16.c: Regenerate.
+ * generated/cshift1_4.c: Regenerate.
+ * generated/eoshift1_4.c: Regenerate.
+ * generated/eoshift3_8.c: Regenerate.
+ * generated/eoshift3_16.c: Regenerate.
+ * generated/cshift1_8.c: Regenerate.
+ * generated/cshift1_16.c: Regenerate.
+
+2008-05-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/32600
+ * intrinsics/iso_c_binding.c (c_f_procpointer): Remove.
+ * intrinsics/iso_c_binding.h (c_f_procpointer): Remove.
+ * gfortran.map (c_f_procpointer): Remove.
+
+2008-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libgfortran/36302
+ * gfortran.map (GFORTRAN_1.1): Add _gfortran_eoshift0_16,
+ _gfortran_eoshift0_16_char, _gfortran_eoshift2_16,
+ _gfortran_eoshift2_16_char,_gfortran_cshift0_16,
+ _gfortran_cshift0_16_char. Sort alphabetically.
+ * intrinsics/eoshift0.c: Add function for kind=16 integer.
+ * intrinsics/eoshift2.c: Likewise.
+ * intrinsics/cshift0.c: Likewise.
+
+2008-05-18 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * m4/in_pack.m4 (internal_pack_'rtype_code`): Destination
+ pointer is restrict.
+ * m4/transpose.m4 (transpose_'rtype_code`): Likewise.
+ * m4/pack.m4 (pack_'rtype_code`): Likewise.
+ * m4/spread.m4 (spread_'rtype_code`): Likewise.
+ (spread_scalar_'rtype_code`): Likewise.
+ * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
+ * m4/eoshift1.m4 (eoshift1): Likewise.
+ * m4/eoshift3.m4 (eoshift3): Likewise.
+ * m4/in_unpack.m4 (internal_unpack_'rtype_ccode`): Likewise.
+ * m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
+ (unpack1_'rtype_code`): Likewise.
+ * intrinsics/pack_generic.c (pack_generic.c): Likewise.
+ * intrinsics/unpack_generic.c (unpack_internal): Likewise.
+ * intrinsics/eoshift0.c (eoshift0): Likewise.
+ * intrinsics/eoshift2.c (eoshift2): Likewise.
+ * intrinsics/reshape_generic.c (reshape_internal): Likewise.
+ * intrinsics/reshape_packed.c (reshape_packed): Likewise.
+ * 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.
+ * generated/in_pack_c10.c: Regenerated.
+ * generated/in_pack_c16.c: Regenerated.
+ * generated/in_pack_c4.c: Regenerated.
+ * generated/in_pack_c8.c: Regenerated.
+ * generated/in_pack_i1.c: Regenerated.
+ * generated/in_pack_i16.c: Regenerated.
+ * generated/in_pack_i2.c: Regenerated.
+ * generated/in_pack_i4.c: Regenerated.
+ * generated/in_pack_i8.c: Regenerated.
+ * generated/in_pack_r10.c: Regenerated.
+ * generated/in_pack_r16.c: Regenerated.
+ * generated/in_pack_r4.c: Regenerated.
+ * generated/in_pack_r8.c: Regenerated.
+ * generated/in_unpack_c10.c: Regenerated.
+ * generated/in_unpack_c16.c: Regenerated.
+ * generated/in_unpack_c4.c: Regenerated.
+ * generated/in_unpack_c8.c: Regenerated.
+ * generated/in_unpack_i1.c: Regenerated.
+ * generated/in_unpack_i16.c: Regenerated.
+ * generated/in_unpack_i2.c: Regenerated.
+ * generated/in_unpack_i4.c: Regenerated.
+ * generated/in_unpack_i8.c: Regenerated.
+ * generated/in_unpack_r10.c: Regenerated.
+ * generated/in_unpack_r16.c: Regenerated.
+ * generated/in_unpack_r4.c: Regenerated.
+ * generated/in_unpack_r8.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/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/pack_c10.c: Regenerated.
+ * generated/pack_c16.c: Regenerated.
+ * generated/pack_c4.c: Regenerated.
+ * generated/pack_c8.c: Regenerated.
+ * generated/pack_i1.c: Regenerated.
+ * generated/pack_i16.c: Regenerated.
+ * generated/pack_i2.c: Regenerated.
+ * generated/pack_i4.c: Regenerated.
+ * generated/pack_i8.c: Regenerated.
+ * generated/pack_r10.c: Regenerated.
+ * generated/pack_r16.c: Regenerated.
+ * generated/pack_r4.c: Regenerated.
+ * generated/pack_r8.c: Regenerated.
+ * generated/spread_c10.c: Regenerated.
+ * generated/spread_c16.c: Regenerated.
+ * generated/spread_c4.c: Regenerated.
+ * generated/spread_c8.c: Regenerated.
+ * generated/spread_i1.c: Regenerated.
+ * generated/spread_i16.c: Regenerated.
+ * generated/spread_i2.c: Regenerated.
+ * generated/spread_i4.c: Regenerated.
+ * generated/spread_i8.c: Regenerated.
+ * generated/spread_r10.c: Regenerated.
+ * generated/spread_r16.c: Regenerated.
+ * generated/spread_r4.c: Regenerated.
+ * generated/spread_r8.c: Regenerated.
+ * generated/transpose_c10.c: Regenerated.
+ * generated/transpose_c16.c: Regenerated.
+ * generated/transpose_c4.c: Regenerated.
+ * generated/transpose_c8.c: Regenerated.
+ * generated/transpose_i16.c: Regenerated.
+ * generated/transpose_i4.c: Regenerated.
+ * generated/transpose_i8.c: Regenerated.
+ * generated/transpose_r10.c: Regenerated.
+ * generated/transpose_r16.c: Regenerated.
+ * generated/transpose_r4.c: Regenerated.
+ * generated/transpose_r8.c: Regenerated.
+ * generated/unpack_c10.c: Regenerated.
+ * generated/unpack_c16.c: Regenerated.
+ * generated/unpack_c4.c: Regenerated.
+ * generated/unpack_c8.c: Regenerated.
+ * generated/unpack_i1.c: Regenerated.
+ * generated/unpack_i16.c: Regenerated.
+ * generated/unpack_i2.c: Regenerated.
+ * generated/unpack_i4.c: Regenerated.
+ * generated/unpack_i8.c: Regenerated.
+ * generated/unpack_r10.c: Regenerated.
+ * generated/unpack_r16.c: Regenerated.
+ * generated/unpack_r4.c: Regenerated.
+ * generated/unpack_r8.c: Regenerated.
+
+2008-05-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * runtime/select.c: Moved content to select_inc.c. Include it.
+ Add macros for different character types.
+ * runtime/select_inc.c: New file.
+ * runtime/convert_char.c: New file.
+ * intrinsics/pack_generic.c (pack_char4, pack_s_char4): New
+ functions.
+ * intrinsics/transpose_generic.c (transpose_char4): New function.
+ * intrinsics/spread_generic.c (spread_char4, spread_char4_scalar):
+ New functions.
+ * intrinsics/unpack_generic.c (unpack1_char4, unpack0_char4):
+ New functions.
+ * intrinsics/reshape_generic.c (reshape_char): Use
+ gfc_charlen_type as type for length variables.
+ (reshape_char4): New function.
+ * gfortran.map (GFORTRAN_1.1): Add _gfortran_select_string_char4,
+ _gfortran_convert_char1_to_char4, _gfortran_convert_char4_to_char1,
+ _gfortran_transpose_char4, _gfortran_spread_char4,
+ _gfortran_spread_char4_scalar, _gfortran_reshape_char4,
+ _gfortran_pack_char4, _gfortran_pack_s_char4,
+ _gfortran_unpack0_char4 and _gfortran_unpack1_char4.
+ * Makefile.am: Add runtime/convert_char.c.
+ * Makefile.in: Regenerate.
+
2008-05-17 Thomas Koenig <tkoenig@gcc.gnu.org>
* io/list_read.c (list_formatted_read_scalar): Declare