Home | History | Annotate | Line # | Download | only in libgfortran
      1 2008-12-29  John David Anglin  <dave.anglin (a] nrc-cnrc.gc.ca>
      2 
      3 	PR fortran/31832
      4 	* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_POWF): New autoconf check for
      5 	broken powf.
      6 	* configure.ac (LIBGFOR_CHECK_FOR_BROKEN_POWF): Use it.
      7 	* intrinsics/c99_functions.c: Use internal powf implementation if
      8 	HAVE_BROKEN_POWF is defined.
      9 	* configure: Rebuilt.
     10 	* config.h.in: Rebuilt.
     11 
     12 2008-12-22  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
     13 
     14 	PR libfortran/37472
     15 	* io/write_float.def (output_float_FMT_G_): Modify calculation of temp
     16 	to avoid sensitivity to round-off.
     17 
     18 2008-12-21  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
     19 
     20 	PR libfortran/38398
     21 	* io/io.h (st_parameter_dt): Add new bit to keep track of when to
     22 	suppress blanks for g0 formatting.
     23 	* io/transfer.c (formatted_transfer_scalar): Always call write_real_g0
     24 	for g0 formatting.
     25 	* io.c (write.c): Do not use ES formatting and use new bit to suppress
     26 	blanks.
     27 	* io/write_float.def (output_float): Adjust the location of setting the
     28 	width so that it can be adjusted when suppressing blanks.  Set number of
     29 	blanks to zero when dtp->u.p.g0_no_blanks is set. Do some minor code
     30 	clean-up and add some white space for readability.
     31 	
     32 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
     33 
     34 	* configure: Regenerate.
     35 
     36 2008-12-13  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
     37 
     38 	PR libfortran/38504
     39 	io/write.c (write_decimal): Skip extra sign '-' at beginning of string
     40 	returned by gfc_itoa.
     41 
     42 2008-12-08  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
     43 
     44 	PR libfortran/38430
     45 	* io/transfer.c (data_transfer_init): Move constraint check for REC=
     46 	and STREAM access into condition for other REC= constraints to simplify.
     47 	Comment out this constraint to avoid breaking compatibility with 4.3
     48 	until later.  Added a TODO for above comment and this one.
     49 	Fix test for max pos.
     50 
     51 2008-12-06  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
     52 
     53 	PR libfortran/38291
     54 	* io/transfer.c (data_transfer_init): Add fbuf_flush inadvertently
     55 	ommitted.  Add check for invalid use of REC= with ACCESS="stream".  Fix
     56 	comment.
     57 
     58 2008-12-06  Adam Nemet  <anemet (a] caviumnetworks.com>
     59 
     60 	* runtime/main.c (store_exe_path): Don't crash if argv0 is NULL.
     61 
     62 2008-12-05  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
     63 
     64 	PR libfortran/38291
     65 	* io/transfer.c (data_transfer_init): Add checks for POS= valid range.
     66 	Add check for unit opened with ACCESS="stream". Flush and seek if
     67 	current stream position does not match. Check ENDFILE on read.
     68 
     69 2008-12-04  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
     70 
     71 	PR fortran/38285
     72 	* write_float.def (WRITE_FLOAT): Zero the float value for special case
     73 	only if	scale_factor = 0.
     74 	
     75 2008-11-23  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
     76 
     77 	PR libfortran/38234
     78 	* intrinsics/reshape_generic.c (reshape_internal):
     79 	Source can be larger than shape.
     80 	* m4/reshape.m4:  Likewise.
     81 	* generated/reshape_c10.c Regenerated.
     82 	* generated/reshape_c16.c Regenerated.
     83 	* generated/reshape_c4.c Regenerated.
     84 	* generated/reshape_c8.c Regenerated.
     85 	* generated/reshape_i16.c Regenerated.
     86 	* generated/reshape_i4.c Regenerated.
     87 	* generated/reshape_i8.c Regenerated.
     88 	* generated/reshape_r10.c Regenerated.
     89 	* generated/reshape_r16.c Regenerated.
     90 	* generated/reshape_r4.c Regenerated.
     91 	* generated/reshape_r8.c Regenerated.
     92 
     93 2008-11-22  Danny Smith  <dannysmith (a] users.sourceforge.net>
     94 
     95 	* libgfortran.h (__mingw_snprintf): Declare with gnu_printf
     96 	format attribute.
     97 
     98 
     99 2008-11-22  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    100 
    101 	PR libfortran/38225
    102 	* intrinsics/reshape_generic.c (reshape_internal):
    103 	Use all dimensions of source for bounds checking.
    104 	* m4/reshape.m4:  Likewise.
    105 	* generated/reshape_c10.c Regenerated.
    106 	* generated/reshape_c16.c Regenerated.
    107 	* generated/reshape_c4.c Regenerated.
    108 	* generated/reshape_c8.c Regenerated.
    109 	* generated/reshape_i16.c Regenerated.
    110 	* generated/reshape_i4.c Regenerated.
    111 	* generated/reshape_i8.c Regenerated.
    112 	* generated/reshape_r10.c Regenerated.
    113 	* generated/reshape_r16.c Regenerated.
    114 	* generated/reshape_r4.c Regenerated.
    115 	* generated/reshape_r8.c Regenerated.
    116 
    117 2008-11-22  Jakub Jelinek  <jakub (a] redhat.com>
    118 
    119 	PR libfortran/37839
    120 	* io/io.h (IOPARM_INQUIRE_HAS_ROUND, IOPARM_INQUIRE_HAS_SIGN,
    121 	IOPARM_INQUIRE_HAS_PENDING): Adjust values.
    122 	(st_parameter_inquire): Reorder and fix types of round, sign and
    123 	pending fields.
    124 	(st_parameter_43, st_parameter_44): Removed.
    125 	(st_parameter_dt): Put back struct definition directly to u.p
    126 	declaration.  Change type of u.p.size_used from gfc_offset to
    127 	GFC_IO_INT.  Decrease back size of u.pad to 16 pointers and
    128 	32 ints.  Put id, pos, asynchronous, blank, decimal, delim,
    129 	pad, round and sign fields after the union.
    130 	* io/inquire.c (inquire_via_unit, inquire_via_filename): Only read
    131 	flags2 if it is defined.
    132 	* io/transfer.c (read_sf, read_block_form, write_block): Cast
    133 	additions to size_used to GFC_IO_INT instead of gfc_offset.
    134 	(data_transfer_init): Clear whole u.p struct.  Adjust
    135 	for moving id, pos, asynchronous, blank, decimal, delim, pad,
    136 	round and sign fields from u.p directly into st_parameter_dt.
    137 	(finalize_transfer): Don't cast size_used to GFC_IO_INT.
    138 	* io/file_pos.c (st_endfile): Clear whole u.p struct.
    139 
    140 2008-11-20  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    141 
    142 	PR libfortran/37472
    143 	* io/write_float.def (output_float_FMT_G_): Adjust conversion of
    144 	G format specification to F format.
    145 
    146 2008-11-18  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    147 
    148 	PR libfortran/38135
    149 	* m4/reshape.m4:  Correct bounds checking when PAD is present.
    150 	Treat PAD as if it were SOURCE when SOURCE is empty.
    151 	* intrinsics/reshape_generic.c:  Likewise.
    152 	* generated/reshape_c10.c Regenerated.
    153 	* generated/reshape_c16.c Regenerated.
    154 	* generated/reshape_c4.c Regenerated.
    155 	* generated/reshape_c8.c Regenerated.
    156 	* generated/reshape_i16.c Regenerated.
    157 	* generated/reshape_i4.c Regenerated.
    158 	* generated/reshape_i8.c Regenerated.
    159 	* generated/reshape_r10.c Regenerated.
    160 	* generated/reshape_r16.c Regenerated.
    161 	* generated/reshape_r4.c Regenerated.
    162 	* generated/reshape_r8.c Regenerated.
    163 
    164 2008-11-16  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    165 
    166 	PR libfortran/38097
    167 	* io/read.c (read_f): Initialize exponent. Fix comment. Set loop
    168 	conditions for BZ/BN.
    169 	* io/unit.c (get_internal_unit): Initialize flags.blank.
    170 	* io/transfer.c (data_transfer_init): Fix whitespace.
    171 
    172 2008-11-15  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    173 
    174 	PR libfortran/37294
    175 	* io/write.c (namelist_write_newline): Use array loop specification to
    176 	advance to next internal array unit record. (namelist_write): Adjust to
    177 	accomodate the internal array unit behavior.
    178 
    179 2008-11-01  Dennis Wassel  <dennis.wassel (a] gmail.com>
    180 
    181 	PR fortran/37159
    182 	* intrinsics/random.c: Added comment to adapt check.c, should
    183 	kiss_size change.
    184 	Few cosmetic changes to existing comments.
    185 
    186 2008-10-22  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    187 
    188 	PR libfortran/37707
    189 	* io/list_read.c (read_character): Remove code to look ahead in namelist
    190 	reads to descriminate non-delimited strings from namelist objects.
    191 	* io/write.c (namelist_write): Delimit character strings with quote or
    192 	apostrophe, defaulting to quote.
    193 
    194 2008-10-21  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    195 
    196 	PR libfortran/34670
    197 	* intrinsics/transpose_generic.c:  Implement bounds checking.
    198 	* m4/transpose.m4:  Likewise.
    199 	* generated/transpose_c8.c: Regenerated.
    200 	* generated/transpose_c16.c: Regenerated.
    201 	* generated/transpose_r10.c: Regenerated.
    202 	* generated/transpose_i8.c: Regenerated.
    203 	* generated/transpose_c10.c: Regenerated.
    204 	* generated/transpose_r4.c: Regenerated.
    205 	* generated/transpose_c4.c: Regenerated.
    206 	* generated/transpose_i16.c: Regenerated.
    207 	* generated/transpose_i4.c: Regenerated.
    208 	* generated/transpose_r8.c: Regenerated.
    209 	* generated/transpose_r16.c: Regenerated.
    210 
    211 2008-10-19  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org
    212 
    213 	PR libfortran/37834
    214 	* io/write_float.def (output_float): Emit '0.' for special case of
    215 	format specifier 'f0.0' and value of zero. Likewise emit '0' for 'f1.0'.
    216 
    217 2008-10-17  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org
    218 
    219 	PR libfortran/37863
    220 	* io/write_float.def (WRITE_FLOAT): Round to 1.0 correctly.
    221 	* io/io.h (st_parameter_44): Fix id type declaration.
    222 
    223 2008-10-16  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    224 
    225 	* io/file_pos.c (unformatted_backspace): Normal case is
    226 	GFC_CONVERT_NATIVE.
    227 	* io/transfer.c (read_sf):  Mark paths leading to generate_error()
    228 	as unlikely.
    229 	(readl_block_form):  Likewise.
    230 	(read_block_direct):  Likewise.
    231 	(write_block):  Likewise.
    232 	(write_buf):  Likewise.
    233 	(us_read):  Likewise.  Normal case is GFC_CONVERT_NATIVE.
    234 	(next_record_w_unf):  Mark paths leading to generate_error()
    235 	as unlikely.
    236 
    237 2008-10-16  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    238 
    239 	PR libfortran/34670
    240 	* generated/spread_r4.c: Regenerated.
    241 
    242 2008-10-15  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    243 
    244 	PR libfortran/34670
    245 	* intrinsics/reshape_generic.c:  Add bounds checking.
    246 	* m4/reshape.m4:  Likewise.
    247 	* generated/reshape_c10.c: Regenerated.
    248 	* generated/reshape_c16.c: Regenerated.
    249 	* generated/reshape_c4.c: Regenerated.
    250 	* generated/reshape_c8.c: Regenerated.
    251 	* generated/reshape_i16.c: Regenerated.
    252 	* generated/reshape_i4.c: Regenerated.
    253 	* generated/reshape_i8.c: Regenerated.
    254 	* generated/reshape_r10.c: Regenerated.
    255 	* generated/reshape_r16.c: Regenerated.
    256 	* generated/reshape_r4.c: Regenerated.
    257 	* generated/reshape_r8.c: Regenerated.
    258 	* generated/spread_r4.c: Regenerated.
    259 
    260 2008-10-13  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org
    261 
    262 	PR libfortran/37083
    263 	* io/list_read.c (next_char): Simplify EOF tests and set endfile flag.
    264 	(finish_list_read): Add EOF check.
    265 
    266 2008-10-09  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    267 
    268 	PR libfortran/37753
    269 	* io/transfer.c (unformatted_read):  CONVERT_NATIVE
    270 	is the usual case.  Check for kind==1 for non-byte-reversing
    271 	operation.
    272 	(unformatted_write):  Likewise.
    273 
    274 2008-10-08  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org
    275 
    276 	PR libfortran/37707
    277 	* io/list_read.c (nml_get_obj_data): If the first namelist object rank
    278 	is greater than zero, call nml_object_read with the first object rather
    279 	than the sub-object.
    280 
    281 2008-09-26  Peter O'Gorman  <pogma (a] thewrittenword.com>
    282 	    Steve Ellcey  <sje (a] cup.hp.com>
    283 
    284 	* configure: Regenerate for new libtool.
    285 	* Makefile.in: Ditto.
    286 
    287 2008-09-25  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org
    288 
    289 	PR libfortran/37498
    290 	* list_read.c (eat_separator): Revert previous patch and move
    291 	delim_status, decimal_status, and pad_status to gfc_unit.
    292 	(parse_real): Ditto. (read_real): Ditto.
    293 	* read.c (read_a): Likewise. (read_a_char4): Likewise.
    294 	(read_f): Likewise.
    295 	* inquire.c (inquire_via_unit): Add missing check for
    296 	IOPARM_INQUIRE_HAS_FLAGS2. (inquire_via_filename): Likewise.
    297 	* io.h (unit_sign_s): Move delim_status, decimal_status, and pad_status
    298 	to gfc_unit.
    299 	* transfer.c (read_sf): Ditto. (read_block_form): Ditto.
    300 	(formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto.
    301 	* write.c (write_default_char4): Ditto. (write_utf8_char4): Ditto.
    302 	(write_character): Ditto. (write_real_g0): Ditto.
    303 	(list_formatted_write_scalar): Ditto. (nml_write_obj): Ditto.
    304 	(namelist_write): Ditto.
    305 	* write_float.def (calculate_sign): Ditto. (output_float): Ditto.
    306 
    307 2008-09-24  Tobias Burnus  <burnus (a] net-b.de>
    308 
    309 	* runtime/compile_options.c (init_compile_options):
    310 	Sync flags with front end.
    311 
    312 2008-09-22  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org
    313 
    314 	PR libfortran/37498
    315 	* file_pos (st_endfile): Clear memory only for libfortran 4.3 private
    316 	area.
    317 	* list_read.c (eat_separator): Only access F2003 I/O parameters if
    318 	IOPARM_DT_HAS_F2003 bit is set. (parse_real): Ditto.
    319 	(read_real): Ditto.
    320 	* read.c (read_a): Likewise. (read_a_char4): Likewise though not
    321 	strictly necessary. (read_f): Likewise.
    322 	* io.h (unit_sign_s): New enumerator to allow duplication of
    323 	st_parameter structures. (IOPARM_DT_HAS_F2003): New mask bit.
    324 	(st_parameter_43): New structure copied from 4.3 version of 
    325 	st_paramater_dt private section. (st_parameter_44): New structure with
    326 	F2003 items added. (st_parameter_dt): Modified to create union of new
    327 	and old structures to allow correct memory setting for 4.3 ABI
    328 	compatibility. Bumped the pad size.
    329 	* transfer.c (read_sf): Do not use F2003 I/O memory areas unless
    330 	IOPARM_DT_HAS_F2003 bit has been set. (read_block_form): Ditto.
    331 	(formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto and
    332 	add comment, fix formatting.
    333 	* write.c (write_default_char4): Likewise though not strictly necessary.
    334 	(write_utf8_char4): Ditto. (write_character): Ditto.
    335 	(write_real_g0): Ditto. (list_formatted_write_scalar): Ditto.
    336 	(nml_write_obj): Ditto. (namelist_write): Ditto.
    337 	* write_float.def (calculate_sign): Eliminate warning by including all
    338 	cases in switch. (output_float): Output only decimal point of F2003 flag
    339 	is not set.
    340 
    341 2008-09-10  Tobias Burnus  <burnus (a] net-b.de>
    342 	    H. J. Lu  <hongjiu.lu (a] intel.com>
    343 
    344 	* mk-sik-inc.sh: Make -Wunused-variable proof.
    345 	* mk-srk-inc.sh: Make -Wunused-variable proof.
    346 
    347 2008-09-10  Tobias Burnus  <burnus (a] net-b.de>
    348 
    349 	* mk-kinds-h.sh: Make -Wunused-variable proof.
    350 
    351 2008-09-07  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    352 
    353 	PR fortran/37203
    354 	* intrinsics/reshape_generic.c:  Add checking on
    355 	out-of-bounds and duplicate values of order argument.
    356 	* m4/reshape.m4:  Likewise.
    357 	* generated/reshape_c10.c: Regenerated.
    358 	* generated/reshape_c16.c: Regenerated.
    359 	* generated/reshape_c4.c: Regenerated.
    360 	* generated/reshape_c8.c: Regenerated.
    361 	* generated/reshape_i16.c: Regenerated.
    362 	* generated/reshape_i4.c: Regenerated.
    363 	* generated/reshape_i8.c: Regenerated.
    364 	* generated/reshape_r10.c: Regenerated.
    365 	* generated/reshape_r16.c: Regenerated.
    366 	* generated/reshape_r4.c: Regenerated.
    367 	* generated/reshape_r8.c: Regenerated.
    368 
    369 2008-09-06  Tobias Burnus  <burnus (a] net-b.de>
    370 
    371 	* libgfortran.h (likely,unlikely): New makros.
    372 	(runtime_warning_at,__mingw_snprintf): Add __attribute__(format()).
    373 	* m4/spread.m4 (spread_'rtype_code`): Use unlikely for bounds_check.
    374 	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Ditto.
    375 	* m4/matmull.m4 (matmul_'rtype_code`): Ditto.
    376 	* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Ditto.
    377 	* m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Ditto.
    378 	* m4/matmul.m4 (matmul_'rtype_code`): Ditto.
    379 
    380 	* generated/minval_r8.c: Regenerated.
    381 	* generated/spread_r10.c: Regenerated.
    382 	* generated/minloc1_16_r16.c: Regenerated.
    383 	* generated/maxloc1_4_r8.c: Regenerated.
    384 	* generated/sum_i8.c: Regenerated.
    385 	* generated/any_l16.c: Regenerated.
    386 	* generated/spread_i8.c: Regenerated.
    387 	* generated/maxval_i2.c: Regenerated.
    388 	* generated/any_l2.c: Regenerated.
    389 	* generated/product_r4.c: Regenerated.
    390 	* generated/maxloc1_8_i4.c: Regenerated.
    391 	* generated/maxloc0_4_r4.c: Regenerated.
    392 	* generated/all_l1.c: Regenerated.
    393 	* generated/matmul_r8.c: Regenerated.
    394 	* generated/product_i2.c: Regenerated.
    395 	* generated/minloc0_4_r16.c: Regenerated.
    396 	* generated/minloc0_4_i1.c: Regenerated.
    397 	* generated/maxloc0_4_r16.c: Regenerated.
    398 	* generated/maxloc0_4_i2.c: Regenerated.
    399 	* generated/minloc1_8_r16.c: Regenerated.
    400 	* generated/maxloc1_8_r16.c: Regenerated.
    401 	* generated/maxloc0_8_i8.c: Regenerated.
    402 	* generated/sum_r16.c: Regenerated.
    403 	* generated/sum_i1.c: Regenerated.
    404 	* generated/minloc1_4_r8.c: Regenerated.
    405 	* generated/maxloc1_16_r16.c: Regenerated.
    406 	* generated/minloc1_16_i4.c: Regenerated.
    407 	* generated/maxloc1_16_i4.c: Regenerated.
    408 	* generated/minloc0_16_i8.c: Regenerated.
    409 	* generated/spread_i1.c: Regenerated.
    410 	* generated/maxloc0_16_i8.c: Regenerated.
    411 	* generated/maxval_r16.c: Regenerated.
    412 	* generated/product_c10.c: Regenerated.
    413 	* generated/minloc1_8_i4.c: Regenerated.
    414 	* generated/minloc0_16_i16.c: Regenerated.
    415 	* generated/matmul_r16.c: Regenerated.
    416 	* generated/minloc0_4_r4.c: Regenerated.
    417 	* generated/all_l2.c: Regenerated.
    418 	* generated/product_c4.c: Regenerated.
    419 	* generated/sum_r4.c: Regenerated.
    420 	* generated/minloc0_4_i2.c: Regenerated.
    421 	* generated/spread_c10.c: Regenerated.
    422 	* generated/maxloc0_8_i1.c: Regenerated.
    423 	* generated/spread_r4.c: Regenerated.
    424 	* generated/minloc0_8_i8.c: Regenerated.
    425 	* generated/matmul_c8.c: Regenerated.
    426 	* generated/all_l16.c: Regenerated.
    427 	* generated/minloc1_16_r10.c: Regenerated.
    428 	* generated/sum_i2.c: Regenerated.
    429 	* generated/minloc0_16_i1.c: Regenerated.
    430 	* generated/maxloc0_16_i1.c: Regenerated.
    431 	* generated/maxloc1_8_r8.c: Regenerated.
    432 	* generated/minval_i16.c: Regenerated.
    433 	* generated/spread_i2.c: Regenerated.
    434 	* generated/maxval_i4.c: Regenerated.
    435 	* generated/minval_i8.c: Regenerated.
    436 	* generated/any_l4.c: Regenerated.
    437 	* generated/maxloc1_4_i8.c: Regenerated.
    438 	* generated/maxloc0_16_i16.c: Regenerated.
    439 	* generated/maxloc0_8_r4.c: Regenerated.
    440 	* generated/minloc1_4_i16.c: Regenerated.
    441 	* generated/maxloc1_4_i16.c: Regenerated.
    442 	* generated/minloc0_4_r10.c: Regenerated.
    443 	* generated/minloc0_8_i16.c: Regenerated.
    444 	* generated/maxloc0_4_r10.c: Regenerated.
    445 	* generated/maxloc0_8_i16.c: Regenerated.
    446 	* generated/minloc1_8_r10.c: Regenerated.
    447 	* generated/product_i4.c: Regenerated.
    448 	* generated/minloc0_16_r4.c: Regenerated.
    449 	* generated/sum_c16.c: Regenerated.
    450 	* generated/maxloc1_8_r10.c: Regenerated.
    451 	* generated/maxloc0_16_r4.c: Regenerated.
    452 	* generated/minloc1_16_r8.c: Regenerated.
    453 	* generated/minloc0_8_i1.c: Regenerated.
    454 	* generated/maxloc0_4_i4.c: Regenerated.
    455 	* generated/maxloc1_16_r8.c: Regenerated.
    456 	* generated/maxloc0_8_i2.c: Regenerated.
    457 	* generated/sum_r10.c: Regenerated.
    458 	* generated/count_4_l.c: Regenerated.
    459 	* generated/sum_c4.c: Regenerated.
    460 	* generated/count_8_l.c: Regenerated.
    461 	* generated/maxloc1_16_r10.c: Regenerated.
    462 	* generated/matmul_i8.c: Regenerated.
    463 	* generated/minloc0_16_i2.c: Regenerated.
    464 	* generated/minloc1_8_r8.c: Regenerated.
    465 	* generated/maxloc0_16_i2.c: Regenerated.
    466 	* generated/spread_c4.c: Regenerated.
    467 	* generated/matmul_c16.c: Regenerated.
    468 	* generated/maxval_r10.c: Regenerated.
    469 	* generated/minval_i1.c: Regenerated.
    470 	* generated/maxloc1_4_i1.c: Regenerated.
    471 	* generated/matmul_r10.c: Regenerated.
    472 	* generated/minloc1_4_i8.c: Regenerated.
    473 	* generated/minloc0_8_r4.c: Regenerated.
    474 	* generated/matmul_l4.c: Regenerated.
    475 	* generated/product_i16.c: Regenerated.
    476 	* generated/minloc0_16_r16.c: Regenerated.
    477 	* generated/all_l4.c: Regenerated.
    478 	* generated/minloc0_4_i4.c: Regenerated.
    479 	* generated/minloc0_8_i2.c: Regenerated.
    480 	* generated/matmul_i1.c: Regenerated.
    481 	* generated/minval_r4.c: Regenerated.
    482 	* generated/maxloc1_4_r4.c: Regenerated.
    483 	* generated/spread_i16.c: Regenerated.
    484 	* generated/sum_i4.c: Regenerated.
    485 	* generated/maxval_r8.c: Regenerated.
    486 	* generated/spread_i4.c: Regenerated.
    487 	* generated/minloc1_4_i1.c: Regenerated.
    488 	* generated/minval_r16.c: Regenerated.
    489 	* generated/minval_i2.c: Regenerated.
    490 	* generated/maxloc1_4_i2.c: Regenerated.
    491 	* generated/product_r8.c: Regenerated.
    492 	* generated/maxloc1_8_i8.c: Regenerated.
    493 	* generated/maxloc0_4_r8.c: Regenerated.
    494 	* generated/maxloc0_16_r16.c: Regenerated.
    495 	* generated/matmul_r4.c: Regenerated.
    496 	* generated/sum_c10.c: Regenerated.
    497 	* generated/minloc1_4_r16.c: Regenerated.
    498 	* generated/maxloc1_4_r16.c: Regenerated.
    499 	* generated/minloc0_8_r16.c: Regenerated.
    500 	* generated/maxloc0_8_r16.c: Regenerated.
    501 	* generated/count_1_l.c: Regenerated.
    502 	* generated/maxloc0_8_i4.c: Regenerated.
    503 	* generated/matmul_i2.c: Regenerated.
    504 	* generated/minloc1_4_r4.c: Regenerated.
    505 	* generated/matmul_c10.c: Regenerated.
    506 	* generated/minloc0_16_i4.c: Regenerated.
    507 	* generated/maxloc0_16_i4.c: Regenerated.
    508 	* generated/minloc1_16_i8.c: Regenerated.
    509 	* generated/maxloc1_16_i8.c: Regenerated.
    510 	* generated/minloc1_4_i2.c: Regenerated.
    511 	* generated/matmul_l16.c: Regenerated.
    512 	* generated/maxloc1_8_i1.c: Regenerated.
    513 	* generated/minloc0_16_r10.c: Regenerated.
    514 	* generated/minloc1_8_i8.c: Regenerated.
    515 	* generated/minloc0_4_r8.c: Regenerated.
    516 	* generated/product_r16.c: Regenerated.
    517 	* generated/product_c8.c: Regenerated.
    518 	* generated/sum_r8.c: Regenerated.
    519 	* generated/minloc0_8_i4.c: Regenerated.
    520 	* generated/matmul_c4.c: Regenerated.
    521 	* generated/minloc1_16_i16.c: Regenerated.
    522 	* generated/spread_r8.c: Regenerated.
    523 	* generated/maxloc1_8_r4.c: Regenerated.
    524 	* generated/minloc1_16_i1.c: Regenerated.
    525 	* generated/maxloc1_16_i1.c: Regenerated.
    526 	* generated/spread_r16.c: Regenerated.
    527 	* generated/minval_r10.c: Regenerated.
    528 	* generated/count_16_l.c: Regenerated.
    529 	* generated/minval_i4.c: Regenerated.
    530 	* generated/minloc1_8_i1.c: Regenerated.
    531 	* generated/maxloc1_4_i4.c: Regenerated.
    532 	* generated/maxloc1_8_i2.c: Regenerated.
    533 	* generated/maxval_i8.c: Regenerated.
    534 	* generated/any_l8.c: Regenerated.
    535 	* generated/maxloc0_16_r10.c: Regenerated.
    536 	* generated/minloc0_4_i16.c: Regenerated.
    537 	* generated/maxloc0_8_r8.c: Regenerated.
    538 	* generated/maxloc0_4_i16.c: Regenerated.
    539 	* generated/minloc1_4_r10.c: Regenerated.
    540 	* generated/minloc1_8_i16.c: Regenerated.
    541 	* generated/maxloc1_4_r10.c: Regenerated.
    542 	* generated/maxloc1_8_i16.c: Regenerated.
    543 	* generated/minloc0_8_r10.c: Regenerated.
    544 	* generated/maxloc0_8_r10.c: Regenerated.
    545 	* generated/minloc1_16_r4.c: Regenerated.
    546 	* generated/maxloc1_16_r4.c: Regenerated.
    547 	* generated/minloc0_16_r8.c: Regenerated.
    548 	* generated/product_i8.c: Regenerated.
    549 	* generated/maxloc0_16_r8.c: Regenerated.
    550 	* generated/sum_i16.c: Regenerated.
    551 	* generated/count_2_l.c: Regenerated.
    552 	* generated/maxloc0_4_i8.c: Regenerated.
    553 	* generated/maxloc1_16_i16.c: Regenerated.
    554 	* generated/matmul_i4.c: Regenerated.
    555 	* generated/minloc1_8_r4.c: Regenerated.
    556 	* generated/sum_c8.c: Regenerated.
    557 	* generated/minloc1_16_i2.c: Regenerated.
    558 	* generated/maxloc1_16_i2.c: Regenerated.
    559 	* generated/maxval_i16.c: Regenerated.
    560 	* generated/spread_c8.c: Regenerated.
    561 	* generated/matmul_i16.c: Regenerated.
    562 	* generated/minloc1_4_i4.c: Regenerated.
    563 	* generated/maxval_i1.c: Regenerated.
    564 	* generated/minloc1_8_i2.c: Regenerated.
    565 	* generated/any_l1.c: Regenerated.
    566 	* generated/product_c16.c: Regenerated.
    567 	* generated/minloc0_8_r8.c: Regenerated.
    568 	* generated/matmul_l8.c: Regenerated.
    569 	* generated/product_r10.c: Regenerated.
    570 	* generated/product_i1.c: Regenerated.
    571 	* generated/all_l8.c: Regenerated.
    572 	* generated/maxloc0_4_i1.c: Regenerated.
    573 	* generated/minloc0_4_i8.c: Regenerated.
    574 	* generated/spread_c16.c: Regenerated.
    575 	* generated/maxval_r4.c: Regenerated.
    576 
    577 2008-09-01  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    578 
    579 	PR libfortran/37301
    580 	PR libfortran/37228
    581 	* io/io.h (write_real_g0): Declare new function to handle g0.d format.
    582 	* io/transfer.c (formatted_transfer_scalar): Use new function.
    583 	* io/format.c (parse_format_list): Enable g0.d.
    584 	* io/write.c (write_a_char4): Delete unused var.
    585 	(set_fnode_default): New function to set the default fnode w, d, and e
    586 	factored from write_real. (write_real): Use new factored function.
    587 	(write_real_g0): New function that sets d to that passed by g0.d format
    588 	specifier and set format to ES.  Default values for w and e are used
    589 	from the new function, set_fnode_default.
    590 
    591 2008-09-01  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    592 
    593 	* runtime/error.c: Fix cast for printf.
    594 
    595 2008-08-30  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    596 
    597 	PR libfortran/36895
    598 	* io/write.c (namelist_write_newline): New function to correctly mark
    599 	next records in both external and internal units.
    600 	(nml_write_obj): Use new function.
    601 	(namelist_write: Use new function.
    602 
    603 2008-08-19  Tobias Burnus  <burnus (a] net-b.de>
    604 
    605 	PR libfortran/35863
    606 	* io/write.c (write_a_char4): Add missing variable declaration
    607 	in HAVE_CRLF block.
    608 
    609 2008-08-15  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    610 
    611 	PR libfortran/35863
    612 	* intrinsics/selected_char_kind.c: Enable iso_10646.
    613 	* io/read.c (typedef uchar): New type.
    614 	(read_utf8): New function to read a single UTF-8 encoded character.
    615 	(read_utf8_char1): New function to read UTF-8 into a KIND=1 string.
    616 	(read_default_char1): New functio to read default into KIND=1 string.
    617 	(read_utf8_char4): New function to read UTF-8 into a KIND=4 string.
    618 	(read_default_char4): New function to read UTF-8 into a KIND=4 string.
    619 	(read_a): Modify to use the new functions.
    620 	(read_a_char4): Modify to use the new functions.
    621 	* io/write.c (error.h): Add include. (typedef uchar): New type.
    622 	(write_default_char4): New function to default write KIND=4 string.
    623 	(write_utf8_char4): New function to UTF-8 write KIND=4 string.
    624 	(write_a_char4): Modify to use new functions.
    625 	(write_character): Modify to use new functions.
    626 
    627 2008-08-14  H.J. Lu  <hongjiu.lu (a] intel.com>
    628 
    629 	PR libfortran/37123
    630 	* intrinsics/cshift0.c (cshift0): Fix 2 typos.
    631 
    632 2008-08-14  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    633 
    634 	PR libfortran/36886
    635 	* Makefile.am:  Added $(i_cshift0_c).
    636 	Added $(i_cshift0_c) to gfor_built_specific_src.
    637 	Add rule to build from cshift0.m4.
    638 	* Makefile.in:  Regenerated.
    639 	* libgfortran.h:  Addedd prototypes for cshift0_i1,
    640 	cshift0_i2, cshift0_i4, cshift0_i8, cshift0_i16,
    641 	cshift0_r4, cshift0_r8, cshift0_r10, cshift0_r16,
    642 	cshift0_c4, cshift0_c8, cshift0_c10, cshift0_c16.
    643 	Define Macros GFC_UNALIGNED_C4 and GFC_UNALIGNED_C8.
    644 	* intrinsics/cshift0.c:  Remove helper functions for
    645 	the innter shift loop.
    646 	(cshift0):  Call specific functions depending on type
    647 	of array argument.  Only call specific functions for
    648 	correct alignment for other types.
    649 	* m4/cshift0.m4:  New file.
    650 	* generated/cshift0_i1.c:  New file.
    651 	* generated/cshift0_i2.c:  New file.
    652 	* generated/cshift0_i4.c:  New file.
    653 	* generated/cshift0_i8:.c  New file.
    654 	* generated/cshift0_i16.c:  New file.
    655 	* generated/cshift0_r4.c:  New file.
    656 	* generated/cshift0_r8.c:  New file.
    657 	* generated/cshift0_r10.c:  New file.
    658 	* generated/cshift0_r16.c:  New file.
    659 	* generated/cshift0_c4.c:  New file.
    660 	* generated/cshift0_c8.c:  New file.
    661 	* generated/cshift0_c10.c:  New file.
    662 	* generated/cshift0_c16.c:  New file.
    663 
    664 2008-07-27  Tobias Burnus  <burnus (a] net-b.de>
    665 
    666 	PR fortran/36132
    667 	PR fortran/29952
    668 	PR fortran/36909
    669 	* runtime/error.c: New function runtime_error_at.
    670 	* gfortran.map: Ditto.
    671 	* libgfortran.h: Ditto.
    672 
    673 2008-07-22  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    674 
    675 	PR fortran/36582
    676 	* io/list_read.c: If variable rank is zero, do not adjust the found
    677 	namelist object pointer.
    678 
    679 2008-07-22  Daniel Kraft  <d (a] domob.eu>
    680 
    681 	PR fortran/29835
    682 	* io/format.c (struct format_data):  New member error_element.
    683 	(unexpected_element):  Added '%c' to message.
    684 	(next_char):  Keep track of last parsed character in fmt->error_element.
    685 	(format_error):  If the message is unexpected_element, output the
    686 	offending character, too.
    687 
    688 2008-07-22  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    689 
    690 	PR libfortran/36890
    691 	* io/file_pos.c:  Declare READ_CHUNK as signed to avoid
    692 	signed/unsigned comparison warning in formatted_backspace.
    693 
    694 2008-07-21  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    695 
    696 	PR libfortran/36773
    697 	* intrinsics/cshift0.c (cshift0):  Return early if size of array
    698 	is zero.
    699 	* intrinsics/eoshift0.c (eoshift0):  Return early if size of
    700 	return array is zero.
    701 	* intrinsics/eoshift2.c (eoshift2):  Likewise.
    702 	* m4/eoshift1.m4 (eoshift1):  Return early if size of array
    703 	is zero.
    704 	* m4/eoshift3.m4 (eoshift3):  Likewise.
    705 	* m4/eoshift2.m4 (eoshift2):  Return early if size of return
    706 	array is zero.
    707 	* m4/eoshift4.m4 (eoshift2):  Return early if size of return
    708 	array is zero.
    709 	* generated/cshift1_16.c: Regenerated.
    710 	* generated/cshift1_4.c: Regenerated.
    711 	* generated/cshift1_8.c: Regenerated.
    712 	* generated/eoshift1_16.c: Regenerated.
    713 	* generated/eoshift1_4.c: Regenerated.
    714 	* generated/eoshift1_8.c: Regenerated.
    715 	* generated/eoshift3_16.c: Regenerated.
    716 	* generated/eoshift3_4.c: Regenerated.
    717 	* generated/eoshift3_8.c: Regenerated.
    718 
    719 2008-07-20  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    720 
    721 	PR fortran/36857
    722 	* io/write_float.def: Comment out locale dependent code and fix general
    723 	comments.
    724 	
    725 2008-07-07  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    726 
    727 	PR fortran/36341
    728 	PR fortran/34670
    729 	* m4/matmul.m4:  Add bounds checking.
    730 	* m4/matmull.m4:  Likewise.
    731 	* generated/matmul_c10.c: Regenerated.
    732 	* generated/matmul_c16.c: Regenerated.
    733 	* generated/matmul_c4.c: Regenerated.
    734 	* generated/matmul_c8.c: Regenerated.
    735 	* generated/matmul_i1.c: Regenerated.
    736 	* generated/matmul_i16.c: Regenerated.
    737 	* generated/matmul_i2.c: Regenerated.
    738 	* generated/matmul_i4.c: Regenerated.
    739 	* generated/matmul_i8.c: Regenerated.
    740 	* generated/matmul_l16.c: Regenerated.
    741 	* generated/matmul_l4.c: Regenerated.
    742 	* generated/matmul_l8.c: Regenerated.
    743 	* generated/matmul_r10.c: Regenerated.
    744 	* generated/matmul_r16.c: Regenerated.
    745 	* generated/matmul_r4.c: Regenerated.
    746 	* generated/matmul_r8.c: Regenerated.
    747 
    748 2008-07-07  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
    749 
    750 	* acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Fix configure cache
    751 	variable name.
    752 	* configure: Regenerate.
    753 
    754 2008-07-01  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    755 
    756 	PR fortran/36676
    757 	* io/list_read.c (find_nml_name): Use eat_separator instead of eat_line.
    758 	
    759 2008-06-28  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    760 
    761 	PR fortran/36657
    762 	* io/list_read.c (read_character): Check for '!' along with separators.
    763 	(find_nml_name): Likewise and eat the comment if found.
    764 
    765 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
    766 
    767 	* configure: Regenerate.
    768 
    769 2008-06-16  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    770 
    771 	PR fortran/36546
    772 	* io/list_read.c (eat_separator): Add tab character to condition
    773 	for looping past whitespace.
    774 
    775 2008-06-14  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    776 
    777 	PR fortran/36515
    778 	* libgfortran.h (compile_options_t): Add int range_check to structure.
    779 	* runtime/compile_options.c (set_options): Add range_check option.
    780 	(init_compile_options): Likewise.
    781 	*io/read.c (read_decimal): Change overflow checks to include
    782 	range_check.
    783 	
    784 2008-06-13  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    785 
    786 	PR fortran/36538
    787 	* io/list_read.c (namelist_read): Add eat_separator to eliminate leading
    788 	tabs.
    789 
    790 2008-06-13  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    791 
    792 	PR fortran/35863
    793 	* libgfortran.h: Change l8_to_l4_offset to big_endian and add endian_off.
    794 	* runtime/main.c: Fix error in comment. Change l8_to_l4_offset to
    795 	big_endian. (determine_endianness): Add endian_off and set its value
    796 	according to big_endian.
    797 	* gfortran.map: Add symbol for new _gfortran_transfer_character_wide.
    798 	* io/io.h: Add prototype declarations for new functions.
    799 	* io/list_read.c (list_formatted_read_scalar): Modify to handle kind=4.
    800 	(list_formatted_read): Calculate stride based on kind for character type
    801 	and use it when calling list_formatted_read_scalar.
    802 	* io/inquire.c (inquire_via_unit): Change l8_to_l4_offset to big_endian.
    803 	* io/open.c (st_open): Change l8_to_l4_offset to big_endian.
    804 	* io/read.c (read_a_char4): New function to handle formatted read.
    805 	* io/write.c: Define GFC_CHAR4(x) to improve readability of code.
    806 	(write_a_char4): New function to handle formatted write.
    807 	(write_character): Modify to accept the kind parameter and adjust for
    808 	endianess of the machine. (list_formatted_write): Calculate the stride
    809 	resulting from the kind and adjust the list_formatted_write_scalar call
    810 	accordingly. (nml_write_obj): Adjust calls to write_character.
    811 	(namelist_write): Likewise.
    812 	* io/transfer.c (formatted_transfer_scaler): Rename 'len' argument to
    813 	'kind' argument to better describe what it is. Add calls to new
    814 	functions for kind == 4. (formatted_transfer): Modify to handle the case
    815 	of type character and kind equals 4 to pass in the kind to the transfer
    816 	routines. (transfer_character_wide): Add this new function.
    817 	(transfer_array): Don't set kind to the character string length. Adjust
    818 	strides bases on character kind.
    819 	(unformatted_read): Adjust size based on kind for character types.
    820 	(unformatted_write): Likewise. (data_transfer_init): Change
    821 	l8_to_l4_offset to big_endian.
    822 	io/fbuf.c (fbuf_seek): Add cast to eliminate warning.
    823 
    824 2008-06-13  Tobias Burnus  <burnus (a] net-b.de>
    825 
    826 	* configure.ac (AM_CFLAGS): Remove -Werror again.
    827 	* configure: Regenerate.
    828 
    829 2008-06-13  Tobias Burnus  <burnus (a] net-b.de>
    830 
    831 	PR libgfortran/36518
    832 	* configure.ac (AM_CFLAGS): Add -Werror.
    833 	* configure: Regenerate.
    834 	* m4/ifunction_logical.m4: Cast "n" to "(int)".
    835 	* generated/any_l16.c: Regenerate.
    836 	* generated/any_l2.c: Regenerate.
    837 	* generated/all_l1.c: Regenerate.
    838 	* generated/all_l2.c: Regenerate.
    839 	* generated/all_l16.c: Regenerate.
    840 	* generated/any_l4.c: Regenerate.
    841 	* generated/count_4_l.c: Regenerate.
    842 	* generated/count_8_l.c: Regenerate.
    843 	* generated/all_l4.c: Regenerate.
    844 	* generated/count_1_l.c: Regenerate.
    845 	* generated/count_16_l.c: Regenerate.
    846 	* generated/any_l8.c: Regenerate.
    847 	* generated/count_2_l.c: Regenerate.
    848 	* generated/any_l1.c: Regenerate.
    849 	* generated/all_l8.c: Regenerate.
    850 
    851 2008-06-13  Tobias Burnus  <burnus (a] net-b.de>
    852 
    853 	PR fortran/36495
    854 	* configure.ac (AM_FCFLAGS): Add "-Werror -fimplicit-none".
    855 	* configure: (generated) ditto.
    856 	* intrinsics/dprod_r8.f90: Add "implicit none".
    857 
    858 2008-06-07  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
    859 
    860 	PR libfortran/36420
    861 	PR libfortran/36421
    862 	PR libfortran/36422
    863 	* io/io.h: Add prototype for write_real.
    864 	* io/transfer.c (formatted_transfer_scalar): For FMT_G and width zero,
    865 	use write_real.
    866 	* io/format.c: Add zero width error message. (parse_format_list): Use
    867 	error message for FMT_A if followed by FMT_ZERO. Use zero width error
    868 	message	for FMT_G if mode is READ or if -std=f95 or f2003. (fmormat0):
    869 	Fix typo in comment.
    870 	* io/write.c(write_a): Set wlen to len if FMT_G	and length is zero.
    871 	(write_l): Add wlen variable and use it if FMT_G and width is zero.
    872 	(write_decimal): If FMT_G, set m to -1 to flag processor dependent
    873 	formatting. (write_real): Remove static declaration.
    874 
    875 2008-05-28  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
    876 
    877 	PR fortran/36319
    878 	* intrinsics/string_intrinsics_inc.c (string_index): Return
    879 	correct value for zero-length substring.
    880 	* intrinsics/cshift0.c: Add _char4 variant.
    881 	* intrinsics/eoshift0.c (eoshift0): Allow filler to be a pattern
    882 	wider than a single byte. Add _char4 variant and use above
    883 	functionality.
    884 	* intrinsics/eoshift2.c (eoshift2): Likewise.
    885 	* m4/eoshift1.m4: Likewise.
    886 	* m4/eoshift3.m4: Likewise.
    887 	* m4/cshift1.m4: Add _char4 variants.
    888 	* gfortran.map (GFORTRAN_1.1): Add _gfortran_cshift0_1_char4,
    889 	_gfortran_cshift0_2_char4, _gfortran_cshift0_4_char4,
    890 	_gfortran_cshift0_8_char4, _gfortran_cshift1_16_char4,
    891 	_gfortran_cshift1_4_char4, _gfortran_cshift1_8_char4,
    892 	_gfortran_eoshift0_1_char4, _gfortran_eoshift0_2_char4,
    893 	_gfortran_eoshift0_4_char4, _gfortran_eoshift0_8_char4,
    894 	_gfortran_eoshift1_16_char4, _gfortran_eoshift1_4_char4,
    895 	_gfortran_eoshift1_8_char4, _gfortran_eoshift2_1_char4,
    896 	_gfortran_eoshift2_2_char4, _gfortran_eoshift2_4_char4,
    897 	_gfortran_eoshift2_8_char4, _gfortran_eoshift3_16_char4,
    898 	_gfortran_eoshift3_4_char4 and _gfortran_eoshift3_8_char4.
    899 	* generated/eoshift3_4.c: Regenerate.
    900 	* generated/eoshift1_8.c: Regenerate.
    901 	* generated/eoshift1_16.c: Regenerate.
    902 	* generated/cshift1_4.c: Regenerate.
    903 	* generated/eoshift1_4.c: Regenerate.
    904 	* generated/eoshift3_8.c: Regenerate.
    905 	* generated/eoshift3_16.c: Regenerate.
    906 	* generated/cshift1_8.c: Regenerate.
    907 	* generated/cshift1_16.c: Regenerate.
    908 
    909 2008-05-25  Tobias Burnus  <burnus (a] net-b.de>
    910 
    911 	PR fortran/32600
    912 	* intrinsics/iso_c_binding.c (c_f_procpointer): Remove.
    913 	* intrinsics/iso_c_binding.h (c_f_procpointer): Remove.
    914 	* gfortran.map (c_f_procpointer): Remove.
    915 
    916 2008-05-22  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    917 
    918 	PR libgfortran/36302
    919 	* gfortran.map (GFORTRAN_1.1): Add _gfortran_eoshift0_16,
    920 	_gfortran_eoshift0_16_char, _gfortran_eoshift2_16,
    921 	_gfortran_eoshift2_16_char,_gfortran_cshift0_16,
    922 	_gfortran_cshift0_16_char.  Sort alphabetically.
    923 	* intrinsics/eoshift0.c:  Add function for kind=16 integer.
    924 	* intrinsics/eoshift2.c:  Likewise.
    925 	* intrinsics/cshift0.c:  Likewise.
    926 
    927 2008-05-18  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
    928 
    929 	* m4/in_pack.m4 (internal_pack_'rtype_code`):  Destination
    930 	pointer is restrict.
    931 	* m4/transpose.m4 (transpose_'rtype_code`):  Likewise.
    932 	* m4/pack.m4 (pack_'rtype_code`):  Likewise.
    933 	* m4/spread.m4 (spread_'rtype_code`):  Likewise.
    934 	(spread_scalar_'rtype_code`): Likewise.
    935 	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Likewise.
    936 	* m4/eoshift1.m4 (eoshift1):  Likewise.
    937 	* m4/eoshift3.m4 (eoshift3):  Likewise.
    938 	* m4/in_unpack.m4 (internal_unpack_'rtype_ccode`):  Likewise.
    939 	* m4/unpack.m4 (unpack0_'rtype_code`):  Likewise.
    940 	(unpack1_'rtype_code`):  Likewise.
    941 	* intrinsics/pack_generic.c (pack_generic.c):  Likewise.
    942 	* intrinsics/unpack_generic.c (unpack_internal):  Likewise.
    943 	* intrinsics/eoshift0.c (eoshift0):  Likewise.
    944 	* intrinsics/eoshift2.c (eoshift2):  Likewise.
    945 	* intrinsics/reshape_generic.c (reshape_internal):  Likewise.
    946 	* intrinsics/reshape_packed.c (reshape_packed):  Likewise.
    947 	* generated/eoshift1_16.c: Regenerated.
    948 	* generated/eoshift1_4.c: Regenerated.
    949 	* generated/eoshift1_8.c: Regenerated.
    950 	* generated/eoshift3_16.c: Regenerated.
    951 	* generated/eoshift3_4.c: Regenerated.
    952 	* generated/eoshift3_8.c: Regenerated.
    953 	* generated/in_pack_c10.c: Regenerated.
    954 	* generated/in_pack_c16.c: Regenerated.
    955 	* generated/in_pack_c4.c: Regenerated.
    956 	* generated/in_pack_c8.c: Regenerated.
    957 	* generated/in_pack_i1.c: Regenerated.
    958 	* generated/in_pack_i16.c: Regenerated.
    959 	* generated/in_pack_i2.c: Regenerated.
    960 	* generated/in_pack_i4.c: Regenerated.
    961 	* generated/in_pack_i8.c: Regenerated.
    962 	* generated/in_pack_r10.c: Regenerated.
    963 	* generated/in_pack_r16.c: Regenerated.
    964 	* generated/in_pack_r4.c: Regenerated.
    965 	* generated/in_pack_r8.c: Regenerated.
    966 	* generated/in_unpack_c10.c: Regenerated.
    967 	* generated/in_unpack_c16.c: Regenerated.
    968 	* generated/in_unpack_c4.c: Regenerated.
    969 	* generated/in_unpack_c8.c: Regenerated.
    970 	* generated/in_unpack_i1.c: Regenerated.
    971 	* generated/in_unpack_i16.c: Regenerated.
    972 	* generated/in_unpack_i2.c: Regenerated.
    973 	* generated/in_unpack_i4.c: Regenerated.
    974 	* generated/in_unpack_i8.c: Regenerated.
    975 	* generated/in_unpack_r10.c: Regenerated.
    976 	* generated/in_unpack_r16.c: Regenerated.
    977 	* generated/in_unpack_r4.c: Regenerated.
    978 	* generated/in_unpack_r8.c: Regenerated.
    979 	* generated/maxloc0_16_i1.c: Regenerated.
    980 	* generated/maxloc0_16_i16.c: Regenerated.
    981 	* generated/maxloc0_16_i2.c: Regenerated.
    982 	* generated/maxloc0_16_i4.c: Regenerated.
    983 	* generated/maxloc0_16_i8.c: Regenerated.
    984 	* generated/maxloc0_16_r10.c: Regenerated.
    985 	* generated/maxloc0_16_r16.c: Regenerated.
    986 	* generated/maxloc0_16_r4.c: Regenerated.
    987 	* generated/maxloc0_16_r8.c: Regenerated.
    988 	* generated/maxloc0_4_i1.c: Regenerated.
    989 	* generated/maxloc0_4_i16.c: Regenerated.
    990 	* generated/maxloc0_4_i2.c: Regenerated.
    991 	* generated/maxloc0_4_i4.c: Regenerated.
    992 	* generated/maxloc0_4_i8.c: Regenerated.
    993 	* generated/maxloc0_4_r10.c: Regenerated.
    994 	* generated/maxloc0_4_r16.c: Regenerated.
    995 	* generated/maxloc0_4_r4.c: Regenerated.
    996 	* generated/maxloc0_4_r8.c: Regenerated.
    997 	* generated/maxloc0_8_i1.c: Regenerated.
    998 	* generated/maxloc0_8_i16.c: Regenerated.
    999 	* generated/maxloc0_8_i2.c: Regenerated.
   1000 	* generated/maxloc0_8_i4.c: Regenerated.
   1001 	* generated/maxloc0_8_i8.c: Regenerated.
   1002 	* generated/maxloc0_8_r10.c: Regenerated.
   1003 	* generated/maxloc0_8_r16.c: Regenerated.
   1004 	* generated/maxloc0_8_r4.c: Regenerated.
   1005 	* generated/maxloc0_8_r8.c: Regenerated.
   1006 	* generated/minloc0_16_i1.c: Regenerated.
   1007 	* generated/minloc0_16_i16.c: Regenerated.
   1008 	* generated/minloc0_16_i2.c: Regenerated.
   1009 	* generated/minloc0_16_i4.c: Regenerated.
   1010 	* generated/minloc0_16_i8.c: Regenerated.
   1011 	* generated/minloc0_16_r10.c: Regenerated.
   1012 	* generated/minloc0_16_r16.c: Regenerated.
   1013 	* generated/minloc0_16_r4.c: Regenerated.
   1014 	* generated/minloc0_16_r8.c: Regenerated.
   1015 	* generated/minloc0_4_i1.c: Regenerated.
   1016 	* generated/minloc0_4_i16.c: Regenerated.
   1017 	* generated/minloc0_4_i2.c: Regenerated.
   1018 	* generated/minloc0_4_i4.c: Regenerated.
   1019 	* generated/minloc0_4_i8.c: Regenerated.
   1020 	* generated/minloc0_4_r10.c: Regenerated.
   1021 	* generated/minloc0_4_r16.c: Regenerated.
   1022 	* generated/minloc0_4_r4.c: Regenerated.
   1023 	* generated/minloc0_4_r8.c: Regenerated.
   1024 	* generated/minloc0_8_i1.c: Regenerated.
   1025 	* generated/minloc0_8_i16.c: Regenerated.
   1026 	* generated/minloc0_8_i2.c: Regenerated.
   1027 	* generated/minloc0_8_i4.c: Regenerated.
   1028 	* generated/minloc0_8_i8.c: Regenerated.
   1029 	* generated/minloc0_8_r10.c: Regenerated.
   1030 	* generated/minloc0_8_r16.c: Regenerated.
   1031 	* generated/minloc0_8_r4.c: Regenerated.
   1032 	* generated/minloc0_8_r8.c: Regenerated.
   1033 	* generated/pack_c10.c: Regenerated.
   1034 	* generated/pack_c16.c: Regenerated.
   1035 	* generated/pack_c4.c: Regenerated.
   1036 	* generated/pack_c8.c: Regenerated.
   1037 	* generated/pack_i1.c: Regenerated.
   1038 	* generated/pack_i16.c: Regenerated.
   1039 	* generated/pack_i2.c: Regenerated.
   1040 	* generated/pack_i4.c: Regenerated.
   1041 	* generated/pack_i8.c: Regenerated.
   1042 	* generated/pack_r10.c: Regenerated.
   1043 	* generated/pack_r16.c: Regenerated.
   1044 	* generated/pack_r4.c: Regenerated.
   1045 	* generated/pack_r8.c: Regenerated.
   1046 	* generated/spread_c10.c: Regenerated.
   1047 	* generated/spread_c16.c: Regenerated.
   1048 	* generated/spread_c4.c: Regenerated.
   1049 	* generated/spread_c8.c: Regenerated.
   1050 	* generated/spread_i1.c: Regenerated.
   1051 	* generated/spread_i16.c: Regenerated.
   1052 	* generated/spread_i2.c: Regenerated.
   1053 	* generated/spread_i4.c: Regenerated.
   1054 	* generated/spread_i8.c: Regenerated.
   1055 	* generated/spread_r10.c: Regenerated.
   1056 	* generated/spread_r16.c: Regenerated.
   1057 	* generated/spread_r4.c: Regenerated.
   1058 	* generated/spread_r8.c: Regenerated.
   1059 	* generated/transpose_c10.c: Regenerated.
   1060 	* generated/transpose_c16.c: Regenerated.
   1061 	* generated/transpose_c4.c: Regenerated.
   1062 	* generated/transpose_c8.c: Regenerated.
   1063 	* generated/transpose_i16.c: Regenerated.
   1064 	* generated/transpose_i4.c: Regenerated.
   1065 	* generated/transpose_i8.c: Regenerated.
   1066 	* generated/transpose_r10.c: Regenerated.
   1067 	* generated/transpose_r16.c: Regenerated.
   1068 	* generated/transpose_r4.c: Regenerated.
   1069 	* generated/transpose_r8.c: Regenerated.
   1070 	* generated/unpack_c10.c: Regenerated.
   1071 	* generated/unpack_c16.c: Regenerated.
   1072 	* generated/unpack_c4.c: Regenerated.
   1073 	* generated/unpack_c8.c: Regenerated.
   1074 	* generated/unpack_i1.c: Regenerated.
   1075 	* generated/unpack_i16.c: Regenerated.
   1076 	* generated/unpack_i2.c: Regenerated.
   1077 	* generated/unpack_i4.c: Regenerated.
   1078 	* generated/unpack_i8.c: Regenerated.
   1079 	* generated/unpack_r10.c: Regenerated.
   1080 	* generated/unpack_r16.c: Regenerated.
   1081 	* generated/unpack_r4.c: Regenerated.
   1082 	* generated/unpack_r8.c: Regenerated.
   1083 
   1084 2008-05-18  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   1085 
   1086 	* runtime/select.c: Moved content to select_inc.c. Include it. 
   1087 	Add macros for different character types.
   1088 	* runtime/select_inc.c: New file.
   1089 	* runtime/convert_char.c: New file.
   1090 	* intrinsics/pack_generic.c (pack_char4, pack_s_char4): New
   1091 	functions.
   1092 	* intrinsics/transpose_generic.c (transpose_char4): New function.
   1093 	* intrinsics/spread_generic.c (spread_char4, spread_char4_scalar):
   1094 	New functions.
   1095 	* intrinsics/unpack_generic.c (unpack1_char4, unpack0_char4): 
   1096 	New functions.
   1097 	* intrinsics/reshape_generic.c (reshape_char): Use
   1098 	gfc_charlen_type as type for length variables.
   1099 	(reshape_char4): New function.
   1100 	* gfortran.map (GFORTRAN_1.1): Add _gfortran_select_string_char4,
   1101 	_gfortran_convert_char1_to_char4, _gfortran_convert_char4_to_char1,
   1102 	_gfortran_transpose_char4, _gfortran_spread_char4,
   1103 	_gfortran_spread_char4_scalar, _gfortran_reshape_char4,
   1104 	_gfortran_pack_char4, _gfortran_pack_s_char4,
   1105 	_gfortran_unpack0_char4 and _gfortran_unpack1_char4.
   1106 	* Makefile.am: Add runtime/convert_char.c.
   1107 	* Makefile.in: Regenerate.
   1108 
   1109 2008-05-17  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1110 
   1111 	* io/list_read.c (list_formatted_read_scalar):  Declare
   1112 	type as volatile to shut up compiler warning.
   1113 
   1114 2008-05-16  Janne Blomqvist  <jb (a] gcc.gnu.org>
   1115 
   1116 	PR libfortran/25561
   1117 	* io/io.h (struct fbuf): Change pointer to position offset.
   1118 	* io/fbuf.c (fbuf_init): Reduce default size of buffer, ptr=>pos
   1119 	changes.
   1120 	(fbuf_reset): ptr=>pos changes.
   1121 	(fbuf_alloc): If the request doesn't fit, don't waste memory by
   1122 	keeping flushed bytes. ptr=>pos changes.
   1123 	(fbuf_flush): ptr=>pos changes.
   1124 	(fbuf_seek): Don't seek past the left tab limit, don't update active
   1125 	byte count.
   1126 	* io/open.c (new_unit): If RECL has been specified, used that as
   1127 	initial buffer size.
   1128 
   1129 2008-05-16  Janne Blomqvist  <jb (a] gcc.gnu.org>
   1130 
   1131 	PR libfortran/35632
   1132 	* io/open.c (new_unit): Set stream position to correct value.
   1133 
   1134 2008-05-15  Janne Blomqvist  <jb (a] gcc.gnu.org>
   1135 
   1136 	PR libfortran/25561
   1137 	* Makefile.am: Add fbuf.c to gfor_io_src.
   1138 	* Makefile.in: Regenerate.
   1139 	* io/io.h (read_block): Remove.
   1140 	(struct stream): Remove alloc_r_at function pointer.
   1141 	(salloc_r): Remove.
   1142 	(salloc_r_at): Remove.
   1143 	(salloc_w_at): Remove.
   1144 	(salloc_w): Remove offset argument.
   1145 	(struct fbuf): New struct for format buffer.
   1146 	(struct gfc_unit): Add fbuf.
   1147 	(read_block_form): New prototype.
   1148 	(fbuf_init): Likewise.
   1149 	(fbuf_destroy): Likewise.
   1150 	(fbuf_reset): Likewise.
   1151 	(fbuf_alloc): Likewise.
   1152 	(fbuf_flush): Likewise.
   1153 	(fbuf_seek): Likewise.
   1154 	* io/file_pos.c (formatted_backspace): Change to use sread.
   1155 	(unformatted_backspace): Likewise.
   1156 	(st_backspace): Flush format buffer.
   1157 	(st_rewind): Likewise.
   1158 	* io/list_read.c (next_char): Likewise.
   1159 	(nml_query): Tidying, flush format buffer.
   1160 	* io/open.c (new_unit): Init format buffer.
   1161 	* io/read.c (read_l): Change to use read_block_form.
   1162 	(read_a): Likewise.
   1163 	(read_decimal): Likewise.
   1164 	(read_radix): Likewise.
   1165 	(read_f): Likewise.
   1166 	(read_x): Empty reads also for stream I/O.
   1167 	* io/transfer.c (read_sf): Change to use sread.
   1168 	(read_block): Rename to read_block_form, change prototype, use sread.
   1169 	(read_block_direct): Don't seek stream files.
   1170 	(write_block): Change to use fbuf if external file, don't seek stream
   1171 	files.
   1172 	(write_buf): Don't seek stream files.
   1173 	(formatted_transfer_scalar): Use fbuf for external files.
   1174 	(us_read): Change to use sread.
   1175 	(pre_position): Do nothing for stream I/O.
   1176 	(data_transfer_init): Flush fbuf when switching from write to read, if
   1177 	POS is specified, seek stream file to correct offset.
   1178 	(skip_record): Change to use sread.
   1179 	(min_off): New function.
   1180 	(next_record_r): Change to use sread.
   1181 	(next_record_w): Change to use sset/sseek, flush fbuf.
   1182 	(finalize_transfer): Flush fbuf.
   1183 	* io/unit.c (init_units): Init fbuf for stdout, stderr.
   1184 	(close_unit_1): Destroy fbuf.
   1185 	(finish_last_advance_record): Flush fbuf, no need to seek.
   1186 	* io/unix.c (fd_alloc_r_at): Remove unused where argument.
   1187 	(fd_alloc_w_at): Likewise.
   1188 	(fd_read): Remove third argument to fd_alloc_r_at.
   1189 	(fd_write): Remove third argument to fd_alloc_w_at.
   1190 	(fd_sset): Likewise.
   1191 	(fd_open): Don't set alloc_r_at.
   1192 	(mem_alloc_r_at): Remove unused where argument.
   1193 	(mem_alloc_w_at): Likewise.
   1194 	(mem_read): Don't incorrectly return previous errno, remove unused
   1195 	third argument to alloc function.
   1196 	(mem_write): Likewise.
   1197 	(mem_set): Likewise.
   1198 	(open_internal): Don't set alloc_r_at pointer.
   1199 	* io/fbuf.c: New file.
   1200 
   1201 2008-05-14  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   1202 
   1203 	* libgfortran.h (gfc_char4_t): New type.
   1204 	(GFC_SIZE_OF_CHAR_KIND): New macro.
   1205 	(compare_string): Adjust prototype.
   1206 	(compare_string_char4): New prototype.
   1207 	* gfortran.map (GFORTRAN_1.1): Add _gfortran_adjustl_char4,
   1208 	_gfortran_adjustr_char4, _gfortran_compare_string_char4,
   1209 	_gfortran_concat_string_char4, _gfortran_string_index_char4,
   1210 	_gfortran_string_len_trim_char4, _gfortran_string_minmax_char4,
   1211 	_gfortran_string_scan_char4, _gfortran_string_trim_char4 and
   1212 	_gfortran_string_verify_char4.
   1213 	* intrinsics/string_intrinsics_inc.c: New file from content of
   1214 	string_intrinsics.c with types replaced by macros.
   1215 	* intrinsics/string_intrinsics.c: Move content to
   1216 	string_intrinsics_inc.c.
   1217 
   1218 2008-05-11  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1219 
   1220 	PR libfortran/36202
   1221 	* io/list_read (eat_separator): Handle the CR-LF case correctly.
   1222 
   1223 2008-05-09  Julian Brown  <julian (a] codesourcery.com>
   1224 
   1225 	* Makefile.am (LTLDFLAGS): New.
   1226 	(libgfortran_la_LDFLAGS): Use above.
   1227 	* Makefile.in: Regenerate.
   1228 
   1229 2008-05-05  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1230 
   1231 	PR libfortran/36131
   1232 	* io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974.
   1233 	(next_record_w): Likewise.
   1234 
   1235 2008-05-04  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1236 
   1237 	PR libfortran/35995
   1238 	* m4/ifunction_logical.m4:  If the extent of "array"
   1239 	is less than zero, set it to zero.  Use an explicit
   1240 	flag for breaking out of the main loop to avoid, because
   1241 	the data pointer for "array" may be NULL for an empty
   1242 	array.
   1243 	* m4/ifunction.m4:  Likewise.
   1244 	* generated/all_l1.c: Regenerated.
   1245 	* generated/all_l16.c: Regenerated.
   1246 	* generated/all_l2.c: Regenerated.
   1247 	* generated/all_l4.c: Regenerated.
   1248 	* generated/all_l8.c: Regenerated.
   1249 	* generated/any_l1.c: Regenerated.
   1250 	* generated/any_l16.c: Regenerated.
   1251 	* generated/any_l2.c: Regenerated.
   1252 	* generated/any_l4.c: Regenerated.
   1253 	* generated/any_l8.c: Regenerated.
   1254 	* generated/count_16_l.c: Regenerated.
   1255 	* generated/count_1_l.c: Regenerated.
   1256 	* generated/count_2_l.c: Regenerated.
   1257 	* generated/count_4_l.c: Regenerated.
   1258 	* generated/count_8_l.c: Regenerated.
   1259 	* generated/maxloc1_16_i1.c: Regenerated.
   1260 	* generated/maxloc1_16_i16.c: Regenerated.
   1261 	* generated/maxloc1_16_i2.c: Regenerated.
   1262 	* generated/maxloc1_16_i4.c: Regenerated.
   1263 	* generated/maxloc1_16_i8.c: Regenerated.
   1264 	* generated/maxloc1_16_r10.c: Regenerated.
   1265 	* generated/maxloc1_16_r16.c: Regenerated.
   1266 	* generated/maxloc1_16_r4.c: Regenerated.
   1267 	* generated/maxloc1_16_r8.c: Regenerated.
   1268 	* generated/maxloc1_4_i1.c: Regenerated.
   1269 	* generated/maxloc1_4_i16.c: Regenerated.
   1270 	* generated/maxloc1_4_i2.c: Regenerated.
   1271 	* generated/maxloc1_4_i4.c: Regenerated.
   1272 	* generated/maxloc1_4_i8.c: Regenerated.
   1273 	* generated/maxloc1_4_r10.c: Regenerated.
   1274 	* generated/maxloc1_4_r16.c: Regenerated.
   1275 	* generated/maxloc1_4_r4.c: Regenerated.
   1276 	* generated/maxloc1_4_r8.c: Regenerated.
   1277 	* generated/maxloc1_8_i1.c: Regenerated.
   1278 	* generated/maxloc1_8_i16.c: Regenerated.
   1279 	* generated/maxloc1_8_i2.c: Regenerated.
   1280 	* generated/maxloc1_8_i4.c: Regenerated.
   1281 	* generated/maxloc1_8_i8.c: Regenerated.
   1282 	* generated/maxloc1_8_r10.c: Regenerated.
   1283 	* generated/maxloc1_8_r16.c: Regenerated.
   1284 	* generated/maxloc1_8_r4.c: Regenerated.
   1285 	* generated/maxloc1_8_r8.c: Regenerated.
   1286 	* generated/maxval_i1.c: Regenerated.
   1287 	* generated/maxval_i16.c: Regenerated.
   1288 	* generated/maxval_i2.c: Regenerated.
   1289 	* generated/maxval_i4.c: Regenerated.
   1290 	* generated/maxval_i8.c: Regenerated.
   1291 	* generated/maxval_r10.c: Regenerated.
   1292 	* generated/maxval_r16.c: Regenerated.
   1293 	* generated/maxval_r4.c: Regenerated.
   1294 	* generated/maxval_r8.c: Regenerated.
   1295 	* generated/minloc1_16_i1.c: Regenerated.
   1296 	* generated/minloc1_16_i16.c: Regenerated.
   1297 	* generated/minloc1_16_i2.c: Regenerated.
   1298 	* generated/minloc1_16_i4.c: Regenerated.
   1299 	* generated/minloc1_16_i8.c: Regenerated.
   1300 	* generated/minloc1_16_r10.c: Regenerated.
   1301 	* generated/minloc1_16_r16.c: Regenerated.
   1302 	* generated/minloc1_16_r4.c: Regenerated.
   1303 	* generated/minloc1_16_r8.c: Regenerated.
   1304 	* generated/minloc1_4_i1.c: Regenerated.
   1305 	* generated/minloc1_4_i16.c: Regenerated.
   1306 	* generated/minloc1_4_i2.c: Regenerated.
   1307 	* generated/minloc1_4_i4.c: Regenerated.
   1308 	* generated/minloc1_4_i8.c: Regenerated.
   1309 	* generated/minloc1_4_r10.c: Regenerated.
   1310 	* generated/minloc1_4_r16.c: Regenerated.
   1311 	* generated/minloc1_4_r4.c: Regenerated.
   1312 	* generated/minloc1_4_r8.c: Regenerated.
   1313 	* generated/minloc1_8_i1.c: Regenerated.
   1314 	* generated/minloc1_8_i16.c: Regenerated.
   1315 	* generated/minloc1_8_i2.c: Regenerated.
   1316 	* generated/minloc1_8_i4.c: Regenerated.
   1317 	* generated/minloc1_8_i8.c: Regenerated.
   1318 	* generated/minloc1_8_r10.c: Regenerated.
   1319 	* generated/minloc1_8_r16.c: Regenerated.
   1320 	* generated/minloc1_8_r4.c: Regenerated.
   1321 	* generated/minloc1_8_r8.c: Regenerated.
   1322 	* generated/minval_i1.c: Regenerated.
   1323 	* generated/minval_i16.c: Regenerated.
   1324 	* generated/minval_i2.c: Regenerated.
   1325 	* generated/minval_i4.c: Regenerated.
   1326 	* generated/minval_i8.c: Regenerated.
   1327 	* generated/minval_r10.c: Regenerated.
   1328 	* generated/minval_r16.c: Regenerated.
   1329 	* generated/minval_r4.c: Regenerated.
   1330 	* generated/minval_r8.c: Regenerated.
   1331 	* generated/product_c10.c: Regenerated.
   1332 	* generated/product_c16.c: Regenerated.
   1333 	* generated/product_c4.c: Regenerated.
   1334 	* generated/product_c8.c: Regenerated.
   1335 	* generated/product_i1.c: Regenerated.
   1336 	* generated/product_i16.c: Regenerated.
   1337 	* generated/product_i2.c: Regenerated.
   1338 	* generated/product_i4.c: Regenerated.
   1339 	* generated/product_i8.c: Regenerated.
   1340 	* generated/product_r10.c: Regenerated.
   1341 	* generated/product_r16.c: Regenerated.
   1342 	* generated/product_r4.c: Regenerated.
   1343 	* generated/product_r8.c: Regenerated.
   1344 	* generated/sum_c10.c: Regenerated.
   1345 	* generated/sum_c16.c: Regenerated.
   1346 	* generated/sum_c4.c: Regenerated.
   1347 	* generated/sum_c8.c: Regenerated.
   1348 	* generated/sum_i1.c: Regenerated.
   1349 	* generated/sum_i16.c: Regenerated.
   1350 	* generated/sum_i2.c: Regenerated.
   1351 	* generated/sum_i4.c: Regenerated.
   1352 	* generated/sum_i8.c: Regenerated.
   1353 	* generated/sum_r10.c: Regenerated.
   1354 	* generated/sum_r16.c: Regenerated.
   1355 	* generated/sum_r4.c: Regenerated.
   1356 	* generated/sum_r8.c: Regenerated.
   1357 
   1358 2008-05-04  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1359 
   1360 	PR libfortran/35990
   1361 	* intrinsics/pack_generic.c:  Really commit.
   1362 
   1363 2008-05-04  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1364 
   1365 	PR libfortran/35990
   1366 	* intrinsics/pack_generic.c:  If an extent of the source
   1367 	array is less then zero, set it to zero.  Set the source
   1368 	pointer to NULL if the source size is zero.  Set the total
   1369 	number of elements to zero if the vector has an extent
   1370 	less or equal to zero.
   1371 	* m4/pack.m4:  Set the source pointer to NULL if the
   1372 	source array is zero-sized.  Set the total number of
   1373 	elemements to zero if the vector has an extent less or
   1374 	equal to zero.
   1375 	* generated/pack_i1.c:  Regenerated.
   1376 	* generated/pack_i2.c:  Regenerated.
   1377 	* generated/pack_i4.c:  Regenerated.
   1378 	* generated/pack_i8.c:  Regenerated.
   1379 	* generated/pack_i16.c:  Regenerated.
   1380 	* generated/pack_r4.c:  Regenerated.
   1381 	* generated/pack_r8.c:  Regenerated.
   1382 	* generated/pack_r10.c:  Regenerated.
   1383 	* generated/pack_r16.c:  Regenerated.
   1384 	* generated/pack_c4.c:  Regenerated.
   1385 	* generated/pack_c8.c:  Regenerated.
   1386 	* generated/pack_c10.c:  Regenerated.
   1387 	* generated/pack_c16.c:  Regenerated.
   1388 
   1389 2008-05-01  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1390 
   1391 	PR libfortran/36094
   1392 	* runtime/error.c (show_locus): Provide modified error message when
   1393 	filename has not yet been associated with a unit number.
   1394 	* io/open.c (encoding_opt[]): Comment out "utf-8" option and add TODO.
   1395 
   1396 2008-04-30  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   1397 
   1398 	* intrinsics/selected_char_kind.c: New file.
   1399 	* gfortran.map (GFORTRAN_1.1): Add _gfortran_selected_char_kind.
   1400 	* Makefile.am: Add intrinsics/selected_char_kind.c.
   1401 	* Makefile.in: Regenerate.
   1402 
   1403 2008-04-30  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1404 
   1405 	PR libfortran/35993
   1406 	* ifunction.m4 (SCALAR_ARRAY_FUNCTION):  Use correct
   1407 	implementation for multi-dimensional return arrays when
   1408 	the mask is .false.
   1409 	* generated/maxloc1_16_i1.c: Regenerated.
   1410 	* generated/maxloc1_16_i16.c: Regenerated.
   1411 	* generated/maxloc1_16_i2.c: Regenerated.
   1412 	* generated/maxloc1_16_i4.c: Regenerated.
   1413 	* generated/maxloc1_16_i8.c: Regenerated.
   1414 	* generated/maxloc1_16_r10.c: Regenerated.
   1415 	* generated/maxloc1_16_r16.c: Regenerated.
   1416 	* generated/maxloc1_16_r4.c: Regenerated.
   1417 	* generated/maxloc1_16_r8.c: Regenerated.
   1418 	* generated/maxloc1_4_i1.c: Regenerated.
   1419 	* generated/maxloc1_4_i16.c: Regenerated.
   1420 	* generated/maxloc1_4_i2.c: Regenerated.
   1421 	* generated/maxloc1_4_i4.c: Regenerated.
   1422 	* generated/maxloc1_4_i8.c: Regenerated.
   1423 	* generated/maxloc1_4_r10.c: Regenerated.
   1424 	* generated/maxloc1_4_r16.c: Regenerated.
   1425 	* generated/maxloc1_4_r4.c: Regenerated.
   1426 	* generated/maxloc1_4_r8.c: Regenerated.
   1427 	* generated/maxloc1_8_i1.c: Regenerated.
   1428 	* generated/maxloc1_8_i16.c: Regenerated.
   1429 	* generated/maxloc1_8_i2.c: Regenerated.
   1430 	* generated/maxloc1_8_i4.c: Regenerated.
   1431 	* generated/maxloc1_8_i8.c: Regenerated.
   1432 	* generated/maxloc1_8_r10.c: Regenerated.
   1433 	* generated/maxloc1_8_r16.c: Regenerated.
   1434 	* generated/maxloc1_8_r4.c: Regenerated.
   1435 	* generated/maxloc1_8_r8.c: Regenerated.
   1436 	* generated/maxval_i1.c: Regenerated.
   1437 	* generated/maxval_i16.c: Regenerated.
   1438 	* generated/maxval_i2.c: Regenerated.
   1439 	* generated/maxval_i4.c: Regenerated.
   1440 	* generated/maxval_i8.c: Regenerated.
   1441 	* generated/maxval_r10.c: Regenerated.
   1442 	* generated/maxval_r16.c: Regenerated.
   1443 	* generated/maxval_r4.c: Regenerated.
   1444 	* generated/maxval_r8.c: Regenerated.
   1445 	* generated/minloc1_16_i1.c: Regenerated.
   1446 	* generated/minloc1_16_i16.c: Regenerated.
   1447 	* generated/minloc1_16_i2.c: Regenerated.
   1448 	* generated/minloc1_16_i4.c: Regenerated.
   1449 	* generated/minloc1_16_i8.c: Regenerated.
   1450 	* generated/minloc1_16_r10.c: Regenerated.
   1451 	* generated/minloc1_16_r16.c: Regenerated.
   1452 	* generated/minloc1_16_r4.c: Regenerated.
   1453 	* generated/minloc1_16_r8.c: Regenerated.
   1454 	* generated/minloc1_4_i1.c: Regenerated.
   1455 	* generated/minloc1_4_i16.c: Regenerated.
   1456 	* generated/minloc1_4_i2.c: Regenerated.
   1457 	* generated/minloc1_4_i4.c: Regenerated.
   1458 	* generated/minloc1_4_i8.c: Regenerated.
   1459 	* generated/minloc1_4_r10.c: Regenerated.
   1460 	* generated/minloc1_4_r16.c: Regenerated.
   1461 	* generated/minloc1_4_r4.c: Regenerated.
   1462 	* generated/minloc1_4_r8.c: Regenerated.
   1463 	* generated/minloc1_8_i1.c: Regenerated.
   1464 	* generated/minloc1_8_i16.c: Regenerated.
   1465 	* generated/minloc1_8_i2.c: Regenerated.
   1466 	* generated/minloc1_8_i4.c: Regenerated.
   1467 	* generated/minloc1_8_i8.c: Regenerated.
   1468 	* generated/minloc1_8_r10.c: Regenerated.
   1469 	* generated/minloc1_8_r16.c: Regenerated.
   1470 	* generated/minloc1_8_r4.c: Regenerated.
   1471 	* generated/minloc1_8_r8.c: Regenerated.
   1472 	* generated/minval_i1.c: Regenerated.
   1473 	* generated/minval_i16.c: Regenerated.
   1474 	* generated/minval_i2.c: Regenerated.
   1475 	* generated/minval_i4.c: Regenerated.
   1476 	* generated/minval_i8.c: Regenerated.
   1477 	* generated/minval_r10.c: Regenerated.
   1478 	* generated/minval_r16.c: Regenerated.
   1479 	* generated/minval_r4.c: Regenerated.
   1480 	* generated/minval_r8.c: Regenerated.
   1481 	* generated/product_c10.c: Regenerated.
   1482 	* generated/product_c16.c: Regenerated.
   1483 	* generated/product_c4.c: Regenerated.
   1484 	* generated/product_c8.c: Regenerated.
   1485 	* generated/product_i1.c: Regenerated.
   1486 	* generated/product_i16.c: Regenerated.
   1487 	* generated/product_i2.c: Regenerated.
   1488 	* generated/product_i4.c: Regenerated.
   1489 	* generated/product_i8.c: Regenerated.
   1490 	* generated/product_r10.c: Regenerated.
   1491 	* generated/product_r16.c: Regenerated.
   1492 	* generated/product_r4.c: Regenerated.
   1493 	* generated/product_r8.c: Regenerated.
   1494 	* generated/sum_c10.c: Regenerated.
   1495 	* generated/sum_c16.c: Regenerated.
   1496 	* generated/sum_c4.c: Regenerated.
   1497 	* generated/sum_c8.c: Regenerated.
   1498 	* generated/sum_i1.c: Regenerated.
   1499 	* generated/sum_i16.c: Regenerated.
   1500 	* generated/sum_i2.c: Regenerated.
   1501 	* generated/sum_i4.c: Regenerated.
   1502 	* generated/sum_i8.c: Regenerated.
   1503 	* generated/sum_r10.c: Regenerated.
   1504 	* generated/sum_r16.c: Regenerated.
   1505 	* generated/sum_r4.c: Regenerated.
   1506 	* generated/sum_r8.c: Regenerated.
   1507 
   1508 2008-04-25  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1509 
   1510 	PR libfortran/35960
   1511 	* m4/reshape.m4:  Fix typo in last commit.
   1512 	* generated/reshape_i4.c:  Regererated.
   1513 	* generated/reshape_i8.c:  Regenerated.
   1514 	* generated/reshape_i16.c:  Regenerated.
   1515 	* generated/reshape_r4.c:  Regenerated.
   1516 	* generated/reshape_r8.c:  Regenerated.
   1517 	* generated/reshape_r10.c:  Regenerated.
   1518 	* generated/reshape_r16.c:  Regenerated.
   1519 	* generated/reshape_c4.c:  Regenerated.
   1520 	* generated/reshape_c8.c:  Regenerated.
   1521 	* generated/reshape_c10.c:  Regenerated.
   1522 	* generated/reshape_c16.c:  Regenerated.
   1523 
   1524 2008-04-24  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   1525 
   1526 	* intrinsics/time_1.h (__time_1): Remove unused variable.
   1527 
   1528 2008-04-23  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1529 
   1530 	PR libfortran/35988
   1531 	* m4/matmul.m4:  Only issue a runtime error if extents are
   1532 	non-zero.
   1533 	* generated/matmul_i1.c:  Regenerated.
   1534 	* generated/matmul_i2.c:  Regenerated.
   1535 	* generated/matmul_i4.c:  Regenerated.
   1536 	* generated/matmul_i8.c:  Regenerated.
   1537 	* generated/matmul_i16.c:  Regenerated.
   1538 	* generated/matmul_r4.c:  Regenerated.
   1539 	* generated/matmul_r8.c:  Regenerated.
   1540 	* generated/matmul_r10.c:  Regenerated.
   1541 	* generated/matmul_r16.c:  Regenerated.
   1542 	* generated/matmul_c4.c:  Regenerated.
   1543 	* generated/matmul_c8.c:  Regenerated.
   1544 	* generated/matmul_c10.c:  Regenerated.
   1545 	* generated/matmul_c16.c:  Regenerated.
   1546 
   1547 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   1548 
   1549 	* acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY)
   1550 	(LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT)
   1551 	(LIBGFOR_CHECK_ATTRIBUTE_ALIAS, LIBGFOR_CHECK_SYNC_FETCH_AND_ADD)
   1552 	(LIBGFOR_GTHREAD_WEAK, LIBGFOR_CHECK_UNLINK_OPEN_FILE)
   1553 	(LIBGFOR_CHECK_CRLF, LIBGFOR_CHECK_FOR_BROKEN_ISFINITE)
   1554 	(LIBGFOR_CHECK_FOR_BROKEN_ISNAN)
   1555 	(LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY, LIBGFOR_CHECK_WORKING_STAT)
   1556 	(LIBGFOR_CHECK_FPSETMASK, LIBGFOR_CHECK_MINGW_SNPRINTF):
   1557 	Fix cache variable names.
   1558 	* configure, Makefile.in: Regenerate.
   1559 
   1560 2008-04-20  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1561 
   1562 	PR fortran/35991
   1563 	* intrinsics/cshift0.c (cshift0): Avoid divide by zero.
   1564 
   1565 2008-04-20  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1566 
   1567 	PR libfortran/35960
   1568 	* intrinsics/reshape_generic.c (reshape_internal): If the size
   1569 	of the resized array is zero, as determined by the SHAPE
   1570 	argument, return early.
   1571 	* m4/reshape.m4:  Likewise.
   1572 	* generated/reshape_i4.c:  Regererated.
   1573 	* generated/reshape_i8.c:  Regenerated.
   1574 	* generated/reshape_i16.c:  Regenerated.
   1575 	* generated/reshape_r4.c:  Regenerated.
   1576 	* generated/reshape_r8.c:  Regenerated.
   1577 	* generated/reshape_r10.c:  Regenerated.
   1578 	* generated/reshape_r16.c:  Regenerated.
   1579 	* generated/reshape_c4.c:  Regenerated.
   1580 	* generated/reshape_c8.c:  Regenerated.
   1581 	* generated/reshape_c10.c:  Regenerated.
   1582 	* generated/reshape_c16.c:  Regenerated.
   1583 
   1584 2008-04-18  Paolo Bonzini  <bonzini (a] gnu.org>
   1585 
   1586 	PR bootstrap/35457
   1587 	* aclocal.m4: Regenerate.
   1588 	* configure: Regenerate.
   1589 
   1590 2008-04-14  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1591 
   1592 	PR libfortran/32972
   1593 	* intrinsics/spread_generic.c (spread):  Use spread_i2()
   1594 	for GFC_DTYPE_DERIVED_2 (fix typo from previous commit).
   1595 
   1596 2008-04-13  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1597 	Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   1598 
   1599 	PR libfortran/32972
   1600 	PR libfortran/32512
   1601 	configure.ac:  Add test for uintptr_t.
   1602 	configure:  Regenerated.
   1603 	config.h.in:  Regenerated.
   1604 	* libgfortran.h: GFC_DTYPE_DERIVED_1:  New macro.
   1605 	GFC_DTYPE_DERIVED_2:  New macro.
   1606 	GFC_DTYPE_DERIVED_4:  New macro.
   1607 	GFC_DTYPE_DERIVED_8:  New macro.
   1608 	GFC_DTYPE_DERIVED_16:  New macro.
   1609 	GFC_UNALIGNED_2:  New macro.
   1610 	GFC_UNALIGNED_4:  New macro.
   1611 	GFC_UNALIGNED_8:  New macro.
   1612 	GFC_UNALIGNED_16:  New macro.
   1613 	intptr_t:  Define if we don't have it.
   1614 	uintptr_t:  Likewise.
   1615 	* runtime/backtrace.c (show_backtrace):  Use intptr_t.
   1616 	* intrinsics/signal.c (signal_sub):  Likewise.
   1617 	(signal_sub_int):  Likewise.
   1618 	(alarm_sub_int_i4):  Likewise.
   1619 	* intrinsics/spread_generic.c (spread):  Use the integer
   1620 	routines for handling derived types of sizes 1, 2, 4, 8 and 16
   1621 	if the alignment of all pointers is correct.
   1622 	(spread_scalar):  Likewise.
   1623 	* intrinsics/pack_generic.c (pack):  Likewise.
   1624 	Use GFD_DTYPE_TYPE_SIZE to avoid nested switch statements.
   1625 	* intrinsics/unpack_generic.c (unpack1):  Likewise.
   1626 	(unpack0):  Likewise.
   1627 	* runtime/in_pack_generic.c (internal_pack):  Likewise.
   1628 	* runtime/in_unpack_generic.c (internal_unpack):  Likewise.
   1629 
   1630 2008-04-09  Jakub Jelinek  <jakub (a] redhat.com>
   1631 
   1632 	* io/list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.
   1633 	(nml_read_obj): Add nml_err_msg_size argument.  Pass it down to
   1634 	recursive call.  Use snprintf instead of sprintf when %s nl->var_name
   1635 	is used.
   1636 	(nml_get_obj_data): Add nml_err_msg_size argument.  Pass it down to
   1637 	nml_read_obj call.  Use snprintf instead of sprintf when %s
   1638 	nl->var_name is used.  Pass nml_err_msg to nml_parse_qualifier instead
   1639 	of parse_err_msg array.  Append " for namelist variable " and
   1640 	nl->var_name to it.
   1641 	(namelist_read): Increase size of nml_err_msg array to 200.  Pass
   1642 	sizeof nml_err_msg as extra argument to nml_get_obj_data.
   1643 
   1644 2008-04-07  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1645 
   1646 	PR fortran/25829 28655
   1647 	* io/open.c (edit_modes): Set flags.async. (new_unit) Set flags.async
   1648 	and flags.status. (st_open): Initialize flags.async.
   1649 	* io/list_read.c (read_charactor): Use delim_status instead of
   1650 	flags.delim.
   1651 	* io/read.c (read_x): Use pad_status instead of flags.pad.
   1652 	* io/inquire.c (inquire_via_unit): Add new checks.
   1653 	(inquire_via_filename): Likewise.
   1654 	* io/io.h (st_parameter_inquire): Add new flags.
   1655 	(st_parameter_dt): Likewise.
   1656 	* io/unit.c (get_internal_unit): Set flags.async. (init_units): Set
   1657 	flags.async.
   1658 	* io/transfer.c: Add delim and pad option arrays. (read_sf): Use
   1659 	pad_status instead of flags.pad. (read_block): Likewise.
   1660 	(data_transfer_init): Set flags.async and add checks.
   1661 	* io/write.c (write_character): Use delim_status.
   1662 	(list_formatted_write_scalar): Likewise. (nml_write_obj): Likewise.
   1663 	(namelist_write): Likewise.
   1664 
   1665 2008-04-05  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1666 
   1667 	PR fortran/25829 28655
   1668 	* gfortran.map: Add new symbol, _gfortran_st_wait.
   1669 	* libgfortran.h (st_paramter_common): Add new I/O parameters.
   1670 	* open.c (st_option decimal_opt[], st_option encoding_opt[],
   1671 	st_option round_opt[], st_option sign_opt[], st_option async_opt[]): New
   1672 	parameter option arrays. (edit_modes): Add checks for new parameters.
   1673 	(new_unit): Likewise. (st_open): Likewise.
   1674 	* list_read.c (CASE_SEPERATORS): Add ';' as a valid separator.
   1675 	(eat_separator): Handle deimal comma. (read_logical): Fix whitespace.
   1676 	(parse_real): Handle decimal comma. (read_real): Handle decimal comma.
   1677 	* read.c (read_a): Use decimal status flag to allow comma in place of a
   1678 	decimal point. (read_f): Allow comma as acceptable character in float.
   1679 	According to decimal flag, substitute a period for a comma.
   1680 	(read_x): If decimal status flag is comma, disable the read_comma flag,
   1681 	not allowing comma as a delimiter, an extension otherwise.
   1682 	* io.h: (unit_decimal, unit_encoding, unit_round, unit_sign,
   1683 	unit_async): New enumerators. Add all new I/O parameters.
   1684 	* unix.c (unix_stream, int_stream): Add io_mode	asychronous I/O	control.
   1685 	(move_pos_offset, fd_alloc_w_at): Fix some whitespace.
   1686 	(fd_sfree): Use new enumerator. (fd_read): Likewise.
   1687 	(fd_write): Likewise. (fd_close): Fix whitespace.
   1688 	(fd_open): Use new enumertors. (tempfile, regular_file,
   1689 	open_external): Fix whitespace. (output_stream, error_stream): Set
   1690 	method. (stream_offset): Fix whitespace.
   1691 	* transfer.c: (st_option decimal_opt[], sign_opt[], blank_opt[]): New
   1692 	option arrays. 	(formatted_transfer_scalar): Set sf_read_comma flag
   1693 	based on new decimal_status flag. (data_transfer_init): Initialize new
   1694 	parameters. Add checks for decimal, sign, and blank. (st_wait): New stub.
   1695 	* format.c: (format_lex): Add format specifiers DP, DC, and D.
   1696 	(parse_format_list): Parse the new specifiers.
   1697 	* write.c (write_decimal): Use new sign enumerators to set the sign.
   1698 	(write_complex): Handle decimal comma and semi-colon separator.
   1699 	(nml_write_obj): Likewise.
   1700 	* write_float.def: Revise sign enumerators. (calculate_sign): Use new
   1701 	sign enumerators. (output_float): Likewise. Use new decimal_status flag
   1702 	to set the decimal character to a point or a comma.
   1703 	
   1704 2008-03-28  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1705 
   1706 	PR libfortran/32972
   1707 	PR libfortran/32512
   1708 	* Makefile.am:  Add new variable, i_spread_c, containing
   1709 	pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, spread_i16.c,
   1710 	spread_r4.c, spread_r8.c, spread_r10.c, spread_r16.c,
   1711 	spread_c4.c, spread_c8.c, spread_c10.c, spread_c16.c.
   1712 	* Makefile.in:  Regenerated.
   1713 	* libgfortran.h:  Add prototypes for spread_i1, spread_i2,
   1714 	spread_i4, spread_i8, spread_i16, spread_r4, spread_r8,
   1715 	spread_c4, spread_c8, spread_c10, spread_c16,
   1716 	spread_scalar_i1, spread_scalar_i2, spread_scalar_i4,
   1717 	spread_scalar_i8, spread_scalar_i16, spread_scalar_r4
   1718 	spread_scalar_r8, spread_scalar_c4, spread_scalar_c8,
   1719 	spread_scalar_c10 and spread_scalar_c16.
   1720 	Add macros to isolate both type and size information
   1721 	from array descriptors with a single mask operation.
   1722 	* intrinsics/spread_generic.c:  Add calls to specific
   1723 	spread functions.
   1724 	* m4/spread.m4:  New file.
   1725 	* generated/spread_i1.c:  New file.
   1726 	* generated/spread_i2.c:  New file.
   1727 	* generated/spread_i4.c:  New file.
   1728 	* generated/spread_i8.c:  New file.
   1729 	* generated/spread_i16.c:  New file.
   1730 	* generated/spread_r4.c:  New file.
   1731 	* generated/spread_r8.c:  New file.
   1732 	* generated/spread_r10.c:  New file.
   1733 	* generated/spread_r16.c:  New file.
   1734 	* generated/spread_c4.c:  New file.
   1735 	* generated/spread_c8.c:  New file.
   1736 	* generated/spread_c10.c:  New file.
   1737 	* generated/spread_c16.c:  New file.
   1738 
   1739 2008-03-28  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1740 
   1741 	PR libfortran/35699
   1742 	* io/transfer.c (write_buf):  Don't pad the record, just return if the
   1743 	data is NULL.  (next_record_w): If there are bytes left in the record
   1744 	for unformatted direct I/O, pad out the record with zero bytes.
   1745 
   1746 2008-03-28  Tobias Burnus  <burnus (a] net-b.de>
   1747 
   1748 	PR fortran/35721
   1749 	* intrinsics/associated.c (associated): Ignore different
   1750 	stride of pointer vs. target if only one element is referred.
   1751 
   1752 2008-03-26  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1753 
   1754 	* io/unix.c (fd_close):  Do not close STDIN.
   1755 
   1756 2008-03-23  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1757 
   1758 	PR libfortran/32972
   1759 	* Makefile.am:  Add new variable, i_unpack_c, containing
   1760 	unpack_i1.c, unpack_i2.c, unpack_i4.c, unpack_i8.c,
   1761 	unpack_i16.c, unpack_r4.c, unpack_r8.c, unpack_r10.c,
   1762 	unpack_r16.c, unpack_c4.c, unpack_c8.c, unpack_c10.c
   1763 	and unpack_c16.c
   1764 	Add i_unpack_c to gfor_built_src.
   1765 	Add rule to generate i_unpack_c from m4/unpack.m4.
   1766 	* Makefile.in:  Regenerated.
   1767 	* libgfortran.h: Add prototypes for unpack0_i1, unpack0_i2,
   1768 	unpack0_i4, unpack0_i8, unpack0_i16, unpack0_r4, unpack0_r8,
   1769 	unpack0_r10, unpack0_r16, unpack0_c4, unpack0_c8, unpack0_c10,
   1770 	unpack0_c16, unpack1_i1, unpack1_i2, unpack1_i4, unpack1_i8,
   1771 	unpack1_i16, unpack1_r4, unpack1_r8, unpack1_r10, unpack1_r16,
   1772 	unpack1_c4, unpack1_c8, unpack1_c10 and unpack1_c16.
   1773 	* intrinsics/pack_generic.c (unpack1):  Add calls to specific
   1774 	unpack1 functions.
   1775 	(unpack0):  Add calls to specific unpack0 functions.
   1776 	* m4/unpack.m4:  New file.
   1777 	* generated/unpack_i1.c:  New file.
   1778 	* generated/unpack_i2.c:  New file.
   1779 	* generated/unpack_i4.c:  New file.
   1780 	* generated/unpack_i8.c:  New file.
   1781 	* generated/unpack_i16.c:  New file.
   1782 	* generated/unpack_r4.c:  New file.
   1783 	* generated/unpack_r8.c:  New file.
   1784 	* generated/unpack_r10.c:  New file.
   1785 	* generated/unpack_r16.c:  New file.
   1786 	* generated/unpack_c4.c:  New file.
   1787 	* generated/unpack_c8.c:  New file.
   1788 	* generated/unpack_c10.c:  New file.
   1789 	* generated/unpack_c16.c:  New file.
   1790 
   1791 2008-03-22  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1792 
   1793 	PR libfortran/35632
   1794 	* io/transfer.c (data_transfer_init):  Fix whitespace.
   1795 	(next_record_w): Truncate the file only if the stream
   1796 	position is short of the file end.
   1797 
   1798 2008-03-21  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1799 
   1800 	* intrinsics/pack_generic.c:  Fix typo.
   1801 
   1802 2008-03-21  Janne Blomqvist  <jb (a] gcc.gnu.org>
   1803 
   1804 	* gfortran.map: Move erfc_scaled symbols to new symbol node
   1805 	GFORTRAN_1.1, thereby fixing ABI bug introduced in r132846.
   1806 
   1807 2008-03-21  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1808 
   1809 	PR libfortran/32972
   1810 	* runtime/in_pack_generic.c (internal_pack):  Call correct
   1811 	function, pack_i16, for GFC_INTEGER_16.
   1812 
   1813 2008-03-21  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1814 
   1815 	PR libfortran/32972
   1816 	* Makefile.am:  Add new variable, i_pack_c, containing
   1817 	pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, pack_i16.c,
   1818 	pack_r4.c, pack_r8.c, pack_r10.c, pack_r16.c, pack_c4.c,
   1819 	pack_c8.c, pack_c10.c, pack_c16.c.
   1820 	Add m4/pack.m4 to m4_files.
   1821 	Add i_pack_c to gfor_built_src.
   1822 	Add rule to generate i_pack_c from m4/pack.m4.
   1823 	* Makefile.in:  Regenerated.
   1824 	* libgfortran.h: Add prototypes for pack_i1, pack_i2, pack_i4,
   1825 	pack_i8, pack_i16, pack_r4, pack_r8, pack_c4, pack_c8,
   1826 	pack_c10, pack_c16.
   1827 	* intrinsics/pack_generic.c:  Add calls to specific
   1828 	pack functions.
   1829 	* m4/pack.m4:  New file.
   1830 	* generated/pack_i1.c:  New file.
   1831 	* generated/pack_i2.c:  New file.
   1832 	* generated/pack_i4.c:  New file.
   1833 	* generated/pack_i8.c:  New file.
   1834 	* generated/pack_i16.c:  New file.
   1835 	* generated/pack_r4.c:  New file.
   1836 	* generated/pack_r8.c:  New file.
   1837 	* generated/pack_r10.c:  New file.
   1838 	* generated/pack_r16.c:  New file.
   1839 	* generated/pack_c4.c:  New file.
   1840 	* generated/pack_c8.c:  New file.
   1841 	* generated/pack_c10.c:  New file.
   1842 	* generated/pack_c16.c:  New file.
   1843 
   1844 2008-03-19  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1845 
   1846 	PR libfortran/35627
   1847 	* io/list_read.c (free_line): Clear the line buffer enable flag and
   1848 	reset the index into line_buffer, aka item_count.
   1849 	(next_char): Cleanup whitespace.
   1850 	(read_logical): Use unget_char to assure that the first character of the
   1851 	bad logical is saved in case it is part of an object name. Remove the
   1852 	clearing of index and flag that is now in free_line.
   1853 	(read_real): Likewise.
   1854 
   1855 2008-03-19  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1856 
   1857 	PR libfortran/32972
   1858 	* runtime/in_pack_generic.c (internal_pack):  Fix typo in
   1859 	last commit.
   1860 
   1861 2008-03-19  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   1862 
   1863 	PR libfortran/32972
   1864 	* Makefile.am (in_pack_c): Add in_pack_i1.c, in_pack_i2.c,
   1865 	in_pack_r4.c, in_pack_r8.c, in_pack_r10.c and in_pack_r16.c.
   1866 	(in_unpack_c): Add in_unpack_i1.c, in_unpack_i2.c,
   1867 	in_unpack_r4.c, in_unpack_r8.c, in_unpack_r10.c and
   1868 	in_unpack_r16.c.
   1869 	* Makefile.in: Regenerate.
   1870 	* libgfortran.h:  Add prototypes for internal_pack_1,
   1871 	internal_pack_2, internal_pack_16, internal_pack_r4,
   1872 	internal_pack_r8, internal_pack_r10, internal_pack_r16,
   1873 	internal_pack_c10 and internal_pack_c16.  Add prototypes for
   1874 	internal_unpack_1, internal_unpack_2, internal_unpack_16,
   1875 	internal_unpack_r4, internal_unpack_r8, internal_unpack_r10,
   1876 	internal_unpack_r16, internal_unpack_c10 and
   1877 	internal_unpack_c16.
   1878 	* runtime/in_pack_generic.c (internal_pack): Use sizeof instead
   1879 	of hardwired sizes.
   1880 	Add calls to internal_pack_1, internal_pack_2,
   1881 	internal_pack_16, internal_pack_r4, internal_pack_r8,
   1882 	internal_pack_r10, internal_pack_r16, internal_pack_c10 and
   1883 	internal_pack_c16.
   1884 	* runtime/in_unpack_generic.c (internal_unpack):  Use sizeof
   1885 	instead of hardwired sizes.
   1886 	Add calls to internal_unpack_1, internal_unpack_2,
   1887 	internal_unpack_16, internal_unpack_r4, internal_unpack_r8,
   1888 	internal_unpack_r10, internal_unpack_r16, internal_unpack_c10
   1889 	and internal_unpack_c16.
   1890 	* generated/in_pack_r4.c:  New file.
   1891 	* generated/in_pack_i2.c:  New file.
   1892 	* generated/in_unpack_i1.c:  New file.
   1893 	* generated/in_pack_r10.c:  New file.
   1894 	* generated/in_unpack_r4.c:  New file.
   1895 	* generated/in_unpack_i2.c:  New file.
   1896 	* generated/in_unpack_r16.c:  New file.
   1897 	* generated/in_pack_r8.c:  New file.
   1898 	* generated/in_unpack_r10.c:  New file.
   1899 	* generated/in_unpack_r8.c:  New file.
   1900 	* generated/in_pack_r16.c:  New file.
   1901 	* generated/in_pack_i1.c:  New file.
   1902 
   1903 2008-03-17  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1904 
   1905 	PR libfortran/35617
   1906 	* io/list_read.c (eat_separator): If next character after eatline is '!'
   1907 	then eatline again. 
   1908 
   1909 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues (a] gmx.de>
   1910 
   1911 	* aclocal.m4: Regenerate.
   1912 	* configure: Likewise.
   1913 	* Makefile.in: Likewise.
   1914 
   1915 2008-03-12  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   1916 
   1917 	PR libfortran/35524
   1918 	* intrinsics/erfc_scaled_inc.c: Only define the long double
   1919 	variant of erfc_scaled if expl is available.
   1920 
   1921 2008-03-11  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   1922 
   1923 	PR libfortran/32812
   1924 	* intrinsics/random.c (scramble_seed, unscramble_seed): New
   1925 	functions.
   1926 	(random_seed_i4): Scramble the seed the user gives us before
   1927 	storing it, and unscramble it when we return it back later.
   1928 
   1929 2008-03-05  Hans-Peter Nilsson  <hp (a] axis.com>
   1930 
   1931 	PR libfortran/35293
   1932 	* io/unix.c (fd_truncate): Fold s->special_file case into
   1933 	success case of ftruncate/chsize call instead of the failure case.
   1934 	Make failure case actually return failure.  Properly update stream
   1935 	pointers on failure.  Call runtime_error for targets without
   1936 	neither ftruncate nor chsize where such a call would be needed.
   1937 
   1938 2008-03-03  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   1939 
   1940 	PR fortran/33197
   1941 	* intrinsics/erfc_scaled_inc.c: New file.
   1942 	* intrinsics/erfc_scaled.c: New file.
   1943 	* gfortran.map (GFORTRAN_1.0): Add _gfortran_erfc_scaled_r*.
   1944 	* Makefile.am: Add intrinsics/erfc_scaled.c.
   1945 	* config.h.in: Regenerate.
   1946 	* configure: Regenerate.
   1947 	* Makefile.in: Regenerate.
   1948 
   1949 2008-03-01  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   1950 
   1951 	PR libfortran/35355
   1952 	* intrinsics/time_1.h (__time_1): Fix calculation of user_usec
   1953 	for mingw.
   1954 
   1955 2008-03-01  Janne Blomqvist  <jb (a] gcc.gnu.org>
   1956 
   1957 	PR libfortran/35063
   1958 	* io/unit.c (destroy_unit_mutex): Call __gthread_mutex_destroy
   1959 	instead of macro kludge.
   1960 	
   1961 2008-02-25  Janne Blomqvist  <jb (a] gcc.gnu.org>
   1962 
   1963 	PR fortran/29549
   1964 	* Makefile.am: Add -fcx-fortran-rules to AM_CFLAGS for all of
   1965 	libgfortran.
   1966 	* Makefile.in: Regenerated.
   1967 
   1968 2008-02-25  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   1969 
   1970 	* m4/ifunction_logical.m4: Add casts to get rid of warnings.
   1971 	* generated/all_l1.c: Regenerate.
   1972 	* generated/all_l2.c: Regenerate.
   1973 	* generated/all_l4.c: Regenerate.
   1974 	* generated/all_l8.c: Regenerate.
   1975 	* generated/all_l16.c: Regenerate.
   1976 	* generated/any_l1.c: Regenerate.
   1977 	* generated/any_l2.c: Regenerate.
   1978 	* generated/any_l4.c: Regenerate.
   1979 	* generated/any_l8.c: Regenerate.
   1980 	* generated/any_l16.c: Regenerate.
   1981 	* generated/count_1_l.c: Regenerate.
   1982 	* generated/count_2_l.c: Regenerate.
   1983 	* generated/count_4_l.c: Regenerate.
   1984 	* generated/count_8_l.c: Regenerate.
   1985 	* generated/count_16_l.c: Regenerate.
   1986 
   1987 2008-02-24  Francois-Xavier Coudert  <fxcoudert (a] gcc.gnu.org>
   1988 
   1989 	PR libfortran/32841
   1990 	* acinclude.m4: Don't use HAVE_MATH_H.
   1991 	* configure: Regenerate.
   1992 
   1993 2008-02-20  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   1994 
   1995 	PR libfortran/35132
   1996 	* io/transfer.c (next_record_w): Truncate after the last record for
   1997 	STREAM I/O.
   1998 
   1999 	PR libfortran/34954
   2000 	* io/transfer.c (data_transfer_init): Initialize dtp->rec if writing.
   2001 
   2002 	PR libfortran/34974
   2003 	* io/transfer.c (formatted_transfer_scalar): Flush the buffer if skips
   2004 	is less than zero. (next_record_w): Use sseek to position the file to
   2005 	the max position reached.
   2006 
   2007 2008-02-20  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   2008 
   2009 	PR libfortran/35036
   2010 	* write_float.def (output_float):  Add error checks for zero digits
   2011 	after decimal point in E and D format specifiers.
   2012 	
   2013 2008-02-10  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   2014 
   2015 	PR libfortran/35063
   2016 	* io/unit.c (destroy_unit_mutex): New function that uses
   2017 	__gthread_mutex_destroy_function or pthread_mutex_destroy after
   2018 	unlocking and before free_mem for final closure of I/O unit.
   2019 	(delete_root): Use new function.
   2020 	(free_internal_unit): Likewise.
   2021 	(close_unit_1): Likewise.
   2022 
   2023 2008-02-02  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   2024 
   2025 	PR libfortran/35001
   2026 	* m4/shape.m4:  Return 0 for extents <= 0.
   2027 	* generated/shape_i4.c:  Regenerated.
   2028 	* generated/shape_i8.c:  Regenerated.
   2029 	* generated/shape_i16.c:  Regenerated.
   2030 
   2031 2008-01-27  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   2032 
   2033 	PR libfortran/34980
   2034 	* m4/shape.m4:  If return array is empty, return early.
   2035 	* generated/shape_i4.c:  Regenerated.
   2036 	* generated/shape_i8.c:  Regenerated.
   2037 	* generated/shape_i16.c:  Regenerated.
   2038 
   2039 2008-01-26  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   2040 
   2041 	PR libfofortran/34887
   2042 	* io/transfer.c (next_record_w): Always move to the farthest
   2043 	position when completing the record (also when we are
   2044 	processing a slash edit descriptor).
   2045 
   2046 2008-01-25  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   2047 
   2048 	PR libfortran/34876
   2049 	* io/transfer.c (write_buf): Handle case of zero sized array.
   2050 	(transfer_array): Set data pointer to NULL and size to zero.  Then
   2051 	make a data transfer and return.
   2052 	
   2053 2008-01-24  David Edelsohn  <edelsohn (a] gnu.org>
   2054 
   2055 	* configure: Regenerate.
   2056 
   2057 2008-01-19  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   2058 
   2059 	PR libfortran/34795
   2060 	* io/inquire.c (inquire_via_unit): If a unit is opened, return values
   2061 	according to the open action for DIRECT, FORMATTED, and	UNFORMATTED.
   2062 	(inquire_via_filename): Return "UNKNOWN" for SEQUENTIAL, DIRECT,
   2063 	FORAMATTED, and UNFORMATTED inquiries.
   2064 	* io/unix.c (inquire_sequential): Return "UNKNOWN" when appropriate
   2065 	for files that are not opened. (inquire_direct): Same.
   2066 	(inquire_formatted): Same.
   2067 	
   2068 2008-01-18  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   2069 
   2070 	PR libfortran/34782
   2071 	* io/transfer.c (formatted_transfer_scalar): Set max_pos to the greater
   2072 	of the current max_pos or the newly calculated position.
   2073 
   2074 2008-01-18  Tobias Burnus  <burnus (a] net-b.de>
   2075 
   2076 	* io/write.c (write_real): Increase default precision
   2077 	for REAL(16) by one.
   2078 
   2079 2008-01-16  Steven Bosscher  <steven (a] gcc.gnu.org>
   2080 
   2081 	PR libfortran/34669
   2082 	* mk-kinds-h.sh: Compile with -S to avoid calling the assembler,
   2083 	to avoid piping the -fdump-parse-tree output to the assembler
   2084 	when configuring with -pipe.
   2085 	* mk-sik-inc.sh: Likewise.
   2086 	* mk-srk-inc.sh: Likewise.
   2087 
   2088 2008-01-15  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   2089 
   2090 	PR libfortran/34671
   2091 	* gfortran.am: Added _gfortran_all_l1, _gfortran_all_l2,
   2092 	_gfortran_any_l1, _gfortran_any_l2, -28,15 _gfortran_count_1_l,
   2093 	_gfortran_count_16_l, _gfortran_count_2_l, _gfortran_count_4_l and
   2094 	_gfortran_count_8_l Removed _gfortran_count_16_l16,
   2095 	_gfortran_count_16_l4, _gfortran_count_16_l8,
   2096 	_gfortran_count_4_l16, _gfortran_count_4_l4, _gfortran_count_4_l8,
   2097 	_gfortran_count_8_l16, _gfortran_count_8_l4 and
   2098 	_gfortran_count_8_l8.
   2099 	* Makefile.am: Added generated/any_l1.c and generated/any_l2.c to
   2100 	i_any_c.  Added generated/all_l1. and generated/all_l2.c to
   2101 	i_all_c.  Removed generated/count_4_l4.c, generated/count_8_l4.c,
   2102 	generated/count_16_l4.c, generated/count_4_l8.c,
   2103 	generated/count_8_l8.c, generated/count_16_l8.c,
   2104 	generated/count_4_l16.c, generated/count_8_l16.c, and
   2105 	generated/count_16_l16.c from i_count_c.  Added count_1_l.c,
   2106 	count_2_l.c, count_4_l.c, count_8_l.c and count_16_l.c to
   2107 	i_count_c.  I_M4_DEPS2 depends on ifunction_logical.m4, for
   2108 	any of the files generated from all.m4, any.m4 and count.m4.
   2109 	* Makefile.in:  Regenerated.
   2110 	* m4/ifunction_logical.m4:  New file.  Use
   2111 	GFC_LOGICAL_1 pointer for access to source arrays.
   2112 	* m4/any.m4:  Include ifunction_logical.m4 instead of
   2113 	ifunction.m4.  Don't check atype_name.
   2114 	* m4/all.m4:  Likewise.
   2115 	* m4/count.m4:  Likewise.
   2116 	* generated/any_l1.c:  New file.
   2117 	* generated/any_l2.c:  New file.
   2118 	* generated/all_l1.c:  New file.
   2119 	* generated/count_1_l.c:  New file.
   2120 	* generated/count_2_l.c:  New file.
   2121 	* generated/count_4_l.c:  New file.
   2122 	* generated/count_8_l.c:  New file.
   2123 	* generated/count_16_l.c:  New file.
   2124 	* generated/any_l4.c:  Regenerated.
   2125 	* generated/any_l8.c:  Regenerated.
   2126 	* generated/any_l16.c:  Regenerated.
   2127 	* generated/all_l4.c: Regenerated.
   2128 	* generated/all_l8.c: Regenerated.
   2129 	* generated/all_l16.c: Regenerated.
   2130 	* generated/count_4_l4.c:  Removed.
   2131 	* generated/count_4_l8.c:  Removed.
   2132 	* generated/count_4_l16.c:  Removed.
   2133 	* generated/count_8_l4.c:  Removed.
   2134 	* generated/count_8_l8.c:  Removed.
   2135 	* generated/count_8_l16.c:  Removed.
   2136 	* generated/count_16_l4.c:  Removed.
   2137 	* generated/count_16_l8.c:  Removed.
   2138 	* generated/count_16_l16.c:  Removed.
   2139 
   2140 2008-01-13  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   2141 
   2142 	PR libfortran/34746
   2143 	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Use %ld
   2144 	in printf format for all bounds checking; cast all
   2145 	integer-like arguments to runtime_error() to long int.
   2146 	(`m'name`'rtype_qual`_'atype_code):  Likewise.
   2147 	(`s'name`'rtype_qual`_'atype_code):  Likewise.
   2148 	* m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
   2149 	(`m'name`'rtype_qual`_'atype_code):  Likewise.
   2150 	(`s'name`'rtype_qual`_'atype_code):  Likewise.
   2151 	* generated/all_l16.c: Regenerated.
   2152 	* generated/all_l4.c: Regenerated.
   2153 	* generated/all_l8.c: Regenerated.
   2154 	* generated/any_l16.c: Regenerated.
   2155 	* generated/any_l4.c: Regenerated.
   2156 	* generated/any_l8.c: Regenerated.
   2157 	* generated/count_16_l16.c: Regenerated.
   2158 	* generated/count_16_l4.c: Regenerated.
   2159 	* generated/count_16_l8.c: Regenerated.
   2160 	* generated/count_4_l16.c: Regenerated.
   2161 	* generated/count_4_l4.c: Regenerated.
   2162 	* generated/count_4_l8.c: Regenerated.
   2163 	* generated/count_8_l16.c: Regenerated.
   2164 	* generated/count_8_l4.c: Regenerated.
   2165 	* generated/count_8_l8.c: Regenerated.
   2166 	* generated/maxloc0_16_i1.c: Regenerated.
   2167 	* generated/maxloc0_16_i16.c: Regenerated.
   2168 	* generated/maxloc0_16_i2.c: Regenerated.
   2169 	* generated/maxloc0_16_i4.c: Regenerated.
   2170 	* generated/maxloc0_16_i8.c: Regenerated.
   2171 	* generated/maxloc0_16_r10.c: Regenerated.
   2172 	* generated/maxloc0_16_r16.c: Regenerated.
   2173 	* generated/maxloc0_16_r4.c: Regenerated.
   2174 	* generated/maxloc0_16_r8.c: Regenerated.
   2175 	* generated/maxloc0_4_i1.c: Regenerated.
   2176 	* generated/maxloc0_4_i16.c: Regenerated.
   2177 	* generated/maxloc0_4_i2.c: Regenerated.
   2178 	* generated/maxloc0_4_i4.c: Regenerated.
   2179 	* generated/maxloc0_4_i8.c: Regenerated.
   2180 	* generated/maxloc0_4_r10.c: Regenerated.
   2181 	* generated/maxloc0_4_r16.c: Regenerated.
   2182 	* generated/maxloc0_4_r4.c: Regenerated.
   2183 	* generated/maxloc0_4_r8.c: Regenerated.
   2184 	* generated/maxloc0_8_i1.c: Regenerated.
   2185 	* generated/maxloc0_8_i16.c: Regenerated.
   2186 	* generated/maxloc0_8_i2.c: Regenerated.
   2187 	* generated/maxloc0_8_i4.c: Regenerated.
   2188 	* generated/maxloc0_8_i8.c: Regenerated.
   2189 	* generated/maxloc0_8_r10.c: Regenerated.
   2190 	* generated/maxloc0_8_r16.c: Regenerated.
   2191 	* generated/maxloc0_8_r4.c: Regenerated.
   2192 	* generated/maxloc0_8_r8.c: Regenerated.
   2193 	* generated/maxloc1_16_i1.c: Regenerated.
   2194 	* generated/maxloc1_16_i16.c: Regenerated.
   2195 	* generated/maxloc1_16_i2.c: Regenerated.
   2196 	* generated/maxloc1_16_i4.c: Regenerated.
   2197 	* generated/maxloc1_16_i8.c: Regenerated.
   2198 	* generated/maxloc1_16_r10.c: Regenerated.
   2199 	* generated/maxloc1_16_r16.c: Regenerated.
   2200 	* generated/maxloc1_16_r4.c: Regenerated.
   2201 	* generated/maxloc1_16_r8.c: Regenerated.
   2202 	* generated/maxloc1_4_i1.c: Regenerated.
   2203 	* generated/maxloc1_4_i16.c: Regenerated.
   2204 	* generated/maxloc1_4_i2.c: Regenerated.
   2205 	* generated/maxloc1_4_i4.c: Regenerated.
   2206 	* generated/maxloc1_4_i8.c: Regenerated.
   2207 	* generated/maxloc1_4_r10.c: Regenerated.
   2208 	* generated/maxloc1_4_r16.c: Regenerated.
   2209 	* generated/maxloc1_4_r4.c: Regenerated.
   2210 	* generated/maxloc1_4_r8.c: Regenerated.
   2211 	* generated/maxloc1_8_i1.c: Regenerated.
   2212 	* generated/maxloc1_8_i16.c: Regenerated.
   2213 	* generated/maxloc1_8_i2.c: Regenerated.
   2214 	* generated/maxloc1_8_i4.c: Regenerated.
   2215 	* generated/maxloc1_8_i8.c: Regenerated.
   2216 	* generated/maxloc1_8_r10.c: Regenerated.
   2217 	* generated/maxloc1_8_r16.c: Regenerated.
   2218 	* generated/maxloc1_8_r4.c: Regenerated.
   2219 	* generated/maxloc1_8_r8.c: Regenerated.
   2220 	* generated/maxval_i1.c: Regenerated.
   2221 	* generated/maxval_i16.c: Regenerated.
   2222 	* generated/maxval_i2.c: Regenerated.
   2223 	* generated/maxval_i4.c: Regenerated.
   2224 	* generated/maxval_i8.c: Regenerated.
   2225 	* generated/maxval_r10.c: Regenerated.
   2226 	* generated/maxval_r16.c: Regenerated.
   2227 	* generated/maxval_r4.c: Regenerated.
   2228 	* generated/maxval_r8.c: Regenerated.
   2229 	* generated/minloc0_16_i1.c: Regenerated.
   2230 	* generated/minloc0_16_i16.c: Regenerated.
   2231 	* generated/minloc0_16_i2.c: Regenerated.
   2232 	* generated/minloc0_16_i4.c: Regenerated.
   2233 	* generated/minloc0_16_i8.c: Regenerated.
   2234 	* generated/minloc0_16_r10.c: Regenerated.
   2235 	* generated/minloc0_16_r16.c: Regenerated.
   2236 	* generated/minloc0_16_r4.c: Regenerated.
   2237 	* generated/minloc0_16_r8.c: Regenerated.
   2238 	* generated/minloc0_4_i1.c: Regenerated.
   2239 	* generated/minloc0_4_i16.c: Regenerated.
   2240 	* generated/minloc0_4_i2.c: Regenerated.
   2241 	* generated/minloc0_4_i4.c: Regenerated.
   2242 	* generated/minloc0_4_i8.c: Regenerated.
   2243 	* generated/minloc0_4_r10.c: Regenerated.
   2244 	* generated/minloc0_4_r16.c: Regenerated.
   2245 	* generated/minloc0_4_r4.c: Regenerated.
   2246 	* generated/minloc0_4_r8.c: Regenerated.
   2247 	* generated/minloc0_8_i1.c: Regenerated.
   2248 	* generated/minloc0_8_i16.c: Regenerated.
   2249 	* generated/minloc0_8_i2.c: Regenerated.
   2250 	* generated/minloc0_8_i4.c: Regenerated.
   2251 	* generated/minloc0_8_i8.c: Regenerated.
   2252 	* generated/minloc0_8_r10.c: Regenerated.
   2253 	* generated/minloc0_8_r16.c: Regenerated.
   2254 	* generated/minloc0_8_r4.c: Regenerated.
   2255 	* generated/minloc0_8_r8.c: Regenerated.
   2256 	* generated/minloc1_16_i1.c: Regenerated.
   2257 	* generated/minloc1_16_i16.c: Regenerated.
   2258 	* generated/minloc1_16_i2.c: Regenerated.
   2259 	* generated/minloc1_16_i4.c: Regenerated.
   2260 	* generated/minloc1_16_i8.c: Regenerated.
   2261 	* generated/minloc1_16_r10.c: Regenerated.
   2262 	* generated/minloc1_16_r16.c: Regenerated.
   2263 	* generated/minloc1_16_r4.c: Regenerated.
   2264 	* generated/minloc1_16_r8.c: Regenerated.
   2265 	* generated/minloc1_4_i1.c: Regenerated.
   2266 	* generated/minloc1_4_i16.c: Regenerated.
   2267 	* generated/minloc1_4_i2.c: Regenerated.
   2268 	* generated/minloc1_4_i4.c: Regenerated.
   2269 	* generated/minloc1_4_i8.c: Regenerated.
   2270 	* generated/minloc1_4_r10.c: Regenerated.
   2271 	* generated/minloc1_4_r16.c: Regenerated.
   2272 	* generated/minloc1_4_r4.c: Regenerated.
   2273 	* generated/minloc1_4_r8.c: Regenerated.
   2274 	* generated/minloc1_8_i1.c: Regenerated.
   2275 	* generated/minloc1_8_i16.c: Regenerated.
   2276 	* generated/minloc1_8_i2.c: Regenerated.
   2277 	* generated/minloc1_8_i4.c: Regenerated.
   2278 	* generated/minloc1_8_i8.c: Regenerated.
   2279 	* generated/minloc1_8_r10.c: Regenerated.
   2280 	* generated/minloc1_8_r16.c: Regenerated.
   2281 	* generated/minloc1_8_r4.c: Regenerated.
   2282 	* generated/minloc1_8_r8.c: Regenerated.
   2283 	* generated/minval_i1.c: Regenerated.
   2284 	* generated/minval_i16.c: Regenerated.
   2285 	* generated/minval_i2.c: Regenerated.
   2286 	* generated/minval_i4.c: Regenerated.
   2287 	* generated/minval_i8.c: Regenerated.
   2288 	* generated/minval_r10.c: Regenerated.
   2289 	* generated/minval_r16.c: Regenerated.
   2290 	* generated/minval_r4.c: Regenerated.
   2291 	* generated/minval_r8.c: Regenerated.
   2292 	* generated/product_c10.c: Regenerated.
   2293 	* generated/product_c16.c: Regenerated.
   2294 	* generated/product_c4.c: Regenerated.
   2295 	* generated/product_c8.c: Regenerated.
   2296 	* generated/product_i1.c: Regenerated.
   2297 	* generated/product_i16.c: Regenerated.
   2298 	* generated/product_i2.c: Regenerated.
   2299 	* generated/product_i4.c: Regenerated.
   2300 	* generated/product_i8.c: Regenerated.
   2301 	* generated/product_r10.c: Regenerated.
   2302 	* generated/product_r16.c: Regenerated.
   2303 	* generated/product_r4.c: Regenerated.
   2304 	* generated/product_r8.c: Regenerated.
   2305 	* generated/sum_c10.c: Regenerated.
   2306 	* generated/sum_c16.c: Regenerated.
   2307 	* generated/sum_c4.c: Regenerated.
   2308 	* generated/sum_c8.c: Regenerated.
   2309 	* generated/sum_i1.c: Regenerated.
   2310 	* generated/sum_i16.c: Regenerated.
   2311 	* generated/sum_i2.c: Regenerated.
   2312 	* generated/sum_i4.c: Regenerated.
   2313 	* generated/sum_i8.c: Regenerated.
   2314 	* generated/sum_r10.c: Regenerated.
   2315 	* generated/sum_r16.c: Regenerated.
   2316 	* generated/sum_r4.c: Regenerated.
   2317 	* generated/sum_r8.c: Regenerated.
   2318 
   2319 2008-01-11  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   2320 
   2321 	PR libfortran/34670
   2322 	* m4/iparm.m4 (upcase):  New macro (copied from the m4 manual).
   2323 	(u_name):  New macro for the upper case name of the intrinsic.
   2324 	* m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Add
   2325 	bounds checking and rank check, depending on
   2326 	compile_options.bounds_check.
   2327 	(`m'name`'rtype_qual`_'atype_code):  Likewise.
   2328 	(`s'name`'rtype_qual`_'atype_code):  Likewise.
   2329 	* m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Add
   2330 	bounds checking and rank check, depending on
   2331 	compile_options.bounds_check.
   2332 	(`m'name`'rtype_qual`_'atype_code):  Likewise.
   2333 	(`s'name`'rtype_qual`_'atype_code):  Likewise.
   2334 	* generated/all_l16.c: Regenerated.
   2335 	* generated/all_l4.c: Regenerated.
   2336 	* generated/all_l8.c: Regenerated.
   2337 	* generated/any_l16.c: Regenerated.
   2338 	* generated/any_l4.c: Regenerated.
   2339 	* generated/any_l8.c: Regenerated.
   2340 	* generated/count_16_l16.c: Regenerated.
   2341 	* generated/count_16_l4.c: Regenerated.
   2342 	* generated/count_16_l8.c: Regenerated.
   2343 	* generated/count_4_l16.c: Regenerated.
   2344 	* generated/count_4_l4.c: Regenerated.
   2345 	* generated/count_4_l8.c: Regenerated.
   2346 	* generated/count_8_l16.c: Regenerated.
   2347 	* generated/count_8_l4.c: Regenerated.
   2348 	* generated/count_8_l8.c: Regenerated.
   2349 	* generated/maxloc0_16_i1.c: Regenerated.
   2350 	* generated/maxloc0_16_i16.c: Regenerated.
   2351 	* generated/maxloc0_16_i2.c: Regenerated.
   2352 	* generated/maxloc0_16_i4.c: Regenerated.
   2353 	* generated/maxloc0_16_i8.c: Regenerated.
   2354 	* generated/maxloc0_16_r10.c: Regenerated.
   2355 	* generated/maxloc0_16_r16.c: Regenerated.
   2356 	* generated/maxloc0_16_r4.c: Regenerated.
   2357 	* generated/maxloc0_16_r8.c: Regenerated.
   2358 	* generated/maxloc0_4_i1.c: Regenerated.
   2359 	* generated/maxloc0_4_i16.c: Regenerated.
   2360 	* generated/maxloc0_4_i2.c: Regenerated.
   2361 	* generated/maxloc0_4_i4.c: Regenerated.
   2362 	* generated/maxloc0_4_i8.c: Regenerated.
   2363 	* generated/maxloc0_4_r10.c: Regenerated.
   2364 	* generated/maxloc0_4_r16.c: Regenerated.
   2365 	* generated/maxloc0_4_r4.c: Regenerated.
   2366 	* generated/maxloc0_4_r8.c: Regenerated.
   2367 	* generated/maxloc0_8_i1.c: Regenerated.
   2368 	* generated/maxloc0_8_i16.c: Regenerated.
   2369 	* generated/maxloc0_8_i2.c: Regenerated.
   2370 	* generated/maxloc0_8_i4.c: Regenerated.
   2371 	* generated/maxloc0_8_i8.c: Regenerated.
   2372 	* generated/maxloc0_8_r10.c: Regenerated.
   2373 	* generated/maxloc0_8_r16.c: Regenerated.
   2374 	* generated/maxloc0_8_r4.c: Regenerated.
   2375 	* generated/maxloc0_8_r8.c: Regenerated.
   2376 	* generated/maxloc1_16_i1.c: Regenerated.
   2377 	* generated/maxloc1_16_i16.c: Regenerated.
   2378 	* generated/maxloc1_16_i2.c: Regenerated.
   2379 	* generated/maxloc1_16_i4.c: Regenerated.
   2380 	* generated/maxloc1_16_i8.c: Regenerated.
   2381 	* generated/maxloc1_16_r10.c: Regenerated.
   2382 	* generated/maxloc1_16_r16.c: Regenerated.
   2383 	* generated/maxloc1_16_r4.c: Regenerated.
   2384 	* generated/maxloc1_16_r8.c: Regenerated.
   2385 	* generated/maxloc1_4_i1.c: Regenerated.
   2386 	* generated/maxloc1_4_i16.c: Regenerated.
   2387 	* generated/maxloc1_4_i2.c: Regenerated.
   2388 	* generated/maxloc1_4_i4.c: Regenerated.
   2389 	* generated/maxloc1_4_i8.c: Regenerated.
   2390 	* generated/maxloc1_4_r10.c: Regenerated.
   2391 	* generated/maxloc1_4_r16.c: Regenerated.
   2392 	* generated/maxloc1_4_r4.c: Regenerated.
   2393 	* generated/maxloc1_4_r8.c: Regenerated.
   2394 	* generated/maxloc1_8_i1.c: Regenerated.
   2395 	* generated/maxloc1_8_i16.c: Regenerated.
   2396 	* generated/maxloc1_8_i2.c: Regenerated.
   2397 	* generated/maxloc1_8_i4.c: Regenerated.
   2398 	* generated/maxloc1_8_i8.c: Regenerated.
   2399 	* generated/maxloc1_8_r10.c: Regenerated.
   2400 	* generated/maxloc1_8_r16.c: Regenerated.
   2401 	* generated/maxloc1_8_r4.c: Regenerated.
   2402 	* generated/maxloc1_8_r8.c: Regenerated.
   2403 	* generated/maxval_i1.c: Regenerated.
   2404 	* generated/maxval_i16.c: Regenerated.
   2405 	* generated/maxval_i2.c: Regenerated.
   2406 	* generated/maxval_i4.c: Regenerated.
   2407 	* generated/maxval_i8.c: Regenerated.
   2408 	* generated/maxval_r10.c: Regenerated.
   2409 	* generated/maxval_r16.c: Regenerated.
   2410 	* generated/maxval_r4.c: Regenerated.
   2411 	* generated/maxval_r8.c: Regenerated.
   2412 	* generated/minloc0_16_i1.c: Regenerated.
   2413 	* generated/minloc0_16_i16.c: Regenerated.
   2414 	* generated/minloc0_16_i2.c: Regenerated.
   2415 	* generated/minloc0_16_i4.c: Regenerated.
   2416 	* generated/minloc0_16_i8.c: Regenerated.
   2417 	* generated/minloc0_16_r10.c: Regenerated.
   2418 	* generated/minloc0_16_r16.c: Regenerated.
   2419 	* generated/minloc0_16_r4.c: Regenerated.
   2420 	* generated/minloc0_16_r8.c: Regenerated.
   2421 	* generated/minloc0_4_i1.c: Regenerated.
   2422 	* generated/minloc0_4_i16.c: Regenerated.
   2423 	* generated/minloc0_4_i2.c: Regenerated.
   2424 	* generated/minloc0_4_i4.c: Regenerated.
   2425 	* generated/minloc0_4_i8.c: Regenerated.
   2426 	* generated/minloc0_4_r10.c: Regenerated.
   2427 	* generated/minloc0_4_r16.c: Regenerated.
   2428 	* generated/minloc0_4_r4.c: Regenerated.
   2429 	* generated/minloc0_4_r8.c: Regenerated.
   2430 	* generated/minloc0_8_i1.c: Regenerated.
   2431 	* generated/minloc0_8_i16.c: Regenerated.
   2432 	* generated/minloc0_8_i2.c: Regenerated.
   2433 	* generated/minloc0_8_i4.c: Regenerated.
   2434 	* generated/minloc0_8_i8.c: Regenerated.
   2435 	* generated/minloc0_8_r10.c: Regenerated.
   2436 	* generated/minloc0_8_r16.c: Regenerated.
   2437 	* generated/minloc0_8_r4.c: Regenerated.
   2438 	* generated/minloc0_8_r8.c: Regenerated.
   2439 	* generated/minloc1_16_i1.c: Regenerated.
   2440 	* generated/minloc1_16_i16.c: Regenerated.
   2441 	* generated/minloc1_16_i2.c: Regenerated.
   2442 	* generated/minloc1_16_i4.c: Regenerated.
   2443 	* generated/minloc1_16_i8.c: Regenerated.
   2444 	* generated/minloc1_16_r10.c: Regenerated.
   2445 	* generated/minloc1_16_r16.c: Regenerated.
   2446 	* generated/minloc1_16_r4.c: Regenerated.
   2447 	* generated/minloc1_16_r8.c: Regenerated.
   2448 	* generated/minloc1_4_i1.c: Regenerated.
   2449 	* generated/minloc1_4_i16.c: Regenerated.
   2450 	* generated/minloc1_4_i2.c: Regenerated.
   2451 	* generated/minloc1_4_i4.c: Regenerated.
   2452 	* generated/minloc1_4_i8.c: Regenerated.
   2453 	* generated/minloc1_4_r10.c: Regenerated.
   2454 	* generated/minloc1_4_r16.c: Regenerated.
   2455 	* generated/minloc1_4_r4.c: Regenerated.
   2456 	* generated/minloc1_4_r8.c: Regenerated.
   2457 	* generated/minloc1_8_i1.c: Regenerated.
   2458 	* generated/minloc1_8_i16.c: Regenerated.
   2459 	* generated/minloc1_8_i2.c: Regenerated.
   2460 	* generated/minloc1_8_i4.c: Regenerated.
   2461 	* generated/minloc1_8_i8.c: Regenerated.
   2462 	* generated/minloc1_8_r10.c: Regenerated.
   2463 	* generated/minloc1_8_r16.c: Regenerated.
   2464 	* generated/minloc1_8_r4.c: Regenerated.
   2465 	* generated/minloc1_8_r8.c: Regenerated.
   2466 	* generated/minval_i1.c: Regenerated.
   2467 	* generated/minval_i16.c: Regenerated.
   2468 	* generated/minval_i2.c: Regenerated.
   2469 	* generated/minval_i4.c: Regenerated.
   2470 	* generated/minval_i8.c: Regenerated.
   2471 	* generated/minval_r10.c: Regenerated.
   2472 	* generated/minval_r16.c: Regenerated.
   2473 	* generated/minval_r4.c: Regenerated.
   2474 	* generated/minval_r8.c: Regenerated.
   2475 	* generated/product_c10.c: Regenerated.
   2476 	* generated/product_c16.c: Regenerated.
   2477 	* generated/product_c4.c: Regenerated.
   2478 	* generated/product_c8.c: Regenerated.
   2479 	* generated/product_i1.c: Regenerated.
   2480 	* generated/product_i16.c: Regenerated.
   2481 	* generated/product_i2.c: Regenerated.
   2482 	* generated/product_i4.c: Regenerated.
   2483 	* generated/product_i8.c: Regenerated.
   2484 	* generated/product_r10.c: Regenerated.
   2485 	* generated/product_r16.c: Regenerated.
   2486 	* generated/product_r4.c: Regenerated.
   2487 	* generated/product_r8.c: Regenerated.
   2488 	* generated/sum_c10.c: Regenerated.
   2489 	* generated/sum_c16.c: Regenerated.
   2490 	* generated/sum_c4.c: Regenerated.
   2491 	* generated/sum_c8.c: Regenerated.
   2492 	* generated/sum_i1.c: Regenerated.
   2493 	* generated/sum_i16.c: Regenerated.
   2494 	* generated/sum_i2.c: Regenerated.
   2495 	* generated/sum_i4.c: Regenerated.
   2496 	* generated/sum_i8.c: Regenerated.
   2497 	* generated/sum_r10.c: Regenerated.
   2498 	* generated/sum_r16.c: Regenerated.
   2499 	* generated/sum_r4.c: Regenerated.
   2500 	* generated/sum_r8.c: Regenerated.
   2501 
   2502 2008-01-05  Jerry DeLisle  <jvdelisle (a] gcc.gnu.org>
   2503 
   2504 	PR libfortran/34676
   2505 	* io/list_read.c (next_char): Only save the EOF condition for later if
   2506 	advance="no".
   2507 
   2508 2008-01-03  Thomas Koenig  <tkoenig (a] gcc.gnu.org>
   2509 
   2510 	PR libfortran/34565
   2511 	* io/io.h:  Adjust protoypes for open_internal(),
   2512 	next_array_record() and init_loop_spec().
   2513 	* io/list_read.c (next_char):  Use argument "finished"
   2514 	of next_array_record to check for end on internal file.
   2515 	* io/unit.c:  Calculate the offset for an array
   2516 	internal file and supply this informatin to open_internal().
   2517 	* io/unix.c (open_internal):  Set the offset for the internal
   2518 	file on open.
   2519 	* io/transfer.c (init_loop_spec):  Calculate the starting
   2520 	record in case of negative strides.  Return size of 0 for
   2521 	an empty array.
   2522 	(next_array_record):  Use an extra flag to signal that the
   2523 	array is finished.
   2524 	(next_record_r):  Use the new flag to next_array_record().
   2525 	(next_record_w):  Likewise.
   2526 
   2527 
   2529 Copyright (C) 2008 Free Software Foundation, Inc.
   2530 
   2531 Copying and distribution of this file, with or without modification,
   2532 are permitted in any medium without royalty provided the copyright
   2533 notice and this notice are preserved.
   2534