+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
+ type as volatile to shut up compiler warning.
+
+2008-05-16 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/25561
+ * io/io.h (struct fbuf): Change pointer to position offset.
+ * io/fbuf.c (fbuf_init): Reduce default size of buffer, ptr=>pos
+ changes.
+ (fbuf_reset): ptr=>pos changes.
+ (fbuf_alloc): If the request doesn't fit, don't waste memory by
+ keeping flushed bytes. ptr=>pos changes.
+ (fbuf_flush): ptr=>pos changes.
+ (fbuf_seek): Don't seek past the left tab limit, don't update active
+ byte count.
+ * io/open.c (new_unit): If RECL has been specified, used that as
+ initial buffer size.
+
+2008-05-16 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/35632
+ * io/open.c (new_unit): Set stream position to correct value.
+
+2008-05-15 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/25561
+ * Makefile.am: Add fbuf.c to gfor_io_src.
+ * Makefile.in: Regenerate.
+ * io/io.h (read_block): Remove.
+ (struct stream): Remove alloc_r_at function pointer.
+ (salloc_r): Remove.
+ (salloc_r_at): Remove.
+ (salloc_w_at): Remove.
+ (salloc_w): Remove offset argument.
+ (struct fbuf): New struct for format buffer.
+ (struct gfc_unit): Add fbuf.
+ (read_block_form): New prototype.
+ (fbuf_init): Likewise.
+ (fbuf_destroy): Likewise.
+ (fbuf_reset): Likewise.
+ (fbuf_alloc): Likewise.
+ (fbuf_flush): Likewise.
+ (fbuf_seek): Likewise.
+ * io/file_pos.c (formatted_backspace): Change to use sread.
+ (unformatted_backspace): Likewise.
+ (st_backspace): Flush format buffer.
+ (st_rewind): Likewise.
+ * io/list_read.c (next_char): Likewise.
+ (nml_query): Tidying, flush format buffer.
+ * io/open.c (new_unit): Init format buffer.
+ * io/read.c (read_l): Change to use read_block_form.
+ (read_a): Likewise.
+ (read_decimal): Likewise.
+ (read_radix): Likewise.
+ (read_f): Likewise.
+ (read_x): Empty reads also for stream I/O.
+ * io/transfer.c (read_sf): Change to use sread.
+ (read_block): Rename to read_block_form, change prototype, use sread.
+ (read_block_direct): Don't seek stream files.
+ (write_block): Change to use fbuf if external file, don't seek stream
+ files.
+ (write_buf): Don't seek stream files.
+ (formatted_transfer_scalar): Use fbuf for external files.
+ (us_read): Change to use sread.
+ (pre_position): Do nothing for stream I/O.
+ (data_transfer_init): Flush fbuf when switching from write to read, if
+ POS is specified, seek stream file to correct offset.
+ (skip_record): Change to use sread.
+ (min_off): New function.
+ (next_record_r): Change to use sread.
+ (next_record_w): Change to use sset/sseek, flush fbuf.
+ (finalize_transfer): Flush fbuf.
+ * io/unit.c (init_units): Init fbuf for stdout, stderr.
+ (close_unit_1): Destroy fbuf.
+ (finish_last_advance_record): Flush fbuf, no need to seek.
+ * io/unix.c (fd_alloc_r_at): Remove unused where argument.
+ (fd_alloc_w_at): Likewise.
+ (fd_read): Remove third argument to fd_alloc_r_at.
+ (fd_write): Remove third argument to fd_alloc_w_at.
+ (fd_sset): Likewise.
+ (fd_open): Don't set alloc_r_at.
+ (mem_alloc_r_at): Remove unused where argument.
+ (mem_alloc_w_at): Likewise.
+ (mem_read): Don't incorrectly return previous errno, remove unused
+ third argument to alloc function.
+ (mem_write): Likewise.
+ (mem_set): Likewise.
+ (open_internal): Don't set alloc_r_at pointer.
+ * io/fbuf.c: New file.
+
+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.
+
+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