OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgfortran/] [ChangeLog-2009] - Blame information for rev 770

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 733 jeremybenn
2009-12-19  Janne Blomqvist  
2
 
3
        * intrinsics/system_clock.c: Fix library name in comment, move TCK
4
        definition into functions.
5
        (system_clock_4): Remove unused struct timezone.
6
        (system_clock_8): Remove unused struct timezone, increase TCK.
7
 
8
2009-12-08  Tobias Burnus  
9
 
10
        PR fortran/41711
11
        * io/read.c (set_integer): Support kind=10 for reading
12
        real/complex BOZ.
13
 
14
2009-12-06  Janus Weil  
15
 
16
        PR fortran/41478
17
        PR fortran/42268
18
        * intrinsics/pack_generic.c (pack): Add safety checks for the case that
19
        'vector' is NULL.
20
 
21
2009-12-05  Ralf Wildenhues  
22
 
23
        * Makefile.in: Regenerate.
24
        * configure: Regenerate.
25
 
26
2009-12-04  Janne Blomqvist  
27
 
28
        PR libfortran/40812
29
        * libgfortran.h: typedef gfc_offset differently for MinGW.
30
        * io/unix.h (struct stream): Change function pointers to use
31
        gfc_offset instead of off_t.
32
        (sseek): Change prototype to use gfc_offset instead of off_t.
33
        (stell): Likewise.
34
        (struncate): Likewise.
35
        * io/unix.c: Redefine lseek() for mingw.
36
        (raw_seek): Use gfc_offset instead of off_t.
37
        (raw_tell): Likewise.
38
        (buf_seek): Likewise.
39
        (buf_tell): Likewise.
40
        (buf_truncate): Likewise.
41
        (mem_seek): Likewise.
42
        (mem_tell): Likewise.
43
        (mem_truncate): Likewise.
44
        (fd_to_stream): Likewise.
45
        (file_length): Likewise.
46
        (raw_truncate): Use gfc_offset instead of off_t, add large file
47
        capable implementation for MinGW.
48
 
49
2009-11-30  Janus Weil  
50
 
51
        * gfortran.map: Add _gfortran_is_extension_of.
52
        * Makefile.am: Add intrinsics/extends_type_of.c.
53
        * Makefile.in: Regenerated.
54
        * intrinsics/extends_type_of.c: New file.
55
 
56
2009-11-30  Kai Tietz  
57
 
58
        * io/unix.c (find_file): Add variable id conditionally for
59
        mingw targets.
60
 
61
2009-11-28  Jakub Jelinek  
62
 
63
        * intrinsics/pack_generic.c (pack_internal): Remove unused
64
        zero_sized variable.
65
        * intrinsics/unpack_generic.c (unpack0): Remove unused size
66
        variable.
67
        * io/write.c (namelist_write_newline): Remove unused length
68
        variable.
69
        * io/unix.c (find_file): Remove unused id variable.
70
        * m4/ifunction.m4 (SCALAR_ARRAY_FUNCTION): Remove unused sstride
71
        variable.
72
        * generated/maxloc1_16_i1.c: Regenerated.
73
        * generated/maxloc1_16_i16.c: Regenerated.
74
        * generated/maxloc1_16_i2.c: Regenerated.
75
        * generated/maxloc1_16_i4.c: Regenerated.
76
        * generated/maxloc1_16_i8.c: Regenerated.
77
        * generated/maxloc1_16_r10.c: Regenerated.
78
        * generated/maxloc1_16_r16.c: Regenerated.
79
        * generated/maxloc1_16_r4.c: Regenerated.
80
        * generated/maxloc1_16_r8.c: Regenerated.
81
        * generated/maxloc1_4_i1.c: Regenerated.
82
        * generated/maxloc1_4_i16.c: Regenerated.
83
        * generated/maxloc1_4_i2.c: Regenerated.
84
        * generated/maxloc1_4_i4.c: Regenerated.
85
        * generated/maxloc1_4_i8.c: Regenerated.
86
        * generated/maxloc1_4_r10.c: Regenerated.
87
        * generated/maxloc1_4_r16.c: Regenerated.
88
        * generated/maxloc1_4_r4.c: Regenerated.
89
        * generated/maxloc1_4_r8.c: Regenerated.
90
        * generated/maxloc1_8_i1.c: Regenerated.
91
        * generated/maxloc1_8_i16.c: Regenerated.
92
        * generated/maxloc1_8_i2.c: Regenerated.
93
        * generated/maxloc1_8_i4.c: Regenerated.
94
        * generated/maxloc1_8_i8.c: Regenerated.
95
        * generated/maxloc1_8_r10.c: Regenerated.
96
        * generated/maxloc1_8_r16.c: Regenerated.
97
        * generated/maxloc1_8_r4.c: Regenerated.
98
        * generated/maxloc1_8_r8.c: Regenerated.
99
        * generated/maxval_i1.c: Regenerated.
100
        * generated/maxval_i16.c: Regenerated.
101
        * generated/maxval_i2.c: Regenerated.
102
        * generated/maxval_i4.c: Regenerated.
103
        * generated/maxval_i8.c: Regenerated.
104
        * generated/maxval_r10.c: Regenerated.
105
        * generated/maxval_r16.c: Regenerated.
106
        * generated/maxval_r4.c: Regenerated.
107
        * generated/maxval_r8.c: Regenerated.
108
        * generated/minloc1_16_i1.c: Regenerated.
109
        * generated/minloc1_16_i16.c: Regenerated.
110
        * generated/minloc1_16_i2.c: Regenerated.
111
        * generated/minloc1_16_i4.c: Regenerated.
112
        * generated/minloc1_16_i8.c: Regenerated.
113
        * generated/minloc1_16_r10.c: Regenerated.
114
        * generated/minloc1_16_r16.c: Regenerated.
115
        * generated/minloc1_16_r4.c: Regenerated.
116
        * generated/minloc1_16_r8.c: Regenerated.
117
        * generated/minloc1_4_i1.c: Regenerated.
118
        * generated/minloc1_4_i16.c: Regenerated.
119
        * generated/minloc1_4_i2.c: Regenerated.
120
        * generated/minloc1_4_i4.c: Regenerated.
121
        * generated/minloc1_4_i8.c: Regenerated.
122
        * generated/minloc1_4_r10.c: Regenerated.
123
        * generated/minloc1_4_r16.c: Regenerated.
124
        * generated/minloc1_4_r4.c: Regenerated.
125
        * generated/minloc1_4_r8.c: Regenerated.
126
        * generated/minloc1_8_i1.c: Regenerated.
127
        * generated/minloc1_8_i16.c: Regenerated.
128
        * generated/minloc1_8_i2.c: Regenerated.
129
        * generated/minloc1_8_i4.c: Regenerated.
130
        * generated/minloc1_8_i8.c: Regenerated.
131
        * generated/minloc1_8_r10.c: Regenerated.
132
        * generated/minloc1_8_r16.c: Regenerated.
133
        * generated/minloc1_8_r4.c: Regenerated.
134
        * generated/minloc1_8_r8.c: Regenerated.
135
        * generated/minval_i1.c: Regenerated.
136
        * generated/minval_i16.c: Regenerated.
137
        * generated/minval_i2.c: Regenerated.
138
        * generated/minval_i4.c: Regenerated.
139
        * generated/minval_i8.c: Regenerated.
140
        * generated/minval_r10.c: Regenerated.
141
        * generated/minval_r16.c: Regenerated.
142
        * generated/minval_r4.c: Regenerated.
143
        * generated/minval_r8.c: Regenerated.
144
        * generated/product_c10.c: Regenerated.
145
        * generated/product_c16.c: Regenerated.
146
        * generated/product_c4.c: Regenerated.
147
        * generated/product_c8.c: Regenerated.
148
        * generated/product_i1.c: Regenerated.
149
        * generated/product_i16.c: Regenerated.
150
        * generated/product_i2.c: Regenerated.
151
        * generated/product_i4.c: Regenerated.
152
        * generated/product_i8.c: Regenerated.
153
        * generated/product_r10.c: Regenerated.
154
        * generated/product_r16.c: Regenerated.
155
        * generated/product_r4.c: Regenerated.
156
        * generated/product_r8.c: Regenerated.
157
        * generated/sum_c10.c: Regenerated.
158
        * generated/sum_c16.c: Regenerated.
159
        * generated/sum_c4.c: Regenerated.
160
        * generated/sum_c8.c: Regenerated.
161
        * generated/sum_i1.c: Regenerated.
162
        * generated/sum_i16.c: Regenerated.
163
        * generated/sum_i2.c: Regenerated.
164
        * generated/sum_i4.c: Regenerated.
165
        * generated/sum_i8.c: Regenerated.
166
        * generated/sum_r10.c: Regenerated.
167
        * generated/sum_r16.c: Regenerated.
168
        * generated/sum_r4.c: Regenerated.
169
        * generated/sum_r8.c: Regenerated.
170
 
171
2009-11-19  Janne Blomqvist  
172
 
173
        * io/fbuf.h: Move includes after include guard.
174
        * io/format.h: Likewise.
175
        * io/unix.h: Likewise.
176
 
177
2009-11-18  Jerry DeLisle  
178
 
179
        PR libgfortran/42090
180
        * io/transfer.c (skip_record): Set bytes_left_subrecord to zero after
181
        skipping the remaining bytes in the record.
182
        (next_record_r): Call skip_record with the number of bytes_left to be
183
        skipped.
184
 
185
2009-11-02  Janne Blomqvist  
186
 
187
        * Makefile.am (gfor_io_headers): Add fbuf.h, format.h, unix.h.
188
        * Makefile.in: Regenerated.
189
        * io/fbuf.h: New file.
190
        * io/format.h: New file.
191
        * io/unix.h: New file.
192
        * io/io.h (struct stream): Move to unix.h, add forward declaration.
193
        (sread): Likewise.
194
        (swrite): Likewise.
195
        (sseek): Likewise.
196
        (stell): Likewise.
197
        (struncate): Likewise.
198
        (sflush): Likewise.
199
        (sflush): Likewise.
200
        (sclose): Likewise.
201
        (compared_files): Move prototype to unix.h.
202
        (open_external): Likewise.
203
        (open_internal): Likewise.
204
        (mem_alloc_w): Likewise.
205
        (mem_alloc_r): Likewise.
206
        (input_stream): Likewise.
207
        (output_stream): Likewise.
208
        (error_stream): Likewise.
209
        (compare_file_filename): Likewise.
210
        (find_file): Likewise.
211
        (delete_file): Likewise.
212
        (file_exists): Likewise.
213
        (inquire_sequential): Likewise.
214
        (inquire_direct): Likewise.
215
        (inquire_formatted): Likewise.
216
        (inquire_unformatted): Likewise.
217
        (inquire_read): Likewise.
218
        (inquire_write): Likewise.
219
        (inquire_readwrite): Likewise.
220
        (file_length): Likewise.
221
        (is_seekable): Likewise.
222
        (is_special): Likewise.
223
        (flush_if_preconnected): Likewise.
224
        (empty_internal_buffer): Likewise.
225
        (stream_isatty): Likewise.
226
        (stream_ttyname): Likewise.
227
        (unpack_filename): Likewise.
228
        (struct fbuf): Move to fbuf.h, add forward declaration.
229
        (fbuf_init): Move prototype to fbuf.h.
230
        (fbuf_destroy): Likewise.
231
        (fbuf_reset): Likewise.
232
        (fbuf_alloc): Likewise.
233
        (fbuf_flush): Likewise.
234
        (fbuf_seek): Likewise.
235
        (fbuf_read): Likewise.
236
        (fbuf_getc_refill): Likewise.
237
        (fbuf_getc): Move inline function to fbuf.h.
238
        (enum format_token): Move to format.h.
239
        (struct fnode): Move to format.h, add forward declaration.
240
        (parse_format): Move prototype to format.h.
241
        (next_format): Likewise.
242
        (unget_format): Likewise.
243
        (format_error): Likewise.
244
        (free_format_data): Likewise.
245
        (free_format_hash_table): Likewise.
246
        (init_format_hash): Likewise.
247
        (free_format_hash): Likewise.
248
        * io/close.c: Include unix.h.
249
        * io/fbuf.c: Include fbuf.h and unix.h.
250
        * io/file_pos.c: Include fbuf.h and unix.h.
251
        * io/format.c: Include format.h.
252
        * io/inquire.c: Include unix.h.
253
        * io/intrinsics.c: Include fbuf.h and unix.h.
254
        * io/list_read.c: Include fbuf.h and unix.h.
255
        * io/open.c: Include fbuf.h and unix.h.
256
        * io/read.c: Include format.h.
257
        * io/transfer.c: Include fbuf.h, format.h, and unix.h.
258
        * io/unit.c: Likewise.
259
        * io/unix.c: Include unix.h.
260
        * io/write.c: Include format.h and unix.h.
261
 
262
2009-10-31  Janne Blomqvist  
263
 
264
        PR libfortran/41219
265
        * intrinsics/unpack_generic.c (unpack_internal): Remove unused
266
        argument from prototype.
267
        (unpack1): Update unpack_internal call.
268
        (unpack1_char): Likewise.
269
        (unpack1_char4): Likewise.
270
        (unpack0): Likewise.
271
        (unpack0_char): Likewise.
272
        (unpack0_char4): Likewise.
273
        * intrinsics/iso_c_binding.c (c_f_pointer_u0): Get rid of
274
        uninitialized variable warning.
275
 
276
2009-10-29  Jerry DeLisle  
277
 
278
        PR libgfortran/41711
279
        * libgfortran.h: Define larger sizes for BOZ conversion buffers.
280
        * io/write.c (extract_uint): Include case where size is 10 if integer
281
        is large enough. (write_int): Rename to write_boz. (write_boz): Factor
282
        out extract_uint and delete the conversion function.
283
        (btoa_big): New binary conversion function.
284
        (otoa_big): New octal conversion function.
285
        (ztoa_big): New hexidecimal conversion function.
286
        (write_b): Modify to use new function.
287
        (write_o): Likewise.
288
        (write_z): Likewise.
289
 
290
2009-10-12  Jerry DeLisle  
291
 
292
        PR libgfortran/41683
293
        * io/format.c (parse_format_list): Allow a repeat specifier immediately
294
        after a P specifier.
295
 
296
2009-10-11  Jerry DeLisle  
297
 
298
        PR libgfortran/38439
299
        * io/format.c (parse_format_list): Correct logic for FMT_F reading vs
300
        writing. Code clean-up.
301
 
302
2009-10-11  Jerry DeLisle  
303
 
304
        PR libgfortran/38439
305
        * io/format.c (parse_format_list): Add check for tokens not allowed
306
        after P specifier. Fix comments.  Remove un-needed code. Fix the
307
        default exponent list. Correct pointer assignment error.
308
 
309
2009-10-05  Jerry DeLisle  
310
 
311
        PR libgfortran/35862
312
        * write_float.def (outout_float): Fix handling of special case where no
313
        digits after the decimal point and values less than 1.0. Adjust index
314
        into digits string. (WRITE_FLOAT): Remove special case code from macro.
315
 
316
2009-09-28  Jerry DeLisle  
317
 
318
        PR libgfortran/35862
319
        * io.h (gfc_unit): Add round_status.
320
        (format_token): Add enumerators for rounding format specifiers.
321
        * transfer.c (round_opt): New options table.
322
        (formatted_transfer_scalar_read): Add set round_status for each rounding
323
        format token. (formatted_transfer_scalar_write): Likewise.
324
        * format.c (format_lex): Tokenize the rounding format specifiers.
325
        (parse_format_list): Parse the rounding format specifiers.
326
        * write_float.def (outout_float): Modify rounding code to use new
327
        variable rchar to set the appropriate rounding. Fix some whitespace.
328
        * unit.c (get_internal_unit): Initialize rounding mode for internal
329
        units. (init_units): Likewise.
330
 
331
2009-09-19  Iain Sandoe  
332
 
333
        * configure.ac: Check for GFORTRAN_C99_1.1 funcs in OS libm.
334
        * configure: Regenerate.
335
        * config.h.in: Ditto.
336
 
337
2009-09-18  Jerry DeLisle  
338
 
339
        PR libgfortran/41328
340
        * io/transfer.c (read_sf): Set at_eof flag on short read if any
341
        characters were successfully read so that EOF condition with no EOR
342
        marker succeeds.
343
 
344
2009-09-12  Jerry DeLisle  
345
 
346
        PR libgfortran/41328
347
        * io/transfer.c (read_sf): Adjust fbuf position and do proper
348
        fbuf reads to traverse CR, CR-LF, and LF style line ends.
349
 
350
2009-09-12  Jerry DeLisle  
351
 
352
        PR libgfortran/41219
353
        * io/write.c (write_a_char4): Use correct type for crlf constant.
354
 
355
2009-09-11  Ralf Wildenhues  
356
 
357
        * Makefile.am (libgfortranbegin_la_LINK): New.
358
        * Makefile.in: Regenerate.
359
 
360
2009-09-09  Paolo Bonzini  
361
 
362
        * configure: Regenerate.
363
 
364
2009-09-08  Paolo Bonzini  
365
 
366
        * configure: Regenerate.
367
 
368
2009-09-07  Jerry DeLisle  
369
 
370
        PR libgfortran/41192
371
        * io/list_read.c (eat_line): Enable eat_line to function on
372
        internal units.
373
 
374
        PR libgfortran/41219
375
        * io/list_read.c (nml_read_obj): Replace GFC_DTYPE_UNKNOWN with
376
        BT_NULL to get rid of warning.
377
 
378
2009-09-04  Tobias Burnus  
379
 
380
        PR fortran/41219
381
        * intrinsics/getlog.c: Define _POSIX for MINGW32.
382
 
383
2009-09-03  Tobias Burnus  
384
 
385
        PR fortran/41219
386
        * intrinsics/iso_c_binding.c (c_f_pointer_u0): Move variable
387
        declaration out of the loop.
388
 
389
2009-08-30  Thomas Koenig  
390
 
391
        * m4/pack.m4 (pack_'rtype_code`): Use count_0 for counting true
392
        values in a logical array.  Mark bounds checking tests as
393
        unlikely.
394
        * intrinsics/pack_generic.c (pack_internal): Likewise.
395
        * runtime/bounds.c (count_0):  Fix off-by-one error in detecting
396
        empty arrays.
397
        * generated/pack_c4.c: Regenerated.
398
        * generated/pack_c8.c: Regenerated.
399
        * generated/pack_c10.c: Regenerated.
400
        * generated/pack_c16.c: Regenerated.
401
        * generated/pack_i1.c: Regenerated.
402
        * generated/pack_i16.c: Regenerated.
403
        * generated/pack_i2.c: Regenerated.
404
        * generated/pack_i4.c: Regenerated.
405
        * generated/pack_i8.c: Regenerated.
406
        * generated/pack_r4.c: Regenerated.
407
        * generated/pack_r8.c: Regenerated.
408
        * generated/pack_r10.c: Regenerated.
409
        * generated/pack_r16.c: Regenerated.
410
 
411
2009-08-25  Thomas Koenig  
412
 
413
        PR libfortran/34670
414
        * runtime/bounds.c (count_0):  New function.
415
        * intrinsics/unpack_generic (unpack_bounds):  New function.
416
        (unpack_internal):  Remove zero stride checks.
417
        (unpack1):  Use unpack_bounds.
418
        (unpack1_char):  Likeweise.
419
        (unpack1_char4):  Likewise
420
        (unpack0):  Likewise.
421
        (unpack0_char):  Likewise.
422
        (unpack0_char4):  Likewise.
423
 
424
2009-08-24  Steven G. Kargl  
425
 
426
        PR fortran/41157
427
        * dtime.c (dtime_sub): Fix computing time increment.
428
        * time_1.h: Add  header.  Use RUSAGE_SELF macro instead
429
        of a hardcoded 0.
430
 
431
2009-08-24  Ralf Wildenhues  
432
 
433
        * configure.ac (AC_PREREQ): Bump to 2.64.
434
 
435
2009-08-23  Steven G. Kargl  
436
 
437
        * intrinsics/cshift0.c: Update license to GPL3+exception.
438
        * runtime/fpu.c: Add a GPL3+exception statement.
439
 
440
2009-08-22  Ralf Wildenhues  
441
 
442
        * Makefile.am (install-html, install-pdf): Remove.
443
        * Makefile.in: Regenerate.
444
 
445
        * Makefile.in: Regenerate.
446
        * aclocal.m4: Regenerate.
447
        * config.h.in: Regenerate.
448
        * configure: Regenerate.
449
 
450
2009-08-22  Ralf Wildenhues  
451
 
452
        * Makefile.am (libgfortran_la_LINK): Add $(libgfortran_la_LDFLAGS).
453
        * Makefile.in: Regenerate.
454
 
455
2009-08-20  Thomas Koenig  
456
 
457
        PR libfortran/40962
458
        * iso_c_binding.c (c_f_pointer_u0):  Multiply stride by
459
        previous stride.
460
 
461
2009-08-20  Dave Korn  
462
 
463
        * Makefile.am (LTLDFLAGS): Add -bindir flag.
464
        * Makefile.in: Regenerate.
465
 
466
2009-08-17  Jerry DeLisle  
467
 
468
        PR fortran/41075
469
        * io/io.h (enum format_token): Add FMT_STAR.
470
        * io/format.c (format_lex): Add case for FMT_STAR.
471
        (parse_format_list): Parse FMT_STAR and check for left paren
472
        after. (next_format0): Modify helper function to check for
473
        unimited format and return the repeated format node.  Update
474
        comments to clarify.
475
 
476
2009-08-15  Kai Tietz  
477
 
478
        * intrinsics/string_intrinsics_inc.c (string_len_trim): Use
479
        __INTPTR_TYPE__ to cast from pointer to scalar integer, if
480
        __INTPTR_TYPE is defined.
481
 
482
2009-08-14  Janne Blomqvist  
483
 
484
        * fmain.c: Add comment saying file is deprecated.
485
 
486
2009-08-14  Janne Blomqvist  
487
 
488
        PR libfortran/40863
489
        * gfortran.map: Move new symbols to GFORTRAN_C99_1.1 version node.
490
 
491
2009-08-09 Francois-Xavier Coudert 
492
 
493
        PR libfortran/40549
494
        * Makefile.in (LTLDFLAGS): Add -no-undefined.
495
        * Makefile.am: Regenerate.
496
        * libgfortran.h: Remove unused block of code.
497
 
498
2009-08-02  Jerry DeLisle  
499
 
500
        PR libfortran/40853
501
        * io/list_read.c (nml_get_obj_data): Do not set nl
502
        pointer to first_nl if nl->next is NULL.
503
 
504
2009-07-31  Kaz Kojima  
505
 
506
        * Makefile.am: Don't set SECTION_FLAGS with @SECTION_FLAGS@.
507
        Don't set IEEE_FLAGS with @IEEE_FLAGS@.
508
        * Makefile.in: Regenerate.
509
 
510
2009-07-30  Kaz Kojima  
511
 
512
        * configure.host: Define ieee_flags and set it to -mieee for sh.
513
        * configure.ac: Set IEEE_FLAGS with ieee_flags.
514
        * Makefile.am: Add IEEE_FLAGS to AM_CFLAGS.
515
        * configure: Regenerate.
516
        * Makefile.in: Regenerate.
517
 
518
2009-07-30  Ralf Wildenhues  
519
 
520
        * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
521
 
522
2009-07-27  Tobias Burnus  
523
 
524
        PR fortran/40863
525
        * c99_functions.c: Define complex I, if not defined.
526
        Create prototypes for C99 functions to silence warnings.
527
        * gfortran.map: Add missing functions to GFORTRAN_C99_1.0
528
        and new GFORTRAN_C99_1.1.
529
 
530
2009-07-25  Tobias Burnus  
531
 
532
        PR fortran/33197
533
        * intrinsics/c99_functions.c (cacosf,cacos,cacosl,casinf,
534
        casin,casind,catanf,catan,catanl,cacoshf,cacosh,cacoshl,
535
        casinhf,casinh,casinhf,catanhf,catanh,catanhl): New functions.
536
        * c99_protos.h: Add prototypes for those.
537
 
538
2009-07-24  Jakub Jelinek  
539
 
540
        PR fortran/40643
541
        PR fortran/31067
542
        * libgfortran.h (GFC_REAL_4_INFINITY, GFC_REAL_8_INFINITY,
543
        GFC_REAL_10_INFINITY, GFC_REAL_16_INFINITY, GFC_REAL_4_QUIET_NAN,
544
        GFC_REAL_8_QUIET_NAN, GFC_REAL_10_QUIET_NAN, GFC_REAL_16_QUIET_NAN):
545
        Define.
546
        * m4/iparm.m4 (atype_inf, atype_nan): Define.
547
        * m4/ifunction.m4: Formatting.
548
        * m4/iforeach.m4: Likewise.
549
        (START_FOREACH_FUNCTION): Initialize dest to all 1s, not all 0s.
550
        (START_FOREACH_BLOCK, FINISH_FOREACH_FUNCTION,
551
        FINISH_MASKED_FOREACH_FUNCTION): Run foreach block inside a loop
552
        until count[0] == extent[0].
553
        * m4/minval.m4: Formatting.  Handle NaNs and infinities.  Optimize.
554
        * m4/maxval.m4: Likewise.
555
        * m4/minloc0.m4: Likewise.
556
        * m4/maxloc0.m4: Likewise.
557
        * m4/minloc1.m4: Likewise.
558
        * m4/maxloc1.m4: Likewise.
559
        * generated/maxloc0_16_i16.c: Regenerated.
560
        * generated/maxloc0_16_i1.c: Likewise.
561
        * generated/maxloc0_16_i2.c: Likewise.
562
        * generated/maxloc0_16_i4.c: Likewise.
563
        * generated/maxloc0_16_i8.c: Likewise.
564
        * generated/maxloc0_16_r10.c: Likewise.
565
        * generated/maxloc0_16_r16.c: Likewise.
566
        * generated/maxloc0_16_r4.c: Likewise.
567
        * generated/maxloc0_16_r8.c: Likewise.
568
        * generated/maxloc0_4_i16.c: Likewise.
569
        * generated/maxloc0_4_i1.c: Likewise.
570
        * generated/maxloc0_4_i2.c: Likewise.
571
        * generated/maxloc0_4_i4.c: Likewise.
572
        * generated/maxloc0_4_i8.c: Likewise.
573
        * generated/maxloc0_4_r10.c: Likewise.
574
        * generated/maxloc0_4_r16.c: Likewise.
575
        * generated/maxloc0_4_r4.c: Likewise.
576
        * generated/maxloc0_4_r8.c: Likewise.
577
        * generated/maxloc0_8_i16.c: Likewise.
578
        * generated/maxloc0_8_i1.c: Likewise.
579
        * generated/maxloc0_8_i2.c: Likewise.
580
        * generated/maxloc0_8_i4.c: Likewise.
581
        * generated/maxloc0_8_i8.c: Likewise.
582
        * generated/maxloc0_8_r10.c: Likewise.
583
        * generated/maxloc0_8_r16.c: Likewise.
584
        * generated/maxloc0_8_r4.c: Likewise.
585
        * generated/maxloc0_8_r8.c: Likewise.
586
        * generated/maxloc1_16_i16.c: Likewise.
587
        * generated/maxloc1_16_i1.c: Likewise.
588
        * generated/maxloc1_16_i2.c: Likewise.
589
        * generated/maxloc1_16_i4.c: Likewise.
590
        * generated/maxloc1_16_i8.c: Likewise.
591
        * generated/maxloc1_16_r10.c: Likewise.
592
        * generated/maxloc1_16_r16.c: Likewise.
593
        * generated/maxloc1_16_r4.c: Likewise.
594
        * generated/maxloc1_16_r8.c: Likewise.
595
        * generated/maxloc1_4_i16.c: Likewise.
596
        * generated/maxloc1_4_i1.c: Likewise.
597
        * generated/maxloc1_4_i2.c: Likewise.
598
        * generated/maxloc1_4_i4.c: Likewise.
599
        * generated/maxloc1_4_i8.c: Likewise.
600
        * generated/maxloc1_4_r10.c: Likewise.
601
        * generated/maxloc1_4_r16.c: Likewise.
602
        * generated/maxloc1_4_r4.c: Likewise.
603
        * generated/maxloc1_4_r8.c: Likewise.
604
        * generated/maxloc1_8_i16.c: Likewise.
605
        * generated/maxloc1_8_i1.c: Likewise.
606
        * generated/maxloc1_8_i2.c: Likewise.
607
        * generated/maxloc1_8_i4.c: Likewise.
608
        * generated/maxloc1_8_i8.c: Likewise.
609
        * generated/maxloc1_8_r10.c: Likewise.
610
        * generated/maxloc1_8_r16.c: Likewise.
611
        * generated/maxloc1_8_r4.c: Likewise.
612
        * generated/maxloc1_8_r8.c: Likewise.
613
        * generated/maxval_i16.c: Likewise.
614
        * generated/maxval_i1.c: Likewise.
615
        * generated/maxval_i2.c: Likewise.
616
        * generated/maxval_i4.c: Likewise.
617
        * generated/maxval_i8.c: Likewise.
618
        * generated/maxval_r10.c: Likewise.
619
        * generated/maxval_r16.c: Likewise.
620
        * generated/maxval_r4.c: Likewise.
621
        * generated/maxval_r8.c: Likewise.
622
        * generated/minloc0_16_i16.c: Likewise.
623
        * generated/minloc0_16_i1.c: Likewise.
624
        * generated/minloc0_16_i2.c: Likewise.
625
        * generated/minloc0_16_i4.c: Likewise.
626
        * generated/minloc0_16_i8.c: Likewise.
627
        * generated/minloc0_16_r10.c: Likewise.
628
        * generated/minloc0_16_r16.c: Likewise.
629
        * generated/minloc0_16_r4.c: Likewise.
630
        * generated/minloc0_16_r8.c: Likewise.
631
        * generated/minloc0_4_i16.c: Likewise.
632
        * generated/minloc0_4_i1.c: Likewise.
633
        * generated/minloc0_4_i2.c: Likewise.
634
        * generated/minloc0_4_i4.c: Likewise.
635
        * generated/minloc0_4_i8.c: Likewise.
636
        * generated/minloc0_4_r10.c: Likewise.
637
        * generated/minloc0_4_r16.c: Likewise.
638
        * generated/minloc0_4_r4.c: Likewise.
639
        * generated/minloc0_4_r8.c: Likewise.
640
        * generated/minloc0_8_i16.c: Likewise.
641
        * generated/minloc0_8_i1.c: Likewise.
642
        * generated/minloc0_8_i2.c: Likewise.
643
        * generated/minloc0_8_i4.c: Likewise.
644
        * generated/minloc0_8_i8.c: Likewise.
645
        * generated/minloc0_8_r10.c: Likewise.
646
        * generated/minloc0_8_r16.c: Likewise.
647
        * generated/minloc0_8_r4.c: Likewise.
648
        * generated/minloc0_8_r8.c: Likewise.
649
        * generated/minloc1_16_i16.c: Likewise.
650
        * generated/minloc1_16_i1.c: Likewise.
651
        * generated/minloc1_16_i2.c: Likewise.
652
        * generated/minloc1_16_i4.c: Likewise.
653
        * generated/minloc1_16_i8.c: Likewise.
654
        * generated/minloc1_16_r10.c: Likewise.
655
        * generated/minloc1_16_r16.c: Likewise.
656
        * generated/minloc1_16_r4.c: Likewise.
657
        * generated/minloc1_16_r8.c: Likewise.
658
        * generated/minloc1_4_i16.c: Likewise.
659
        * generated/minloc1_4_i1.c: Likewise.
660
        * generated/minloc1_4_i2.c: Likewise.
661
        * generated/minloc1_4_i4.c: Likewise.
662
        * generated/minloc1_4_i8.c: Likewise.
663
        * generated/minloc1_4_r10.c: Likewise.
664
        * generated/minloc1_4_r16.c: Likewise.
665
        * generated/minloc1_4_r4.c: Likewise.
666
        * generated/minloc1_4_r8.c: Likewise.
667
        * generated/minloc1_8_i16.c: Likewise.
668
        * generated/minloc1_8_i1.c: Likewise.
669
        * generated/minloc1_8_i2.c: Likewise.
670
        * generated/minloc1_8_i4.c: Likewise.
671
        * generated/minloc1_8_i8.c: Likewise.
672
        * generated/minloc1_8_r10.c: Likewise.
673
        * generated/minloc1_8_r16.c: Likewise.
674
        * generated/minloc1_8_r4.c: Likewise.
675
        * generated/minloc1_8_r8.c: Likewise.
676
        * generated/minval_i16.c: Likewise.
677
        * generated/minval_i1.c: Likewise.
678
        * generated/minval_i2.c: Likewise.
679
        * generated/minval_i4.c: Likewise.
680
        * generated/minval_i8.c: Likewise.
681
        * generated/minval_r10.c: Likewise.
682
        * generated/minval_r16.c: Likewise.
683
        * generated/minval_r4.c: Likewise.
684
        * generated/minval_r8.c: Likewise.
685
        * generated/product_c10.c: Likewise.
686
        * generated/product_c16.c: Likewise.
687
        * generated/product_c4.c: Likewise.
688
        * generated/product_c8.c: Likewise.
689
        * generated/product_i16.c: Likewise.
690
        * generated/product_i1.c: Likewise.
691
        * generated/product_i2.c: Likewise.
692
        * generated/product_i4.c: Likewise.
693
        * generated/product_i8.c: Likewise.
694
        * generated/product_r10.c: Likewise.
695
        * generated/product_r16.c: Likewise.
696
        * generated/product_r4.c: Likewise.
697
        * generated/product_r8.c: Likewise.
698
        * generated/sum_c10.c: Likewise.
699
        * generated/sum_c16.c: Likewise.
700
        * generated/sum_c4.c: Likewise.
701
        * generated/sum_c8.c: Likewise.
702
        * generated/sum_i16.c: Likewise.
703
        * generated/sum_i1.c: Likewise.
704
        * generated/sum_i2.c: Likewise.
705
        * generated/sum_i4.c: Likewise.
706
        * generated/sum_i8.c: Likewise.
707
        * generated/sum_r10.c: Likewise.
708
        * generated/sum_r16.c: Likewise.
709
        * generated/sum_r4.c: Likewise.
710
        * generated/sum_r8.c: Likewise.
711
 
712
2009-07-22  Jerry DeLisle  
713
 
714
        PR libfortran/32784
715
        * unix.c (regular_file): Check for CONIN$ CONOUT$, and CONERR$ and open
716
        the respective /dev/conin or /dev/conout devices.  This is Cygwin
717
        specific.
718
 
719
2009-07-19  Thomas Koenig  
720
 
721
        PR libfortran/34670
722
        PR libfortran/36874
723
        * Makefile.am:  Add bounds.c
724
        * libgfortran.h (bounds_equal_extents):  Add prototype.
725
        (bounds_iforeach_return):  Likewise.
726
        (bounds_ifunction_return):  Likewise.
727
        (bounds_reduced_extents):  Likewise.
728
        * runtime/bounds.c:  New file.
729
        (bounds_iforeach_return):  New function; correct typo in
730
        error message.
731
        (bounds_ifunction_return):  New function.
732
        (bounds_equal_extents):  New function.
733
        (bounds_reduced_extents):  Likewise.
734
        * intrinsics/cshift0.c (cshift0):  Use new functions
735
        for bounds checking.
736
        * intrinsics/eoshift0.c (eoshift0):  Likewise.
737
        * intrinsics/eoshift2.c (eoshift2):  Likewise.
738
        * m4/iforeach.m4:  Likewise.
739
        * m4/eoshift1.m4:  Likewise.
740
        * m4/eoshift3.m4:  Likewise.
741
        * m4/cshift1.m4:  Likewise.
742
        * m4/ifunction.m4:  Likewise.
743
        * Makefile.in:  Regenerated.
744
        * generated/cshift1_16.c: Regenerated.
745
        * generated/cshift1_4.c: Regenerated.
746
        * generated/cshift1_8.c: Regenerated.
747
        * generated/eoshift1_16.c: Regenerated.
748
        * generated/eoshift1_4.c: Regenerated.
749
        * generated/eoshift1_8.c: Regenerated.
750
        * generated/eoshift3_16.c: Regenerated.
751
        * generated/eoshift3_4.c: Regenerated.
752
        * generated/eoshift3_8.c: Regenerated.
753
        * generated/maxloc0_16_i1.c: Regenerated.
754
        * generated/maxloc0_16_i16.c: Regenerated.
755
        * generated/maxloc0_16_i2.c: Regenerated.
756
        * generated/maxloc0_16_i4.c: Regenerated.
757
        * generated/maxloc0_16_i8.c: Regenerated.
758
        * generated/maxloc0_16_r10.c: Regenerated.
759
        * generated/maxloc0_16_r16.c: Regenerated.
760
        * generated/maxloc0_16_r4.c: Regenerated.
761
        * generated/maxloc0_16_r8.c: Regenerated.
762
        * generated/maxloc0_4_i1.c: Regenerated.
763
        * generated/maxloc0_4_i16.c: Regenerated.
764
        * generated/maxloc0_4_i2.c: Regenerated.
765
        * generated/maxloc0_4_i4.c: Regenerated.
766
        * generated/maxloc0_4_i8.c: Regenerated.
767
        * generated/maxloc0_4_r10.c: Regenerated.
768
        * generated/maxloc0_4_r16.c: Regenerated.
769
        * generated/maxloc0_4_r4.c: Regenerated.
770
        * generated/maxloc0_4_r8.c: Regenerated.
771
        * generated/maxloc0_8_i1.c: Regenerated.
772
        * generated/maxloc0_8_i16.c: Regenerated.
773
        * generated/maxloc0_8_i2.c: Regenerated.
774
        * generated/maxloc0_8_i4.c: Regenerated.
775
        * generated/maxloc0_8_i8.c: Regenerated.
776
        * generated/maxloc0_8_r10.c: Regenerated.
777
        * generated/maxloc0_8_r16.c: Regenerated.
778
        * generated/maxloc0_8_r4.c: Regenerated.
779
        * generated/maxloc0_8_r8.c: Regenerated.
780
        * generated/maxloc1_16_i1.c: Regenerated.
781
        * generated/maxloc1_16_i16.c: Regenerated.
782
        * generated/maxloc1_16_i2.c: Regenerated.
783
        * generated/maxloc1_16_i4.c: Regenerated.
784
        * generated/maxloc1_16_i8.c: Regenerated.
785
        * generated/maxloc1_16_r10.c: Regenerated.
786
        * generated/maxloc1_16_r16.c: Regenerated.
787
        * generated/maxloc1_16_r4.c: Regenerated.
788
        * generated/maxloc1_16_r8.c: Regenerated.
789
        * generated/maxloc1_4_i1.c: Regenerated.
790
        * generated/maxloc1_4_i16.c: Regenerated.
791
        * generated/maxloc1_4_i2.c: Regenerated.
792
        * generated/maxloc1_4_i4.c: Regenerated.
793
        * generated/maxloc1_4_i8.c: Regenerated.
794
        * generated/maxloc1_4_r10.c: Regenerated.
795
        * generated/maxloc1_4_r16.c: Regenerated.
796
        * generated/maxloc1_4_r4.c: Regenerated.
797
        * generated/maxloc1_4_r8.c: Regenerated.
798
        * generated/maxloc1_8_i1.c: Regenerated.
799
        * generated/maxloc1_8_i16.c: Regenerated.
800
        * generated/maxloc1_8_i2.c: Regenerated.
801
        * generated/maxloc1_8_i4.c: Regenerated.
802
        * generated/maxloc1_8_i8.c: Regenerated.
803
        * generated/maxloc1_8_r10.c: Regenerated.
804
        * generated/maxloc1_8_r16.c: Regenerated.
805
        * generated/maxloc1_8_r4.c: Regenerated.
806
        * generated/maxloc1_8_r8.c: Regenerated.
807
        * generated/maxval_i1.c: Regenerated.
808
        * generated/maxval_i16.c: Regenerated.
809
        * generated/maxval_i2.c: Regenerated.
810
        * generated/maxval_i4.c: Regenerated.
811
        * generated/maxval_i8.c: Regenerated.
812
        * generated/maxval_r10.c: Regenerated.
813
        * generated/maxval_r16.c: Regenerated.
814
        * generated/maxval_r4.c: Regenerated.
815
        * generated/maxval_r8.c: Regenerated.
816
        * generated/minloc0_16_i1.c: Regenerated.
817
        * generated/minloc0_16_i16.c: Regenerated.
818
        * generated/minloc0_16_i2.c: Regenerated.
819
        * generated/minloc0_16_i4.c: Regenerated.
820
        * generated/minloc0_16_i8.c: Regenerated.
821
        * generated/minloc0_16_r10.c: Regenerated.
822
        * generated/minloc0_16_r16.c: Regenerated.
823
        * generated/minloc0_16_r4.c: Regenerated.
824
        * generated/minloc0_16_r8.c: Regenerated.
825
        * generated/minloc0_4_i1.c: Regenerated.
826
        * generated/minloc0_4_i16.c: Regenerated.
827
        * generated/minloc0_4_i2.c: Regenerated.
828
        * generated/minloc0_4_i4.c: Regenerated.
829
        * generated/minloc0_4_i8.c: Regenerated.
830
        * generated/minloc0_4_r10.c: Regenerated.
831
        * generated/minloc0_4_r16.c: Regenerated.
832
        * generated/minloc0_4_r4.c: Regenerated.
833
        * generated/minloc0_4_r8.c: Regenerated.
834
        * generated/minloc0_8_i1.c: Regenerated.
835
        * generated/minloc0_8_i16.c: Regenerated.
836
        * generated/minloc0_8_i2.c: Regenerated.
837
        * generated/minloc0_8_i4.c: Regenerated.
838
        * generated/minloc0_8_i8.c: Regenerated.
839
        * generated/minloc0_8_r10.c: Regenerated.
840
        * generated/minloc0_8_r16.c: Regenerated.
841
        * generated/minloc0_8_r4.c: Regenerated.
842
        * generated/minloc0_8_r8.c: Regenerated.
843
        * generated/minloc1_16_i1.c: Regenerated.
844
        * generated/minloc1_16_i16.c: Regenerated.
845
        * generated/minloc1_16_i2.c: Regenerated.
846
        * generated/minloc1_16_i4.c: Regenerated.
847
        * generated/minloc1_16_i8.c: Regenerated.
848
        * generated/minloc1_16_r10.c: Regenerated.
849
        * generated/minloc1_16_r16.c: Regenerated.
850
        * generated/minloc1_16_r4.c: Regenerated.
851
        * generated/minloc1_16_r8.c: Regenerated.
852
        * generated/minloc1_4_i1.c: Regenerated.
853
        * generated/minloc1_4_i16.c: Regenerated.
854
        * generated/minloc1_4_i2.c: Regenerated.
855
        * generated/minloc1_4_i4.c: Regenerated.
856
        * generated/minloc1_4_i8.c: Regenerated.
857
        * generated/minloc1_4_r10.c: Regenerated.
858
        * generated/minloc1_4_r16.c: Regenerated.
859
        * generated/minloc1_4_r4.c: Regenerated.
860
        * generated/minloc1_4_r8.c: Regenerated.
861
        * generated/minloc1_8_i1.c: Regenerated.
862
        * generated/minloc1_8_i16.c: Regenerated.
863
        * generated/minloc1_8_i2.c: Regenerated.
864
        * generated/minloc1_8_i4.c: Regenerated.
865
        * generated/minloc1_8_i8.c: Regenerated.
866
        * generated/minloc1_8_r10.c: Regenerated.
867
        * generated/minloc1_8_r16.c: Regenerated.
868
        * generated/minloc1_8_r4.c: Regenerated.
869
        * generated/minloc1_8_r8.c: Regenerated.
870
        * generated/minval_i1.c: Regenerated.
871
        * generated/minval_i16.c: Regenerated.
872
        * generated/minval_i2.c: Regenerated.
873
        * generated/minval_i4.c: Regenerated.
874
        * generated/minval_i8.c: Regenerated.
875
        * generated/minval_r10.c: Regenerated.
876
        * generated/minval_r16.c: Regenerated.
877
        * generated/minval_r4.c: Regenerated.
878
        * generated/minval_r8.c: Regenerated.
879
        * generated/product_c10.c: Regenerated.
880
        * generated/product_c16.c: Regenerated.
881
        * generated/product_c4.c: Regenerated.
882
        * generated/product_c8.c: Regenerated.
883
        * generated/product_i1.c: Regenerated.
884
        * generated/product_i16.c: Regenerated.
885
        * generated/product_i2.c: Regenerated.
886
        * generated/product_i4.c: Regenerated.
887
        * generated/product_i8.c: Regenerated.
888
        * generated/product_r10.c: Regenerated.
889
        * generated/product_r16.c: Regenerated.
890
        * generated/product_r4.c: Regenerated.
891
        * generated/product_r8.c: Regenerated.
892
        * generated/sum_c10.c: Regenerated.
893
        * generated/sum_c16.c: Regenerated.
894
        * generated/sum_c4.c: Regenerated.
895
        * generated/sum_c8.c: Regenerated.
896
        * generated/sum_i1.c: Regenerated.
897
        * generated/sum_i16.c: Regenerated.
898
        * generated/sum_i2.c: Regenerated.
899
        * generated/sum_i4.c: Regenerated.
900
        * generated/sum_i8.c: Regenerated.
901
        * generated/sum_r10.c: Regenerated.
902
        * generated/sum_r16.c: Regenerated.
903
        * generated/sum_r4.c: Regenerated.
904
        * generated/sum_r8.c: Regenerated.
905
 
906
2009-07-17  Janne Blomqvist  
907
            Jerry DeLisle  
908
 
909
        PR libfortran/40714
910
        * io/transfer.c (finalize_transfer): Set current_record to 0
911
        before returning in case of error.
912
 
913
2009-07-12  Tobias Burnus  
914
 
915
        PR libfortran/22423
916
        * io/io.h (namelist_type): Use the proper enum for GFC_DTYPE_*.
917
        * intrinsics/iso_c_binding.c (c_f_pointer_u0): Make sure
918
        variable is initialized to silence warning.
919
 
920
2009-07-10  Steven G. Kargl  
921
 
922
        * c99_functions.c (ccoshf, ccosh, ccoshl, ctanhf, ctanh, ctanl):
923
        Fix errant minus.
924
 
925
2009-07-08  Jerry DeLisle  
926
 
927
        PR libfortran/40330
928
        PR libfortran/40662
929
        * io/io.h (st_parameter_dt): Define format_not_saved bit used to signal
930
        whether the parsed format data was previously saved. Used to determine
931
        if the current format data should be freed or not.
932
        * io/transfer.c (st_read_done): Use the format_not_saved bit.
933
        (st_write_done): Likewise.
934
        * io/format.c (parse_format_list): Add boolean pointer to arg list. This
935
        pointer is used to return status to the caller regarding whether it is
936
        safe to cache the parsed format data.  Currently, if a FMT_STRING token
937
        is encounetered, it is not safe to cache. Also, added a local boolean
938
        variable to hold this information as recursive calls to
939
        parse_format_list are made.  Remove previous save_format logic.
940
        (parse_format): Do not use the format caching facility if the current
941
        unit is an internal unit or if it is not safe to save parsed format
942
        data.
943
 
944
2009-06-29  Jerry DeLisle  
945
 
946
        PR libfortran/40576
947
        * io/transfer.c (sset): Adjust exit condition for loop.
948
 
949
2009-06-22  Jerry DeLisle  
950
 
951
        PR libfortran/40508
952
        * io/format.c: Don't save parsed format data for internal units.
953
 
954
2009-06-21  Thomas Koenig  
955
 
956
        PR fortran/37577
957
        Port from fortran-dev
958
        * runtime/in_pack_generic (internal_pack):  Remove unnecessary
959
        test for stride == 0.
960
        * runtime/in_unpack_generic.c (internal_unpack):  Likewise.
961
        * intrinsics/iso_c_binding.c (c_f_pointer_u0):  Take care
962
        of stride in "shape" argument.  Use array access macros for
963
        accessing array descriptors.
964
        * libgfortran.h (struct descriptor_dimension):  Change stride
965
        to _stride, lbound to _lbound and ubound to _ubound.
966
        (GFC_DIMENSION_LBOUND):  Use new name(s) in struct
967
        descriptor_dimension.
968
        (GFC_DIMENSION_UBOUND):  Likewise.
969
        (GFC_DIMENSION_STRIDE):  Likewise.
970
        (GFC_DIMENSION_EXTENT):  Likewise.
971
        (GFC_DIMENSION_SET):  Likewise.
972
        (GFC_DESCRIPTOR_LBOUND):  Likewise.
973
        (GFC_DESCRIPTOR_UBOUND):  Likewise.
974
        (GFC_DESCRIPTOR_EXTENT):  Likewise.
975
        (GFC_DESCRIPTOR_STRIDE):  Likewise.
976
        * io/transfer.c (transfer_array):  Use array access macros.
977
        Use byte-sized strides.
978
        * intrinsics/eoshift0.c (eoshift0):  Use array access
979
        macros everywhere.
980
        * m4/in_pack.m4 (internal_pack_'rtype_ccode`):  Use
981
        array access macros for accessing array descriptors.
982
        * m4/in_unpack.m4 (internal_unpack_'rtype_ccode`):
983
        Likewise.
984
        * m4/matmull.m4 (matmul_'rtype_code`):  Likewise.
985
        * m4/matmul.m4 (matmul_'rtype_code`):  Likewise.
986
        * m4/unpack.m4 (unpack0_'rtype_code`):  Likewise.
987
        (unpack1_'rtype_code`):  Likewise.
988
        * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Likewise.
989
        * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Use array access
990
        macros everywhere.
991
                * intrinsics/dtime.c (dtime_sub):  Use array access macros
992
        for accessing array descriptors.
993
        * intrinsics/cshift0 (cshift0):  Likewise.
994
        * intrinsics/etime.c:  Likewise.  Remove redundant calculation
995
        of rdim.
996
        * m4/cshift0.m4 (cshift0_'rtype_code`):  Use array access macros
997
        for accessing array descriptors.
998
        * m4/pack.m4 (pack_'rtype_code`):  Likewise.
999
        * m4/spread.m4 (spread_'rtype_code`):  Likewise.
1000
        (spread_scalar_'rtype_code`):  Likewise.
1001
        * m4/transpose.m4 (transpose_'rtype_code`):  Likewise.
1002
        * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Likewise.
1003
        * m4/eoshift1.m4 (eoshift1):  Likewise.  Remove size argument,
1004
        calculate within function.
1005
        (eoshift1_'atype_kind`):  Remove size argument from call
1006
        to eoshift1.
1007
        (eoshift1_'atype_kind`_char):  Likewise.
1008
        (eoshift1_'atype_kind`_char4):  Likewise.
1009
        * m4/eoshift3.m4 (eoshift3):  Remove size argument, calculate
1010
        within function. Use array access macros for accessing array
1011
        descriptors.
1012
        (eoshift3_'atype_kind`):  Remove size argument from call
1013
        to eoshift1.
1014
        (eoshift3_'atype_kind`_char):  Likewise.
1015
        (eoshift3_'atype_kind`_char4):  Likewise.
1016
        * m4/shape.m4 (shape_'rtype_kind`):  Use array access macros
1017
        for accessing array descriptors.
1018
        * m4/cshift1.m4 (cshift1): Remove size argument, calculate
1019
        within function. Use array access macros for accessing array
1020
        descriptors.
1021
        (cshift1_'atype_kind`):  Remove size argument from call to
1022
        cshift1.
1023
        (cshift1_'atype_kind`_char):  Remove size argument from call to
1024
        cshift1.
1025
        (cshift1_'atype_kind`_char4):  Remove size argument from call to
1026
        cshift1.
1027
        * m4/reshape.m4 (reshape_'rtype_ccode`):  Use array access macros
1028
        for accessing array descriptors.
1029
        * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
1030
        * intrinsics/pack_generic.c (pack_internal):  Use array access
1031
        macros for accessing array descriptors.
1032
        (pack_s_internal):  Likewise.
1033
        * intrinsics/transpose_generic.c (transpose_internal):  Remove
1034
        size argument, calculate from array descriptor. Use array
1035
        access macros for accessing array descriptors.
1036
        (transpose):  Remove size argument from call.
1037
        (transpoe_char):  Likewise.
1038
        (transpose_char4):  Likewise.
1039
        * intrinsics/move_alloc.c (move_alloc):  Use array access macros
1040
        for accessing array descriptors.
1041
        * intrinsics/spread_generic.c (spread_internal):  Remove size
1042
        argument, calculate from array descriptor.  Use array access
1043
        macros for accessing array descriptors.
1044
        (spread_internal_scalar):  Likewise.
1045
        (spread):  Remove size argument from call to spread_internal.
1046
        (spread_char):  Mark argument source_length as unused.
1047
        Remove size argument from call to spread_internal.
1048
        (spread_char4):  Likewise.
1049
        (spread_char_scalar):  Likewise.
1050
        (spread_char4_scalar):  Likewise.
1051
        * intrinsics/unpack_generic.c (unpack_internal):  Use array access
1052
        macros for accessing array descriptors.
1053
        * intrinsics/eoshift2.c (eoshift2):  Remove size argument, calculate
1054
        from array descriptor instead.  Use array access macros for
1055
        accessing array descriptors.
1056
        (eoshift2_##N):  Remove size argument from call to eoshift2.
1057
        (eoshift2_##N_##char):  Likewise.
1058
        (eoshift2_##N_##char4):  Likewise.
1059
        * intrinsics/reshape_generic.c (reshape_internal):  Use array
1060
        access macross for accessing array descriptors.
1061
        * libgfortran.h:  Introduce new macros GFC_DIMENSION_LBOUND,
1062
        GFC_DIMENSION_UBOUND,GFC_DIMENSION_STRIDE, GFC_DIMENSION_EXTENT,
1063
        GFC_DIMENSION_SET, GFC_DESCRIPTOR_LBOUND, GFC_DESCRIPTOR_UBOUND,
1064
        GFC_DESCRIPTOR_EXTENT, GFC_DESCRIPTOR_EXTENT_BYTES,
1065
        GFC_DESCRIPTOR_STRIDE, GFC_DESCRIPTOR_STRIDE_BYTES
1066
        * runtime/in_pack_generic.c (internal_pack):  Use new macros
1067
        for array descriptor access.
1068
        * runtime/in_unpack_generic.c (internal_unpack):  Likewise.
1069
        * intrinsics/dtime.c (dtime_sub):  Likewise.
1070
        * intrinsics/cshift0 (cshift0):  Remove argument size,
1071
        calculate directly from the array descriptor.  Use new macros
1072
        for array descriptor access.
1073
        * cshift0_##N:  Remove shift argument in call to cshift0.
1074
        * cshift0_##N_char:  Mark array_length as unused.  Remove
1075
        array_length in call to cshift0.
1076
        * cshift0_##N_char4:  Likewise.
1077
        * intrisics/etime.c:  Use new macros for array descriptor access.
1078
        * intrinsics/stat.c (stat_i4_sub_0):  Likewise.
1079
        (stat_i8_sub_0):  Likewise.
1080
        (fstat_i4_sub):  Likewise.
1081
        (fstat_i8_sub):  Likewise.
1082
        * intrinsics/date_and_time.c (date_and_time):  Likewise.
1083
        (secnds):  Likewise.
1084
        (itime_i4):  Likewise.
1085
        (itime_i8):  Likewise.
1086
        (idate_i4):  Likewise.
1087
        (idate_i8):  Likewise.
1088
        (gmtime_i4):  Likewise.
1089
        (gmtime_i8):  Likewise.
1090
        (ltime_i4):  Likewise.
1091
        (litme_i8):  Likewise.
1092
        * intrinsics/associated.c (associated):  Likewise.
1093
        * intrinsics/eoshift0.c (eoshift0):  Likewise.
1094
        * intriniscs/size.c (size0):  Likewise.
1095
        * intrinsics/random.c (arandom_r4):  Likewise.
1096
        (arandom_r8):  Likewise.
1097
        (arandom_r10):  Likewise.
1098
        (arandom_r16):  Likewise.
1099
        (random_seed_i4):  Likewise.
1100
        (random_seed_i8):  Likewise.
1101
        * io/list_read.c (nml_parse_qualifier):  Likewise.
1102
        (nml_touch_nodes):  Likewise.
1103
        (nml_read_obj):  Likewise.
1104
        (get_name):  Likewise.
1105
        * io/transfer.c (transfer_array):  Likewise.
1106
        (init_loop_spec):  Likewise.
1107
        (st_set_nml_var_dim):  Likewise.
1108
        * io/write.c (nml_write_obj):  Likewise.
1109
        (obj_loop):  Likewise.
1110
        * generated/all_l1.c: Regenerated.
1111
        * generated/all_l16.c: Regenerated.
1112
        * generated/all_l2.c: Regenerated.
1113
        * generated/all_l4.c: Regenerated.
1114
        * generated/all_l8.c: Regenerated.
1115
        * generated/any_l1.c: Regenerated.
1116
        * generated/any_l16.c: Regenerated.
1117
        * generated/any_l2.c: Regenerated.
1118
        * generated/any_l4.c: Regenerated.
1119
        * generated/any_l8.c: Regenerated.
1120
        * generated/count_16_l.c: Regenerated.
1121
        * generated/count_1_l.c: Regenerated.
1122
        * generated/count_2_l.c: Regenerated.
1123
        * generated/count_4_l.c: Regenerated.
1124
        * generated/count_8_l.c: Regenerated.
1125
        * generated/cshift0_c10.c: Regenerated.
1126
        * generated/cshift0_c16.c: Regenerated.
1127
        * generated/cshift0_c4.c: Regenerated.
1128
        * generated/cshift0_c8.c: Regenerated.
1129
        * generated/cshift0_i1.c: Regenerated.
1130
        * generated/cshift0_i16.c: Regenerated.
1131
        * generated/cshift0_i2.c: Regenerated.
1132
        * generated/cshift0_i4.c: Regenerated.
1133
        * generated/cshift0_i8.c: Regenerated.
1134
        * generated/cshift0_r10.c: Regenerated.
1135
        * generated/cshift0_r16.c: Regenerated.
1136
        * generated/cshift0_r4.c: Regenerated.
1137
        * generated/cshift0_r8.c: Regenerated.
1138
        * generated/cshift1_16.c: Regenerated.
1139
        * generated/cshift1_4.c: Regenerated.
1140
        * generated/cshift1_8.c: Regenerated.
1141
        * generated/eoshift1_16.c: Regenerated.
1142
        * generated/eoshift1_4.c: Regenerated.
1143
        * generated/eoshift1_8.c: Regenerated.
1144
        * generated/eoshift3_16.c: Regenerated.
1145
        * generated/eoshift3_4.c: Regenerated.
1146
        * generated/eoshift3_8.c: Regenerated.
1147
        * generated/in_pack_c10.c: Regenerated.
1148
        * generated/in_pack_c16.c: Regenerated.
1149
        * generated/in_pack_c4.c: Regenerated.
1150
        * generated/in_pack_c8.c: Regenerated.
1151
        * generated/in_pack_i1.c: Regenerated.
1152
        * generated/in_pack_i16.c: Regenerated.
1153
        * generated/in_pack_i2.c: Regenerated.
1154
        * generated/in_pack_i4.c: Regenerated.
1155
        * generated/in_pack_i8.c: Regenerated.
1156
        * generated/in_pack_r10.c: Regenerated.
1157
        * generated/in_pack_r16.c: Regenerated.
1158
        * generated/in_pack_r4.c: Regenerated.
1159
        * generated/in_pack_r8.c: Regenerated.
1160
        * generated/in_unpack_c10.c: Regenerated.
1161
        * generated/in_unpack_c16.c: Regenerated.
1162
        * generated/in_unpack_c4.c: Regenerated.
1163
        * generated/in_unpack_c8.c: Regenerated.
1164
        * generated/in_unpack_i1.c: Regenerated.
1165
        * generated/in_unpack_i16.c: Regenerated.
1166
        * generated/in_unpack_i2.c: Regenerated.
1167
        * generated/in_unpack_i4.c: Regenerated.
1168
        * generated/in_unpack_i8.c: Regenerated.
1169
        * generated/in_unpack_r10.c: Regenerated.
1170
        * generated/in_unpack_r16.c: Regenerated.
1171
        * generated/in_unpack_r4.c: Regenerated.
1172
        * generated/in_unpack_r8.c: Regenerated.
1173
        * generated/matmul_c10.c: Regenerated.
1174
        * generated/matmul_c16.c: Regenerated.
1175
        * generated/matmul_c4.c: Regenerated.
1176
        * generated/matmul_c8.c: Regenerated.
1177
        * generated/matmul_i1.c: Regenerated.
1178
        * generated/matmul_i16.c: Regenerated.
1179
        * generated/matmul_i2.c: Regenerated.
1180
        * generated/matmul_i4.c: Regenerated.
1181
        * generated/matmul_i8.c: Regenerated.
1182
        * generated/matmul_l16.c: Regenerated.
1183
        * generated/matmul_l4.c: Regenerated.
1184
        * generated/matmul_l8.c: Regenerated.
1185
        * generated/matmul_r10.c: Regenerated.
1186
        * generated/matmul_r16.c: Regenerated.
1187
        * generated/matmul_r4.c: Regenerated.
1188
        * generated/matmul_r8.c: Regenerated.
1189
        * generated/maxloc0_16_i1.c: Regenerated.
1190
        * generated/maxloc0_16_i16.c: Regenerated.
1191
        * generated/maxloc0_16_i2.c: Regenerated.
1192
        * generated/maxloc0_16_i4.c: Regenerated.
1193
        * generated/maxloc0_16_i8.c: Regenerated.
1194
        * generated/maxloc0_16_r10.c: Regenerated.
1195
        * generated/maxloc0_16_r16.c: Regenerated.
1196
        * generated/maxloc0_16_r4.c: Regenerated.
1197
        * generated/maxloc0_16_r8.c: Regenerated.
1198
        * generated/maxloc0_4_i1.c: Regenerated.
1199
        * generated/maxloc0_4_i16.c: Regenerated.
1200
        * generated/maxloc0_4_i2.c: Regenerated.
1201
        * generated/maxloc0_4_i4.c: Regenerated.
1202
        * generated/maxloc0_4_i8.c: Regenerated.
1203
        * generated/maxloc0_4_r10.c: Regenerated.
1204
        * generated/maxloc0_4_r16.c: Regenerated.
1205
        * generated/maxloc0_4_r4.c: Regenerated.
1206
        * generated/maxloc0_4_r8.c: Regenerated.
1207
        * generated/maxloc0_8_i1.c: Regenerated.
1208
        * generated/maxloc0_8_i16.c: Regenerated.
1209
        * generated/maxloc0_8_i2.c: Regenerated.
1210
        * generated/maxloc0_8_i4.c: Regenerated.
1211
        * generated/maxloc0_8_i8.c: Regenerated.
1212
        * generated/maxloc0_8_r10.c: Regenerated.
1213
        * generated/maxloc0_8_r16.c: Regenerated.
1214
        * generated/maxloc0_8_r4.c: Regenerated.
1215
        * generated/maxloc0_8_r8.c: Regenerated.
1216
        * generated/maxloc1_16_i1.c: Regenerated.
1217
        * generated/maxloc1_16_i16.c: Regenerated.
1218
        * generated/maxloc1_16_i2.c: Regenerated.
1219
        * generated/maxloc1_16_i4.c: Regenerated.
1220
        * generated/maxloc1_16_i8.c: Regenerated.
1221
        * generated/maxloc1_16_r10.c: Regenerated.
1222
        * generated/maxloc1_16_r16.c: Regenerated.
1223
        * generated/maxloc1_16_r4.c: Regenerated.
1224
        * generated/maxloc1_16_r8.c: Regenerated.
1225
        * generated/maxloc1_4_i1.c: Regenerated.
1226
        * generated/maxloc1_4_i16.c: Regenerated.
1227
        * generated/maxloc1_4_i2.c: Regenerated.
1228
        * generated/maxloc1_4_i4.c: Regenerated.
1229
        * generated/maxloc1_4_i8.c: Regenerated.
1230
        * generated/maxloc1_4_r10.c: Regenerated.
1231
        * generated/maxloc1_4_r16.c: Regenerated.
1232
        * generated/maxloc1_4_r4.c: Regenerated.
1233
        * generated/maxloc1_4_r8.c: Regenerated.
1234
        * generated/maxloc1_8_i1.c: Regenerated.
1235
        * generated/maxloc1_8_i16.c: Regenerated.
1236
        * generated/maxloc1_8_i2.c: Regenerated.
1237
        * generated/maxloc1_8_i4.c: Regenerated.
1238
        * generated/maxloc1_8_i8.c: Regenerated.
1239
        * generated/maxloc1_8_r10.c: Regenerated.
1240
        * generated/maxloc1_8_r16.c: Regenerated.
1241
        * generated/maxloc1_8_r4.c: Regenerated.
1242
        * generated/maxloc1_8_r8.c: Regenerated.
1243
        * generated/maxval_i1.c: Regenerated.
1244
        * generated/maxval_i16.c: Regenerated.
1245
        * generated/maxval_i2.c: Regenerated.
1246
        * generated/maxval_i4.c: Regenerated.
1247
        * generated/maxval_i8.c: Regenerated.
1248
        * generated/maxval_r10.c: Regenerated.
1249
        * generated/maxval_r16.c: Regenerated.
1250
        * generated/maxval_r4.c: Regenerated.
1251
        * generated/maxval_r8.c: Regenerated.
1252
        * generated/minloc0_16_i1.c: Regenerated.
1253
        * generated/minloc0_16_i16.c: Regenerated.
1254
        * generated/minloc0_16_i2.c: Regenerated.
1255
        * generated/minloc0_16_i4.c: Regenerated.
1256
        * generated/minloc0_16_i8.c: Regenerated.
1257
        * generated/minloc0_16_r10.c: Regenerated.
1258
        * generated/minloc0_16_r16.c: Regenerated.
1259
        * generated/minloc0_16_r4.c: Regenerated.
1260
        * generated/minloc0_16_r8.c: Regenerated.
1261
        * generated/minloc0_4_i1.c: Regenerated.
1262
        * generated/minloc0_4_i16.c: Regenerated.
1263
        * generated/minloc0_4_i2.c: Regenerated.
1264
        * generated/minloc0_4_i4.c: Regenerated.
1265
        * generated/minloc0_4_i8.c: Regenerated.
1266
        * generated/minloc0_4_r10.c: Regenerated.
1267
        * generated/minloc0_4_r16.c: Regenerated.
1268
        * generated/minloc0_4_r4.c: Regenerated.
1269
        * generated/minloc0_4_r8.c: Regenerated.
1270
        * generated/minloc0_8_i1.c: Regenerated.
1271
        * generated/minloc0_8_i16.c: Regenerated.
1272
        * generated/minloc0_8_i2.c: Regenerated.
1273
        * generated/minloc0_8_i4.c: Regenerated.
1274
        * generated/minloc0_8_i8.c: Regenerated.
1275
        * generated/minloc0_8_r10.c: Regenerated.
1276
        * generated/minloc0_8_r16.c: Regenerated.
1277
        * generated/minloc0_8_r4.c: Regenerated.
1278
        * generated/minloc0_8_r8.c: Regenerated.
1279
        * generated/minloc1_16_i1.c: Regenerated.
1280
        * generated/minloc1_16_i16.c: Regenerated.
1281
        * generated/minloc1_16_i2.c: Regenerated.
1282
        * generated/minloc1_16_i4.c: Regenerated.
1283
        * generated/minloc1_16_i8.c: Regenerated.
1284
        * generated/minloc1_16_r10.c: Regenerated.
1285
        * generated/minloc1_16_r16.c: Regenerated.
1286
        * generated/minloc1_16_r4.c: Regenerated.
1287
        * generated/minloc1_16_r8.c: Regenerated.
1288
        * generated/minloc1_4_i1.c: Regenerated.
1289
        * generated/minloc1_4_i16.c: Regenerated.
1290
        * generated/minloc1_4_i2.c: Regenerated.
1291
        * generated/minloc1_4_i4.c: Regenerated.
1292
        * generated/minloc1_4_i8.c: Regenerated.
1293
        * generated/minloc1_4_r10.c: Regenerated.
1294
        * generated/minloc1_4_r16.c: Regenerated.
1295
        * generated/minloc1_4_r4.c: Regenerated.
1296
        * generated/minloc1_4_r8.c: Regenerated.
1297
        * generated/minloc1_8_i1.c: Regenerated.
1298
        * generated/minloc1_8_i16.c: Regenerated.
1299
        * generated/minloc1_8_i2.c: Regenerated.
1300
        * generated/minloc1_8_i4.c: Regenerated.
1301
        * generated/minloc1_8_i8.c: Regenerated.
1302
        * generated/minloc1_8_r10.c: Regenerated.
1303
        * generated/minloc1_8_r16.c: Regenerated.
1304
        * generated/minloc1_8_r4.c: Regenerated.
1305
        * generated/minloc1_8_r8.c: Regenerated.
1306
        * generated/minval_i1.c: Regenerated.
1307
        * generated/minval_i16.c: Regenerated.
1308
        * generated/minval_i2.c: Regenerated.
1309
        * generated/minval_i4.c: Regenerated.
1310
        * generated/minval_i8.c: Regenerated.
1311
        * generated/minval_r10.c: Regenerated.
1312
        * generated/minval_r16.c: Regenerated.
1313
        * generated/minval_r4.c: Regenerated.
1314
        * generated/minval_r8.c: Regenerated.
1315
        * generated/pack_c10.c: Regenerated.
1316
        * generated/pack_c16.c: Regenerated.
1317
        * generated/pack_c4.c: Regenerated.
1318
        * generated/pack_c8.c: Regenerated.
1319
        * generated/pack_i1.c: Regenerated.
1320
        * generated/pack_i16.c: Regenerated.
1321
        * generated/pack_i2.c: Regenerated.
1322
        * generated/pack_i4.c: Regenerated.
1323
        * generated/pack_i8.c: Regenerated.
1324
        * generated/pack_r10.c: Regenerated.
1325
        * generated/pack_r16.c: Regenerated.
1326
        * generated/pack_r4.c: Regenerated.
1327
        * generated/pack_r8.c: Regenerated.
1328
        * generated/product_c10.c: Regenerated.
1329
        * generated/product_c16.c: Regenerated.
1330
        * generated/product_c4.c: Regenerated.
1331
        * generated/product_c8.c: Regenerated.
1332
        * generated/product_i1.c: Regenerated.
1333
        * generated/product_i16.c: Regenerated.
1334
        * generated/product_i2.c: Regenerated.
1335
        * generated/product_i4.c: Regenerated.
1336
        * generated/product_i8.c: Regenerated.
1337
        * generated/product_r10.c: Regenerated.
1338
        * generated/product_r16.c: Regenerated.
1339
        * generated/product_r4.c: Regenerated.
1340
        * generated/product_r8.c: Regenerated.
1341
        * generated/reshape_c10.c: Regenerated.
1342
        * generated/reshape_c16.c: Regenerated.
1343
        * generated/reshape_c4.c: Regenerated.
1344
        * generated/reshape_c8.c: Regenerated.
1345
        * generated/reshape_i16.c: Regenerated.
1346
        * generated/reshape_i4.c: Regenerated.
1347
        * generated/reshape_i8.c: Regenerated.
1348
        * generated/reshape_r10.c: Regenerated.
1349
        * generated/reshape_r16.c: Regenerated.
1350
        * generated/reshape_r4.c: Regenerated.
1351
        * generated/reshape_r8.c: Regenerated.
1352
        * generated/shape_i16.c: Regenerated.
1353
        * generated/shape_i4.c: Regenerated.
1354
        * generated/shape_i8.c: Regenerated.
1355
        * generated/spread_c10.c: Regenerated.
1356
        * generated/spread_c16.c: Regenerated.
1357
        * generated/spread_c4.c: Regenerated.
1358
        * generated/spread_c8.c: Regenerated.
1359
        * generated/spread_i1.c: Regenerated.
1360
        * generated/spread_i16.c: Regenerated.
1361
        * generated/spread_i2.c: Regenerated.
1362
        * generated/spread_i4.c: Regenerated.
1363
        * generated/spread_i8.c: Regenerated.
1364
        * generated/spread_r10.c: Regenerated.
1365
        * generated/spread_r16.c: Regenerated.
1366
        * generated/spread_r4.c: Regenerated.
1367
        * generated/spread_r8.c: Regenerated.
1368
        * generated/sum_c10.c: Regenerated.
1369
        * generated/sum_c16.c: Regenerated.
1370
        * generated/sum_c4.c: Regenerated.
1371
        * generated/sum_c8.c: Regenerated.
1372
        * generated/sum_i1.c: Regenerated.
1373
        * generated/sum_i16.c: Regenerated.
1374
        * generated/sum_i2.c: Regenerated.
1375
        * generated/sum_i4.c: Regenerated.
1376
        * generated/sum_i8.c: Regenerated.
1377
        * generated/sum_r10.c: Regenerated.
1378
        * generated/sum_r16.c: Regenerated.
1379
        * generated/sum_r4.c: Regenerated.
1380
        * generated/sum_r8.c: Regenerated.
1381
        * generated/transpose_c10.c: Regenerated.
1382
        * generated/transpose_c16.c: Regenerated.
1383
        * generated/transpose_c4.c: Regenerated.
1384
        * generated/transpose_c8.c: Regenerated.
1385
        * generated/transpose_i16.c: Regenerated.
1386
        * generated/transpose_i4.c: Regenerated.
1387
        * generated/transpose_i8.c: Regenerated.
1388
        * generated/transpose_r10.c: Regenerated.
1389
        * generated/transpose_r16.c: Regenerated.
1390
        * generated/transpose_r4.c: Regenerated.
1391
        * generated/transpose_r8.c: Regenerated.
1392
        * generated/unpack_c10.c: Regenerated.
1393
        * generated/unpack_c16.c: Regenerated.
1394
        * generated/unpack_c4.c: Regenerated.
1395
        * generated/unpack_c8.c: Regenerated.
1396
        * generated/unpack_i1.c: Regenerated.
1397
        * generated/unpack_i16.c: Regenerated.
1398
        * generated/unpack_i2.c: Regenerated.
1399
        * generated/unpack_i4.c: Regenerated.
1400
        * generated/unpack_i8.c: Regenerated.
1401
        * generated/unpack_r10.c: Regenerated.
1402
        * generated/unpack_r16.c: Regenerated.
1403
        * generated/unpack_r4.c: Regenerated.
1404
        * generated/unpack_r8.c: Regenerated.
1405
 
1406
2009-06-14 Francois-Xavier Coudert 
1407
 
1408
        * fmain.c (main): Don't PREFIX set_args.
1409
        * libgfortran.h (set_args): Use iexport_proto.
1410
        * runtime/main.c (set_args): Use iexport.
1411
 
1412
2009-06-07  Jerry DeLisle  
1413
 
1414
        PR libfortran/40008
1415
        * libgfortran.h: Define IOPARM_OPEN_HAS_NEWUNIT.
1416
        * io/open.c (st_open): Don't error on negative unit number if NEWUNIT
1417
        was specified. If NEWUNIT is specified, call new function to get the
1418
        unique unit number and assign it.
1419
        * io/io.h (st_parameter_open): Add pointer to newunit.  Add prototype for
1420
        next_available_newunit. Add prototype for new function,
1421
        get_unique_unit_number.
1422
        * io/unit.c: Declare next_available_newunit. Define the first newunit
1423
        number. (init_units): Initialize next_available_unit.
1424
        (get_unique_unit_number): New function. Fix whitespace and comments.
1425
        * io/transfer.c (data_transfer_init): Update error message to not be
1426
        specific to OPEN statements.
1427
 
1428
2009-06-07  Jerry DeLisle  
1429
 
1430
        PR libfortran/40334
1431
        * io/list_read.c (list_formatted_read_scalar): Set the end file
1432
        conditions after a return from EOF error.
1433
 
1434
2009-06-04  Janne Blomqvist  
1435
 
1436
        PR libfortran/40330
1437
        * io/format.c (free_format_hash_table): Also free and nullify hash key.
1438
        (save_parsed_format): Copy string rather than pointer copy.
1439
 
1440
2009-05-29  Francois-Xavier Coudert  
1441
 
1442
        PR fortran/40019
1443
        * intrinsics/bit_intrinsics.c: New file.
1444
        * gfortran.map (GFORTRAN_1.2): New list.
1445
        * Makefile.am: Add intrinsics/bit_intrinsics.c.
1446
        * Makefile.in: Regenerate.
1447
 
1448
2009-05-29  Janne Blomqvist  
1449
 
1450
        PR libfortran/40190
1451
        * configure.ac: Check for localtime_r and gmtime_r.
1452
        * intrinsics/date_and_time.c: Add fallback implementations for
1453
        localtime_r and gmtime_r.
1454
        (date_and_time): Change to use localtime_r and gmtime_r instead of
1455
        localtime and gmtime, respectively.
1456
        (itime0): Use localtime_r instead of localtime.
1457
        (ltime_0): Likewise.
1458
        (gmtime_0): Use gmtime_r instead of gmtime.
1459
        * config.h.in: Regenerated
1460
        * configure: Regenerated.
1461
 
1462
2009-05-27  Janne Blomqvist  
1463
 
1464
        PR fortran/39178
1465
        * runtime/main.c (store_exe_path): Remove static attribute.
1466
        * libgfortran.h: Add back store_exe_path prototype.
1467
 
1468
2009-05-27  Thomas Koenig  
1469
 
1470
        PR libfortran/40187
1471
        * intrinsics/iso_c_binding.c (c_f_pointer_u0):  Take care
1472
        of stride in "shape" argument.
1473
 
1474
2009-05-26  Tobias Burnus  
1475
 
1476
        PR fortran/39178
1477
        * runtime/main.c (store_exe_path): Make static
1478
        and multiple-times callable.
1479
        (set_args): Call store_exe_path.
1480
        * libgfortran.h: Remove store_exe_path prototype.
1481
        * fmain.c (main): Remove store_exe_path call.
1482
 
1483
2009-05-19  Jerry DeLisle  
1484
 
1485
        PR libfortran/37754
1486
        * io/write_float.def: Simplify format calculation.
1487
 
1488
2009-05-07  Francois-Xavier Coudert  
1489
 
1490
        PR fortran/22423
1491
        * io/transfer.c (read_block_direct): Avoid warning.
1492
        * runtime/string.c (compare0): Avoid warning.
1493
 
1494
2009-04-30  Janne Blomqvist  
1495
 
1496
        PR libfortran/39667
1497
        * io/file_pos.c (st_rewind): Don't truncate or flush.
1498
        * io/intrinsics.c (fgetc): Flush if switching mode.
1499
        (fputc): Likewise.
1500
 
1501
2009-04-18  Janne Blomqvist  
1502
 
1503
        PR libfortran/39782
1504
        * io/transfer.c (data_transfer_init): Don't flush before seek.
1505
        (finalize_transfer): Remove extra flush.
1506
 
1507
2009-04-17  Janne Blomqvist  
1508
 
1509
        * io/io.h (is_preconnected): Remove prototype.
1510
        * io/unix.c (is_preconnected): Remove function.
1511
 
1512
2009-04-17  Ulrich Weigand  
1513
 
1514
        * configure.ac: Test for -ffunction-sections -fdata-sections and
1515
        set SECTION_FLAGS accordingly.
1516
        * configure: Regenerate.
1517
 
1518
        * Makefile.am: Add SECTION_FLAGS to AM_CFLAGS.
1519
        * Makefile.in: Regenerate.
1520
 
1521
2009-04-15  Janne Blomqvist  
1522
 
1523
        PR libfortran/38668
1524
        * io/transfer.c (finalize_transfer): Don't flush for advance='no'.
1525
 
1526
2009-04-15 Danny Smith  
1527
 
1528
        * io/write.c (itoa) : Rename back to gfc_itoa.
1529
        (write_i): Adjust call to write_decimal.
1530
        (write_integer):  Use gfc_itoa.
1531
 
1532
2009-04-10  Janne Blomqvist  
1533
 
1534
        * io/io.h (move_pos_offset): Remove prototype.
1535
        * io/transfer.c (formatted_transfer_scalar_read): Use sseek
1536
        instead of move_pos_offset.
1537
        * io/unix.c (move_pos_offset): Remove.
1538
 
1539
2009-04-10  Janne Blomqvist  
1540
 
1541
        PR libfortran/39665 libfortran/39702 libfortran/39709
1542
        * io/io.h (st_parameter_dt): Revert aligned attribute from u.p.value.
1543
        * io/list_read.c (read_complex): Read directly into user pointer.
1544
        (read_real): Likewise.
1545
        (list_formatted_read_scalar): Update read_complex and read_real calls.
1546
        (nml_read_obj): Read directly into user pointer.
1547
 
1548
2009-04-09  Janne Blomqvist  
1549
 
1550
        PR libfortran/39665
1551
        * io/io.h (st_parameter_dt): Add aligned attribute to u.p.value.
1552
        * io/read.c (convert_real): Add note about alignment requirements.
1553
 
1554
2009-04-09  Nick Clifton  
1555
 
1556
        * m4/cshift0.m4: Change copyright header to refer to version 3
1557
        of the GNU General Public License with version 3.1 of the GCC
1558
        Runtime Library Exception and to point readers at the COPYING3
1559
        and COPYING3.RUNTIME files and the FSF's license web page.
1560
        * c99_protos.h: Likewise.
1561
        * config/fpu-387.h: Likewise.
1562
        * config/fpu-aix.h: Likewise.
1563
        * config/fpu-generic.h: Likewise.
1564
        * config/fpu-glibc.h: Likewise.
1565
        * config/fpu-sysv.h: Likewise.
1566
        * intrinsics/abort.c: Likewise.
1567
        * intrinsics/access.c: Likewise.
1568
        * intrinsics/args.c: Likewise.
1569
        * intrinsics/associated.c: Likewise.
1570
        * intrinsics/c99_functions.c: Likewise.
1571
        * intrinsics/chdir.c: Likewise.
1572
        * intrinsics/chmod.c: Likewise.
1573
        * intrinsics/clock.c: Likewise.
1574
        * intrinsics/cpu_time.c: Likewise.
1575
        * intrinsics/cshift0.c: Likewise.
1576
        * intrinsics/ctime.c: Likewise.
1577
        * intrinsics/date_and_time.c: Likewise.
1578
        * intrinsics/dprod_r8.f90: Likewise.
1579
        * intrinsics/dtime.c: Likewise.
1580
        * intrinsics/env.c: Likewise.
1581
        * intrinsics/eoshift0.c: Likewise.
1582
        * intrinsics/eoshift2.c: Likewise.
1583
        * intrinsics/erfc_scaled.c: Likewise.
1584
        * intrinsics/erfc_scaled_inc.c: Likewise.
1585
        * intrinsics/etime.c: Likewise.
1586
        * intrinsics/exit.c: Likewise.
1587
        * intrinsics/f2c_specifics.F90: Likewise.
1588
        * intrinsics/fnum.c: Likewise.
1589
        * intrinsics/gerror.c: Likewise.
1590
        * intrinsics/getXid.c: Likewise.
1591
        * intrinsics/getcwd.c: Likewise.
1592
        * intrinsics/getlog.c: Likewise.
1593
        * intrinsics/hostnm.c: Likewise.
1594
        * intrinsics/ierrno.c: Likewise.
1595
        * intrinsics/ishftc.c: Likewise.
1596
        * intrinsics/iso_c_binding.c: Likewise.
1597
        * intrinsics/iso_c_binding.h: Likewise.
1598
        * intrinsics/iso_c_generated_procs.c: Likewise.
1599
        * intrinsics/kill.c: Likewise.
1600
        * intrinsics/link.c: Likewise.
1601
        * intrinsics/malloc.c: Likewise.
1602
        * intrinsics/move_alloc.c: Likewise.
1603
        * intrinsics/mvbits.c: Likewise.
1604
        * intrinsics/pack_generic.c: Likewise.
1605
        * intrinsics/perror.c: Likewise.
1606
        * intrinsics/rand.c: Likewise.
1607
        * intrinsics/random.c: Likewise.
1608
        * intrinsics/rename.c: Likewise.
1609
        * intrinsics/reshape_generic.c: Likewise.
1610
        * intrinsics/reshape_packed.c: Likewise.
1611
        * intrinsics/selected_char_kind.c: Likewise.
1612
        * intrinsics/selected_int_kind.f90: Likewise.
1613
        * intrinsics/selected_real_kind.f90: Likewise.
1614
        * intrinsics/signal.c: Likewise.
1615
        * intrinsics/size.c: Likewise.
1616
        * intrinsics/sleep.c: Likewise.
1617
        * intrinsics/spread_generic.c: Likewise.
1618
        * intrinsics/stat.c: Likewise.
1619
        * intrinsics/string_intrinsics.c: Likewise.
1620
        * intrinsics/string_intrinsics_inc.c: Likewise.
1621
        * intrinsics/symlnk.c: Likewise.
1622
        * intrinsics/system.c: Likewise.
1623
        * intrinsics/system_clock.c: Likewise.
1624
        * intrinsics/time.c: Likewise.
1625
        * intrinsics/time_1.h: Likewise.
1626
        * intrinsics/transpose_generic.c: Likewise.
1627
        * intrinsics/umask.c: Likewise.
1628
        * intrinsics/unlink.c: Likewise.
1629
        * intrinsics/unpack_generic.c: Likewise.
1630
        * io/close.c: Likewise.
1631
        * io/fbuf.c: Likewise.
1632
        * io/file_pos.c: Likewise.
1633
        * io/format.c: Likewise.
1634
        * io/inquire.c: Likewise.
1635
        * io/intrinsics.c: Likewise.
1636
        * io/io.h: Likewise.
1637
        * io/list_read.c: Likewise.
1638
        * io/lock.c: Likewise.
1639
        * io/open.c: Likewise.
1640
        * io/read.c: Likewise.
1641
        * io/size_from_kind.c: Likewise.
1642
        * io/transfer.c: Likewise.
1643
        * io/unit.c: Likewise.
1644
        * io/unix.c: Likewise.
1645
        * io/write.c: Likewise.
1646
        * io/write_float.def: Likewise.
1647
        * libgfortran.h: Likewise.
1648
        * m4/all.m4: Likewise.
1649
        * m4/any.m4: Likewise.
1650
        * m4/count.m4: Likewise.
1651
        * m4/cshift1.m4: Likewise.
1652
        * m4/eoshift1.m4: Likewise.
1653
        * m4/eoshift3.m4: Likewise.
1654
        * m4/exponent.m4: Likewise.
1655
        * m4/fraction.m4: Likewise.
1656
        * m4/head.m4: Likewise.
1657
        * m4/in_pack.m4: Likewise.
1658
        * m4/in_unpack.m4: Likewise.
1659
        * m4/matmul.m4: Likewise.
1660
        * m4/matmull.m4: Likewise.
1661
        * m4/maxloc0.m4: Likewise.
1662
        * m4/maxloc1.m4: Likewise.
1663
        * m4/maxval.m4: Likewise.
1664
        * m4/minloc0.m4: Likewise.
1665
        * m4/minloc1.m4: Likewise.
1666
        * m4/minval.m4: Likewise.
1667
        * m4/nearest.m4: Likewise.
1668
        * m4/pack.m4: Likewise.
1669
        * m4/pow.m4: Likewise.
1670
        * m4/product.m4: Likewise.
1671
        * m4/reshape.m4: Likewise.
1672
        * m4/rrspacing.m4: Likewise.
1673
        * m4/set_exponent.m4: Likewise.
1674
        * m4/shape.m4: Likewise.
1675
        * m4/spacing.m4: Likewise.
1676
        * m4/spread.m4: Likewise.
1677
        * m4/sum.m4: Likewise.
1678
        * m4/transpose.m4: Likewise.
1679
        * m4/unpack.m4: Likewise.
1680
        * runtime/backtrace.c: Likewise.
1681
        * runtime/compile_options.c: Likewise.
1682
        * runtime/convert_char.c: Likewise.
1683
        * runtime/environ.c: Likewise.
1684
        * runtime/error.c: Likewise.
1685
        * runtime/in_pack_generic.c: Likewise.
1686
        * runtime/in_unpack_generic.c: Likewise.
1687
        * runtime/main.c: Likewise.
1688
        * runtime/memory.c: Likewise.
1689
        * runtime/pause.c: Likewise.
1690
        * runtime/select.c: Likewise.
1691
        * runtime/select_inc.c: Likewise.
1692
        * runtime/stop.c: Likewise.
1693
        * runtime/string.c: Likewise.
1694
        * generated/_abs_c10.F90: Regenerate.
1695
        * generated/_abs_c16.F90: Regenerate.
1696
        * generated/_abs_c4.F90: Regenerate.
1697
        * generated/_abs_c8.F90: Regenerate.
1698
        * generated/_abs_i16.F90: Regenerate.
1699
        * generated/_abs_i4.F90: Regenerate.
1700
        * generated/_abs_i8.F90: Regenerate.
1701
        * generated/_abs_r10.F90: Regenerate.
1702
        * generated/_abs_r16.F90: Regenerate.
1703
        * generated/_abs_r4.F90: Regenerate.
1704
        * generated/_abs_r8.F90: Regenerate.
1705
        * generated/_acos_r10.F90: Regenerate.
1706
        * generated/_acos_r16.F90: Regenerate.
1707
        * generated/_acos_r4.F90: Regenerate.
1708
        * generated/_acos_r8.F90: Regenerate.
1709
        * generated/_acosh_r10.F90: Regenerate.
1710
        * generated/_acosh_r16.F90: Regenerate.
1711
        * generated/_acosh_r4.F90: Regenerate.
1712
        * generated/_acosh_r8.F90: Regenerate.
1713
        * generated/_aimag_c10.F90: Regenerate.
1714
        * generated/_aimag_c16.F90: Regenerate.
1715
        * generated/_aimag_c4.F90: Regenerate.
1716
        * generated/_aimag_c8.F90: Regenerate.
1717
        * generated/_aint_r10.F90: Regenerate.
1718
        * generated/_aint_r16.F90: Regenerate.
1719
        * generated/_aint_r4.F90: Regenerate.
1720
        * generated/_aint_r8.F90: Regenerate.
1721
        * generated/_anint_r10.F90: Regenerate.
1722
        * generated/_anint_r16.F90: Regenerate.
1723
        * generated/_anint_r4.F90: Regenerate.
1724
        * generated/_anint_r8.F90: Regenerate.
1725
        * generated/_asin_r10.F90: Regenerate.
1726
        * generated/_asin_r16.F90: Regenerate.
1727
        * generated/_asin_r4.F90: Regenerate.
1728
        * generated/_asin_r8.F90: Regenerate.
1729
        * generated/_asinh_r10.F90: Regenerate.
1730
        * generated/_asinh_r16.F90: Regenerate.
1731
        * generated/_asinh_r4.F90: Regenerate.
1732
        * generated/_asinh_r8.F90: Regenerate.
1733
        * generated/_atan2_r10.F90: Regenerate.
1734
        * generated/_atan2_r16.F90: Regenerate.
1735
        * generated/_atan2_r4.F90: Regenerate.
1736
        * generated/_atan2_r8.F90: Regenerate.
1737
        * generated/_atan_r10.F90: Regenerate.
1738
        * generated/_atan_r16.F90: Regenerate.
1739
        * generated/_atan_r4.F90: Regenerate.
1740
        * generated/_atan_r8.F90: Regenerate.
1741
        * generated/_atanh_r10.F90: Regenerate.
1742
        * generated/_atanh_r16.F90: Regenerate.
1743
        * generated/_atanh_r4.F90: Regenerate.
1744
        * generated/_atanh_r8.F90: Regenerate.
1745
        * generated/_conjg_c10.F90: Regenerate.
1746
        * generated/_conjg_c16.F90: Regenerate.
1747
        * generated/_conjg_c4.F90: Regenerate.
1748
        * generated/_conjg_c8.F90: Regenerate.
1749
        * generated/_cos_c10.F90: Regenerate.
1750
        * generated/_cos_c16.F90: Regenerate.
1751
        * generated/_cos_c4.F90: Regenerate.
1752
        * generated/_cos_c8.F90: Regenerate.
1753
        * generated/_cos_r10.F90: Regenerate.
1754
        * generated/_cos_r16.F90: Regenerate.
1755
        * generated/_cos_r4.F90: Regenerate.
1756
        * generated/_cos_r8.F90: Regenerate.
1757
        * generated/_cosh_r10.F90: Regenerate.
1758
        * generated/_cosh_r16.F90: Regenerate.
1759
        * generated/_cosh_r4.F90: Regenerate.
1760
        * generated/_cosh_r8.F90: Regenerate.
1761
        * generated/_dim_i16.F90: Regenerate.
1762
        * generated/_dim_i4.F90: Regenerate.
1763
        * generated/_dim_i8.F90: Regenerate.
1764
        * generated/_dim_r10.F90: Regenerate.
1765
        * generated/_dim_r16.F90: Regenerate.
1766
        * generated/_dim_r4.F90: Regenerate.
1767
        * generated/_dim_r8.F90: Regenerate.
1768
        * generated/_exp_c10.F90: Regenerate.
1769
        * generated/_exp_c16.F90: Regenerate.
1770
        * generated/_exp_c4.F90: Regenerate.
1771
        * generated/_exp_c8.F90: Regenerate.
1772
        * generated/_exp_r10.F90: Regenerate.
1773
        * generated/_exp_r16.F90: Regenerate.
1774
        * generated/_exp_r4.F90: Regenerate.
1775
        * generated/_exp_r8.F90: Regenerate.
1776
        * generated/_log10_r10.F90: Regenerate.
1777
        * generated/_log10_r16.F90: Regenerate.
1778
        * generated/_log10_r4.F90: Regenerate.
1779
        * generated/_log10_r8.F90: Regenerate.
1780
        * generated/_log_c10.F90: Regenerate.
1781
        * generated/_log_c16.F90: Regenerate.
1782
        * generated/_log_c4.F90: Regenerate.
1783
        * generated/_log_c8.F90: Regenerate.
1784
        * generated/_log_r10.F90: Regenerate.
1785
        * generated/_log_r16.F90: Regenerate.
1786
        * generated/_log_r4.F90: Regenerate.
1787
        * generated/_log_r8.F90: Regenerate.
1788
        * generated/_mod_i16.F90: Regenerate.
1789
        * generated/_mod_i4.F90: Regenerate.
1790
        * generated/_mod_i8.F90: Regenerate.
1791
        * generated/_mod_r10.F90: Regenerate.
1792
        * generated/_mod_r16.F90: Regenerate.
1793
        * generated/_mod_r4.F90: Regenerate.
1794
        * generated/_mod_r8.F90: Regenerate.
1795
        * generated/_sign_i16.F90: Regenerate.
1796
        * generated/_sign_i4.F90: Regenerate.
1797
        * generated/_sign_i8.F90: Regenerate.
1798
        * generated/_sign_r10.F90: Regenerate.
1799
        * generated/_sign_r16.F90: Regenerate.
1800
        * generated/_sign_r4.F90: Regenerate.
1801
        * generated/_sign_r8.F90: Regenerate.
1802
        * generated/_sin_c10.F90: Regenerate.
1803
        * generated/_sin_c16.F90: Regenerate.
1804
        * generated/_sin_c4.F90: Regenerate.
1805
        * generated/_sin_c8.F90: Regenerate.
1806
        * generated/_sin_r10.F90: Regenerate.
1807
        * generated/_sin_r16.F90: Regenerate.
1808
        * generated/_sin_r4.F90: Regenerate.
1809
        * generated/_sin_r8.F90: Regenerate.
1810
        * generated/_sinh_r10.F90: Regenerate.
1811
        * generated/_sinh_r16.F90: Regenerate.
1812
        * generated/_sinh_r4.F90: Regenerate.
1813
        * generated/_sinh_r8.F90: Regenerate.
1814
        * generated/_sqrt_c10.F90: Regenerate.
1815
        * generated/_sqrt_c16.F90: Regenerate.
1816
        * generated/_sqrt_c4.F90: Regenerate.
1817
        * generated/_sqrt_c8.F90: Regenerate.
1818
        * generated/_sqrt_r10.F90: Regenerate.
1819
        * generated/_sqrt_r16.F90: Regenerate.
1820
        * generated/_sqrt_r4.F90: Regenerate.
1821
        * generated/_sqrt_r8.F90: Regenerate.
1822
        * generated/_tan_r10.F90: Regenerate.
1823
        * generated/_tan_r16.F90: Regenerate.
1824
        * generated/_tan_r4.F90: Regenerate.
1825
        * generated/_tan_r8.F90: Regenerate.
1826
        * generated/_tanh_r10.F90: Regenerate.
1827
        * generated/_tanh_r16.F90: Regenerate.
1828
        * generated/_tanh_r4.F90: Regenerate.
1829
        * generated/_tanh_r8.F90: Regenerate.
1830
        * generated/all_l1.c: Regenerate.
1831
        * generated/all_l16.c: Regenerate.
1832
        * generated/all_l2.c: Regenerate.
1833
        * generated/all_l4.c: Regenerate.
1834
        * generated/all_l8.c: Regenerate.
1835
        * generated/any_l1.c: Regenerate.
1836
        * generated/any_l16.c: Regenerate.
1837
        * generated/any_l2.c: Regenerate.
1838
        * generated/any_l4.c: Regenerate.
1839
        * generated/any_l8.c: Regenerate.
1840
        * generated/count_16_l.c: Regenerate.
1841
        * generated/count_1_l.c: Regenerate.
1842
        * generated/count_2_l.c: Regenerate.
1843
        * generated/count_4_l.c: Regenerate.
1844
        * generated/count_8_l.c: Regenerate.
1845
        * generated/cshift0_c10.c: Regenerate.
1846
        * generated/cshift0_c16.c: Regenerate.
1847
        * generated/cshift0_c4.c: Regenerate.
1848
        * generated/cshift0_c8.c: Regenerate.
1849
        * generated/cshift0_i1.c: Regenerate.
1850
        * generated/cshift0_i16.c: Regenerate.
1851
        * generated/cshift0_i2.c: Regenerate.
1852
        * generated/cshift0_i4.c: Regenerate.
1853
        * generated/cshift0_i8.c: Regenerate.
1854
        * generated/cshift0_r10.c: Regenerate.
1855
        * generated/cshift0_r16.c: Regenerate.
1856
        * generated/cshift0_r4.c: Regenerate.
1857
        * generated/cshift0_r8.c: Regenerate.
1858
        * generated/cshift1_16.c: Regenerate.
1859
        * generated/cshift1_4.c: Regenerate.
1860
        * generated/cshift1_8.c: Regenerate.
1861
        * generated/eoshift1_16.c: Regenerate.
1862
        * generated/eoshift1_4.c: Regenerate.
1863
        * generated/eoshift1_8.c: Regenerate.
1864
        * generated/eoshift3_16.c: Regenerate.
1865
        * generated/eoshift3_4.c: Regenerate.
1866
        * generated/eoshift3_8.c: Regenerate.
1867
        * generated/exponent_r10.c: Regenerate.
1868
        * generated/exponent_r16.c: Regenerate.
1869
        * generated/exponent_r4.c: Regenerate.
1870
        * generated/exponent_r8.c: Regenerate.
1871
        * generated/fraction_r10.c: Regenerate.
1872
        * generated/fraction_r16.c: Regenerate.
1873
        * generated/fraction_r4.c: Regenerate.
1874
        * generated/fraction_r8.c: Regenerate.
1875
        * generated/in_pack_c10.c: Regenerate.
1876
        * generated/in_pack_c16.c: Regenerate.
1877
        * generated/in_pack_c4.c: Regenerate.
1878
        * generated/in_pack_c8.c: Regenerate.
1879
        * generated/in_pack_i1.c: Regenerate.
1880
        * generated/in_pack_i16.c: Regenerate.
1881
        * generated/in_pack_i2.c: Regenerate.
1882
        * generated/in_pack_i4.c: Regenerate.
1883
        * generated/in_pack_i8.c: Regenerate.
1884
        * generated/in_pack_r10.c: Regenerate.
1885
        * generated/in_pack_r16.c: Regenerate.
1886
        * generated/in_pack_r4.c: Regenerate.
1887
        * generated/in_pack_r8.c: Regenerate.
1888
        * generated/in_unpack_c10.c: Regenerate.
1889
        * generated/in_unpack_c16.c: Regenerate.
1890
        * generated/in_unpack_c4.c: Regenerate.
1891
        * generated/in_unpack_c8.c: Regenerate.
1892
        * generated/in_unpack_i1.c: Regenerate.
1893
        * generated/in_unpack_i16.c: Regenerate.
1894
        * generated/in_unpack_i2.c: Regenerate.
1895
        * generated/in_unpack_i4.c: Regenerate.
1896
        * generated/in_unpack_i8.c: Regenerate.
1897
        * generated/in_unpack_r10.c: Regenerate.
1898
        * generated/in_unpack_r16.c: Regenerate.
1899
        * generated/in_unpack_r4.c: Regenerate.
1900
        * generated/in_unpack_r8.c: Regenerate.
1901
        * generated/matmul_c10.c: Regenerate.
1902
        * generated/matmul_c16.c: Regenerate.
1903
        * generated/matmul_c4.c: Regenerate.
1904
        * generated/matmul_c8.c: Regenerate.
1905
        * generated/matmul_i1.c: Regenerate.
1906
        * generated/matmul_i16.c: Regenerate.
1907
        * generated/matmul_i2.c: Regenerate.
1908
        * generated/matmul_i4.c: Regenerate.
1909
        * generated/matmul_i8.c: Regenerate.
1910
        * generated/matmul_l16.c: Regenerate.
1911
        * generated/matmul_l4.c: Regenerate.
1912
        * generated/matmul_l8.c: Regenerate.
1913
        * generated/matmul_r10.c: Regenerate.
1914
        * generated/matmul_r16.c: Regenerate.
1915
        * generated/matmul_r4.c: Regenerate.
1916
        * generated/matmul_r8.c: Regenerate.
1917
        * generated/maxloc0_16_i1.c: Regenerate.
1918
        * generated/maxloc0_16_i16.c: Regenerate.
1919
        * generated/maxloc0_16_i2.c: Regenerate.
1920
        * generated/maxloc0_16_i4.c: Regenerate.
1921
        * generated/maxloc0_16_i8.c: Regenerate.
1922
        * generated/maxloc0_16_r10.c: Regenerate.
1923
        * generated/maxloc0_16_r16.c: Regenerate.
1924
        * generated/maxloc0_16_r4.c: Regenerate.
1925
        * generated/maxloc0_16_r8.c: Regenerate.
1926
        * generated/maxloc0_4_i1.c: Regenerate.
1927
        * generated/maxloc0_4_i16.c: Regenerate.
1928
        * generated/maxloc0_4_i2.c: Regenerate.
1929
        * generated/maxloc0_4_i4.c: Regenerate.
1930
        * generated/maxloc0_4_i8.c: Regenerate.
1931
        * generated/maxloc0_4_r10.c: Regenerate.
1932
        * generated/maxloc0_4_r16.c: Regenerate.
1933
        * generated/maxloc0_4_r4.c: Regenerate.
1934
        * generated/maxloc0_4_r8.c: Regenerate.
1935
        * generated/maxloc0_8_i1.c: Regenerate.
1936
        * generated/maxloc0_8_i16.c: Regenerate.
1937
        * generated/maxloc0_8_i2.c: Regenerate.
1938
        * generated/maxloc0_8_i4.c: Regenerate.
1939
        * generated/maxloc0_8_i8.c: Regenerate.
1940
        * generated/maxloc0_8_r10.c: Regenerate.
1941
        * generated/maxloc0_8_r16.c: Regenerate.
1942
        * generated/maxloc0_8_r4.c: Regenerate.
1943
        * generated/maxloc0_8_r8.c: Regenerate.
1944
        * generated/maxloc1_16_i1.c: Regenerate.
1945
        * generated/maxloc1_16_i16.c: Regenerate.
1946
        * generated/maxloc1_16_i2.c: Regenerate.
1947
        * generated/maxloc1_16_i4.c: Regenerate.
1948
        * generated/maxloc1_16_i8.c: Regenerate.
1949
        * generated/maxloc1_16_r10.c: Regenerate.
1950
        * generated/maxloc1_16_r16.c: Regenerate.
1951
        * generated/maxloc1_16_r4.c: Regenerate.
1952
        * generated/maxloc1_16_r8.c: Regenerate.
1953
        * generated/maxloc1_4_i1.c: Regenerate.
1954
        * generated/maxloc1_4_i16.c: Regenerate.
1955
        * generated/maxloc1_4_i2.c: Regenerate.
1956
        * generated/maxloc1_4_i4.c: Regenerate.
1957
        * generated/maxloc1_4_i8.c: Regenerate.
1958
        * generated/maxloc1_4_r10.c: Regenerate.
1959
        * generated/maxloc1_4_r16.c: Regenerate.
1960
        * generated/maxloc1_4_r4.c: Regenerate.
1961
        * generated/maxloc1_4_r8.c: Regenerate.
1962
        * generated/maxloc1_8_i1.c: Regenerate.
1963
        * generated/maxloc1_8_i16.c: Regenerate.
1964
        * generated/maxloc1_8_i2.c: Regenerate.
1965
        * generated/maxloc1_8_i4.c: Regenerate.
1966
        * generated/maxloc1_8_i8.c: Regenerate.
1967
        * generated/maxloc1_8_r10.c: Regenerate.
1968
        * generated/maxloc1_8_r16.c: Regenerate.
1969
        * generated/maxloc1_8_r4.c: Regenerate.
1970
        * generated/maxloc1_8_r8.c: Regenerate.
1971
        * generated/maxval_i1.c: Regenerate.
1972
        * generated/maxval_i16.c: Regenerate.
1973
        * generated/maxval_i2.c: Regenerate.
1974
        * generated/maxval_i4.c: Regenerate.
1975
        * generated/maxval_i8.c: Regenerate.
1976
        * generated/maxval_r10.c: Regenerate.
1977
        * generated/maxval_r16.c: Regenerate.
1978
        * generated/maxval_r4.c: Regenerate.
1979
        * generated/maxval_r8.c: Regenerate.
1980
        * generated/minloc0_16_i1.c: Regenerate.
1981
        * generated/minloc0_16_i16.c: Regenerate.
1982
        * generated/minloc0_16_i2.c: Regenerate.
1983
        * generated/minloc0_16_i4.c: Regenerate.
1984
        * generated/minloc0_16_i8.c: Regenerate.
1985
        * generated/minloc0_16_r10.c: Regenerate.
1986
        * generated/minloc0_16_r16.c: Regenerate.
1987
        * generated/minloc0_16_r4.c: Regenerate.
1988
        * generated/minloc0_16_r8.c: Regenerate.
1989
        * generated/minloc0_4_i1.c: Regenerate.
1990
        * generated/minloc0_4_i16.c: Regenerate.
1991
        * generated/minloc0_4_i2.c: Regenerate.
1992
        * generated/minloc0_4_i4.c: Regenerate.
1993
        * generated/minloc0_4_i8.c: Regenerate.
1994
        * generated/minloc0_4_r10.c: Regenerate.
1995
        * generated/minloc0_4_r16.c: Regenerate.
1996
        * generated/minloc0_4_r4.c: Regenerate.
1997
        * generated/minloc0_4_r8.c: Regenerate.
1998
        * generated/minloc0_8_i1.c: Regenerate.
1999
        * generated/minloc0_8_i16.c: Regenerate.
2000
        * generated/minloc0_8_i2.c: Regenerate.
2001
        * generated/minloc0_8_i4.c: Regenerate.
2002
        * generated/minloc0_8_i8.c: Regenerate.
2003
        * generated/minloc0_8_r10.c: Regenerate.
2004
        * generated/minloc0_8_r16.c: Regenerate.
2005
        * generated/minloc0_8_r4.c: Regenerate.
2006
        * generated/minloc0_8_r8.c: Regenerate.
2007
        * generated/minloc1_16_i1.c: Regenerate.
2008
        * generated/minloc1_16_i16.c: Regenerate.
2009
        * generated/minloc1_16_i2.c: Regenerate.
2010
        * generated/minloc1_16_i4.c: Regenerate.
2011
        * generated/minloc1_16_i8.c: Regenerate.
2012
        * generated/minloc1_16_r10.c: Regenerate.
2013
        * generated/minloc1_16_r16.c: Regenerate.
2014
        * generated/minloc1_16_r4.c: Regenerate.
2015
        * generated/minloc1_16_r8.c: Regenerate.
2016
        * generated/minloc1_4_i1.c: Regenerate.
2017
        * generated/minloc1_4_i16.c: Regenerate.
2018
        * generated/minloc1_4_i2.c: Regenerate.
2019
        * generated/minloc1_4_i4.c: Regenerate.
2020
        * generated/minloc1_4_i8.c: Regenerate.
2021
        * generated/minloc1_4_r10.c: Regenerate.
2022
        * generated/minloc1_4_r16.c: Regenerate.
2023
        * generated/minloc1_4_r4.c: Regenerate.
2024
        * generated/minloc1_4_r8.c: Regenerate.
2025
        * generated/minloc1_8_i1.c: Regenerate.
2026
        * generated/minloc1_8_i16.c: Regenerate.
2027
        * generated/minloc1_8_i2.c: Regenerate.
2028
        * generated/minloc1_8_i4.c: Regenerate.
2029
        * generated/minloc1_8_i8.c: Regenerate.
2030
        * generated/minloc1_8_r10.c: Regenerate.
2031
        * generated/minloc1_8_r16.c: Regenerate.
2032
        * generated/minloc1_8_r4.c: Regenerate.
2033
        * generated/minloc1_8_r8.c: Regenerate.
2034
        * generated/minval_i1.c: Regenerate.
2035
        * generated/minval_i16.c: Regenerate.
2036
        * generated/minval_i2.c: Regenerate.
2037
        * generated/minval_i4.c: Regenerate.
2038
        * generated/minval_i8.c: Regenerate.
2039
        * generated/minval_r10.c: Regenerate.
2040
        * generated/minval_r16.c: Regenerate.
2041
        * generated/minval_r4.c: Regenerate.
2042
        * generated/minval_r8.c: Regenerate.
2043
        * generated/misc_specifics.F90: Regenerate.
2044
        * generated/nearest_r10.c: Regenerate.
2045
        * generated/nearest_r16.c: Regenerate.
2046
        * generated/nearest_r4.c: Regenerate.
2047
        * generated/nearest_r8.c: Regenerate.
2048
        * generated/pack_c10.c: Regenerate.
2049
        * generated/pack_c16.c: Regenerate.
2050
        * generated/pack_c4.c: Regenerate.
2051
        * generated/pack_c8.c: Regenerate.
2052
        * generated/pack_i1.c: Regenerate.
2053
        * generated/pack_i16.c: Regenerate.
2054
        * generated/pack_i2.c: Regenerate.
2055
        * generated/pack_i4.c: Regenerate.
2056
        * generated/pack_i8.c: Regenerate.
2057
        * generated/pack_r10.c: Regenerate.
2058
        * generated/pack_r16.c: Regenerate.
2059
        * generated/pack_r4.c: Regenerate.
2060
        * generated/pack_r8.c: Regenerate.
2061
        * generated/pow_c10_i16.c: Regenerate.
2062
        * generated/pow_c10_i4.c: Regenerate.
2063
        * generated/pow_c10_i8.c: Regenerate.
2064
        * generated/pow_c16_i16.c: Regenerate.
2065
        * generated/pow_c16_i4.c: Regenerate.
2066
        * generated/pow_c16_i8.c: Regenerate.
2067
        * generated/pow_c4_i16.c: Regenerate.
2068
        * generated/pow_c4_i4.c: Regenerate.
2069
        * generated/pow_c4_i8.c: Regenerate.
2070
        * generated/pow_c8_i16.c: Regenerate.
2071
        * generated/pow_c8_i4.c: Regenerate.
2072
        * generated/pow_c8_i8.c: Regenerate.
2073
        * generated/pow_i16_i16.c: Regenerate.
2074
        * generated/pow_i16_i4.c: Regenerate.
2075
        * generated/pow_i16_i8.c: Regenerate.
2076
        * generated/pow_i4_i16.c: Regenerate.
2077
        * generated/pow_i4_i4.c: Regenerate.
2078
        * generated/pow_i4_i8.c: Regenerate.
2079
        * generated/pow_i8_i16.c: Regenerate.
2080
        * generated/pow_i8_i4.c: Regenerate.
2081
        * generated/pow_i8_i8.c: Regenerate.
2082
        * generated/pow_r10_i16.c: Regenerate.
2083
        * generated/pow_r10_i8.c: Regenerate.
2084
        * generated/pow_r16_i16.c: Regenerate.
2085
        * generated/pow_r16_i8.c: Regenerate.
2086
        * generated/pow_r4_i16.c: Regenerate.
2087
        * generated/pow_r4_i8.c: Regenerate.
2088
        * generated/pow_r8_i16.c: Regenerate.
2089
        * generated/pow_r8_i8.c: Regenerate.
2090
        * generated/product_c10.c: Regenerate.
2091
        * generated/product_c16.c: Regenerate.
2092
        * generated/product_c4.c: Regenerate.
2093
        * generated/product_c8.c: Regenerate.
2094
        * generated/product_i1.c: Regenerate.
2095
        * generated/product_i16.c: Regenerate.
2096
        * generated/product_i2.c: Regenerate.
2097
        * generated/product_i4.c: Regenerate.
2098
        * generated/product_i8.c: Regenerate.
2099
        * generated/product_r10.c: Regenerate.
2100
        * generated/product_r16.c: Regenerate.
2101
        * generated/product_r4.c: Regenerate.
2102
        * generated/product_r8.c: Regenerate.
2103
        * generated/reshape_c10.c: Regenerate.
2104
        * generated/reshape_c16.c: Regenerate.
2105
        * generated/reshape_c4.c: Regenerate.
2106
        * generated/reshape_c8.c: Regenerate.
2107
        * generated/reshape_i16.c: Regenerate.
2108
        * generated/reshape_i4.c: Regenerate.
2109
        * generated/reshape_i8.c: Regenerate.
2110
        * generated/reshape_r10.c: Regenerate.
2111
        * generated/reshape_r16.c: Regenerate.
2112
        * generated/reshape_r4.c: Regenerate.
2113
        * generated/reshape_r8.c: Regenerate.
2114
        * generated/rrspacing_r10.c: Regenerate.
2115
        * generated/rrspacing_r16.c: Regenerate.
2116
        * generated/rrspacing_r4.c: Regenerate.
2117
        * generated/rrspacing_r8.c: Regenerate.
2118
        * generated/set_exponent_r10.c: Regenerate.
2119
        * generated/set_exponent_r16.c: Regenerate.
2120
        * generated/set_exponent_r4.c: Regenerate.
2121
        * generated/set_exponent_r8.c: Regenerate.
2122
        * generated/shape_i16.c: Regenerate.
2123
        * generated/shape_i4.c: Regenerate.
2124
        * generated/shape_i8.c: Regenerate.
2125
        * generated/spacing_r10.c: Regenerate.
2126
        * generated/spacing_r16.c: Regenerate.
2127
        * generated/spacing_r4.c: Regenerate.
2128
        * generated/spacing_r8.c: Regenerate.
2129
        * generated/spread_c10.c: Regenerate.
2130
        * generated/spread_c16.c: Regenerate.
2131
        * generated/spread_c4.c: Regenerate.
2132
        * generated/spread_c8.c: Regenerate.
2133
        * generated/spread_i1.c: Regenerate.
2134
        * generated/spread_i16.c: Regenerate.
2135
        * generated/spread_i2.c: Regenerate.
2136
        * generated/spread_i4.c: Regenerate.
2137
        * generated/spread_i8.c: Regenerate.
2138
        * generated/spread_r10.c: Regenerate.
2139
        * generated/spread_r16.c: Regenerate.
2140
        * generated/spread_r4.c: Regenerate.
2141
        * generated/spread_r8.c: Regenerate.
2142
        * generated/sum_c10.c: Regenerate.
2143
        * generated/sum_c16.c: Regenerate.
2144
        * generated/sum_c4.c: Regenerate.
2145
        * generated/sum_c8.c: Regenerate.
2146
        * generated/sum_i1.c: Regenerate.
2147
        * generated/sum_i16.c: Regenerate.
2148
        * generated/sum_i2.c: Regenerate.
2149
        * generated/sum_i4.c: Regenerate.
2150
        * generated/sum_i8.c: Regenerate.
2151
        * generated/sum_r10.c: Regenerate.
2152
        * generated/sum_r16.c: Regenerate.
2153
        * generated/sum_r4.c: Regenerate.
2154
        * generated/sum_r8.c: Regenerate.
2155
        * generated/transpose_c10.c: Regenerate.
2156
        * generated/transpose_c16.c: Regenerate.
2157
        * generated/transpose_c4.c: Regenerate.
2158
        * generated/transpose_c8.c: Regenerate.
2159
        * generated/transpose_i16.c: Regenerate.
2160
        * generated/transpose_i4.c: Regenerate.
2161
        * generated/transpose_i8.c: Regenerate.
2162
        * generated/transpose_r10.c: Regenerate.
2163
        * generated/transpose_r16.c: Regenerate.
2164
        * generated/transpose_r4.c: Regenerate.
2165
        * generated/transpose_r8.c: Regenerate.
2166
        * generated/unpack_c10.c: Regenerate.
2167
        * generated/unpack_c16.c: Regenerate.
2168
        * generated/unpack_c4.c: Regenerate.
2169
        * generated/unpack_c8.c: Regenerate.
2170
        * generated/unpack_i1.c: Regenerate.
2171
        * generated/unpack_i16.c: Regenerate.
2172
        * generated/unpack_i2.c: Regenerate.
2173
        * generated/unpack_i4.c: Regenerate.
2174
        * generated/unpack_i8.c: Regenerate.
2175
        * generated/unpack_r10.c: Regenerate.
2176
        * generated/unpack_r16.c: Regenerate.
2177
        * generated/unpack_r4.c: Regenerate.
2178
        * generated/unpack_r8.c: Regenerate.
2179
 
2180
2009-04-08  Janne Blomqvist  
2181
 
2182
        * io/open.c (already_open): Test for POSIX close return value.
2183
        * io/unit.c (close_unit_1): Likewise.
2184
        * io/unix.c (raw_close): Return 0 for success for preconnected units.
2185
 
2186
2009-04-08  Janne Blomqvist  
2187
 
2188
        * runtime/string.c (compare0): Use gfc_charlen_type.
2189
        * runtime/error.c (gfc_itoa): Move to io/write.c
2190
        (xtoa): Rename to gfc_xtoa.
2191
        * runtime/backtrace.c (show_backtrace): Call gfc_xtoa.
2192
        * intrinsics/cshift0.c (cshift0): Use index_type for shift arg.
2193
        * intrinsics/date_and_time.c (date_and_time): Use index_type.
2194
        (itime_i4): Likewise.
2195
        (itime_i8): Likewise.
2196
        (idate_i4): Likewise.
2197
        (idate_i8): Likewise.
2198
        (gmtime_i4): Likewise.
2199
        (gmtime_i8): Likewise.
2200
        (ltime_i4): Likewise.
2201
        (ltime_i8): Likewise.
2202
        * libgfortran.h (gfc_itoa): Remove prototype.
2203
        (xtoa): Rename prototype to gfc_xtoa.
2204
        * io/list_read.c (nml_read_obj): Use size_t for string length.
2205
        * io/transfer.c (read_block_direct): Change nbytes arg from
2206
        pointer to value.
2207
        (unformatted_read): Minor cleanup, call read_block_directly properly.
2208
        (skip_record): Use ssize_t.
2209
        (next_record_w_unf): Avoid stell() call by calling sseek with SEEK_CUR.
2210
        (iolength_transfer): Make sure to multiply before cast.
2211
        * io/intrinsics.c (fgetc): Remove unnecessary variable.
2212
        * io/format.c (format_hash): Use gfc_charlen_type.
2213
        * io/write.c (itoa): Move from runtime/error.c:gfc_itoa, rename,
2214
        make static.
2215
        (write_i): Call with pointer to itoa.
2216
        (write_z): Call with pointer to gfc_xtoa.
2217
        (write_integer): Pointer to itoa.
2218
        (nml_write_obj): Type cleanup, don't call strlen in loop.
2219
 
2220
2009-04-06  H.J. Lu  
2221
 
2222
        PR libgfortran/39664
2223
        * io/unix.c (raw_close): Don't close STDOUT_FILENO,
2224
        STDERR_FILENO nor STDIN_FILENO.
2225
 
2226
2009-04-06  David Edelsohn  
2227
 
2228
        * io/io.h (struct stream): Rename truncate to trunc.
2229
        (struncate): Same.
2230
        * io/unix.c (raw_init): Rename truncate to trunc.
2231
        (buf_init): Same.
2232
        (open_internal): Same.
2233
 
2234
2009-04-05  Daniel Kraft  
2235
 
2236
        PR fortran/38654
2237
        * io/read.c (read_f): Reworked to speed up floating point parsing.
2238
        (convert_real): Use pointer-casting instead of memcpy and temporaries.
2239
 
2240
2009-04-05  Jerry DeLisle  
2241
 
2242
        PR libfortran/37754
2243
        * io/io.h (format_hash_entry): New structure for hash table.
2244
        (format_hash_table): The hash table itself.
2245
        (free_format_data): Revise function prototype.
2246
        (free_format_hash_table, init_format_hash,
2247
        free_format_hash): New function prototypes.
2248
        * io/unit.c (close_unit_1): Use free_format_hash_table.
2249
        * io/transfer.c (st_read_done, st_write_done): Free format data if
2250
        internal unit.
2251
        * io/format.c (free_format_hash_table): New function that frees any
2252
        memory allocated previously for cached format data.
2253
        (reset_node): New static helper function to reset the format counters
2254
        for a format node.
2255
        (reset_fnode_counters): New static function recursively calls reset_node
2256
        to traverse the fnode tree.
2257
        (format_hash): New simple hash function based on XOR, probabalistic,
2258
        tosses collisions.
2259
        (save_parsed_format): New static function to save the parsed format
2260
        data to use again.
2261
        (find_parsed_format): New static function searches the hash table
2262
        looking for a match.
2263
        (free_format_data): Revised to accept pointer to format data rather than
2264
        the dtp pointer so that the function can be used in more places.
2265
        (format_lex): Editorial.
2266
        (parse_format_list): Set flag used to determine of format data hashing
2267
        is to be used.  Internal units are not persistent enough for this.
2268
        (revert): Move to ne location in file.
2269
        (parse_format): Use new functions to look for previously parsed
2270
        format strings and use them rather than re-parse.  If not found, saves
2271
        the parsed format data for later use.
2272
 
2273
2009-04-05  Jerry DeLisle  
2274
 
2275
        PR libfortran/37754
2276
        * io/transfer.c (formatted_transfer_scalar): Remove this function by
2277
        factoring it into two new functions, one for read and one for write,
2278
        eliminating all the conditionals for read or write mode.
2279
        (formatted transfer_scalar_read): New function.
2280
        (formatted transfer_scalar_write): New function.
2281
        (formatted_transfer): Use new functions.
2282
 
2283
2009-04-05  Janne Blomqvist  
2284
 
2285
        PR libfortran/25561 libfortran/37754
2286
        * io/io.h (struct stream): Define new stream interface function
2287
        pointers, and inline functions for accessing it.
2288
        (struct fbuf): Use int instead of size_t, remove flushed element.
2289
        (mem_alloc_w): New prototype.
2290
        (mem_alloc_r): New prototype.
2291
        (stream_at_bof): Remove prototype.
2292
        (stream_at_eof): Remove prototype.
2293
        (file_position): Remove prototype.
2294
        (flush): Remove prototype.
2295
        (stream_offset): Remove prototype.
2296
        (unit_truncate): New prototype.
2297
        (read_block_form): Change to return pointer, int* argument.
2298
        (hit_eof): New prototype.
2299
        (fbuf_init): Change prototype.
2300
        (fbuf_reset): Change prototype.
2301
        (fbuf_alloc): Change prototype.
2302
        (fbuf_flush): Change prototype.
2303
        (fbuf_seek): Change prototype.
2304
        (fbuf_read): New prototype.
2305
        (fbuf_getc_refill): New prototype.
2306
        (fbuf_getc): New inline function.
2307
        * io/fbuf.c (fbuf_init): Use int, get rid of flushed.
2308
        (fbuf_debug): New function.
2309
        (fbuf_reset): Flush, and return position offset.
2310
        (fbuf_alloc): Simplify, don't flush, just realloc.
2311
        (fbuf_flush): Make usable for read mode, salvage remaining bytes.
2312
        (fbuf_seek): New whence argument.
2313
        (fbuf_read): New function.
2314
        (fbuf_getc_refill): New function.
2315
        * io/file_pos.c (formatted_backspace): Use new stream interface.
2316
        (unformatted_backspace): Likewise.
2317
        (st_backspace): Make sure format buffer is reset, use new stream
2318
        interface, use unit_truncate.
2319
        (st_endfile): Likewise.
2320
        (st_rewind): Likewise.
2321
        * io/intrinsics.c: Use new stream interface.
2322
        * io/list_read.c (push_char): Don't use u.p.scratch, use realloc
2323
        to resize.
2324
        (free_saved): Don't check u.p.scratch.
2325
        (next_char): Use new stream interface, use fbuf_getc() for external files.
2326
        (finish_list_read): flush format buffer.
2327
        (nml_query): Update to use modified interface:s
2328
        * io/open.c (test_endfile): Use new stream interface.
2329
        (edit_modes): Likewise.
2330
        (new_unit): Likewise, set bytes_left to 1 for stream files.
2331
        * io/read.c (read_l): Use new read_block_form interface.
2332
        (read_utf8): Likewise.
2333
        (read_utf8_char1): Likewise.
2334
        (read_default_char1): Likewise.
2335
        (read_utf8_char4): Likewise.
2336
        (read_default_char4): Likewise.
2337
        (read_a): Likewise.
2338
        (read_a_char4): Likewise.
2339
        (read_decimal): Likewise.
2340
        (read_radix): Likewise.
2341
        (read_f): Likewise.
2342
        * io/transfer.c (read_sf): Use fbuf_read and mem_alloc_r, remove
2343
        usage of u.p.line_buffer.
2344
        (read_block_form): Update interface to return pointer, use
2345
        fbuf_read for direct access.
2346
        (read_block_direct): Update to new stream interface.
2347
        (write_block): Use mem_alloc_w for internal I/O.
2348
        (write_buf): Update to new stream interface.
2349
        (formatted_transfer_scalar): Don't use u.p.line_buffer, use
2350
        fbuf_seek for external files.
2351
        (us_read): Update to new stream interface.
2352
        (us_write): Likewise.
2353
        (data_transfer_init): Always check if we switch modes and flush.
2354
        (skip_record): Use new stream interface, fix comparison.
2355
        (next_record_r): Check for and reset u.p.at_eof, use new stream
2356
        interface, use fbuf_getc for spacing.
2357
        (write_us_marker): Update to new stream interface, don't inline.
2358
        (next_record_w_unf): Likewise.
2359
        (sset): New function.
2360
        (next_record_w): Use new stream interface, use fbuf for printing
2361
        newline.
2362
        (next_record): Use new stream interface.
2363
        (finalize_transfer): Remove sfree call, use new stream interface.
2364
        (st_iolength_done): Don't use u.p.scratch.
2365
        (st_read): Don't check for end of file.
2366
        (st_read_done): Don't use u.p.scratch, use unit_truncate.
2367
        (hit_eof): New function.
2368
        * io/unit.c (init_units): Always init fbuf for formatted units.
2369
        (update_position): Use new stream interface.
2370
        (unit_truncate): New function.
2371
        (finish_last_advance_record): Use fbuf to print newline.
2372
        * io/unix.c: Remove unused SSIZE_MAX macro.
2373
        (BUFFER_SIZE): Make static const variable rather than macro.
2374
        (struct unix_stream): Remove dirty_offset, len, method,
2375
        small_buffer. Order elements by decreasing size.
2376
        (struct int_stream): Remove.
2377
        (move_pos_offset): Remove usage of dirty_offset.
2378
        (reset_stream): Remove.
2379
        (do_read): Rename to raw_read, update to match new stream
2380
        interface.
2381
        (do_write): Rename to raw_write, update to new stream interface.
2382
        (raw_seek): New function.
2383
        (raw_tell): New function.
2384
        (raw_truncate): New function.
2385
        (raw_close): New function.
2386
        (raw_flush): New function.
2387
        (raw_init): New function.
2388
        (fd_alloc): Remove.
2389
        (fd_alloc_r_at): Remove.
2390
        (fd_alloc_w_at): Remove.
2391
        (fd_sfree): Remove.
2392
        (fd_seek): Remove.
2393
        (fd_truncate): Remove.
2394
        (fd_sset): Remove.
2395
        (fd_read): Remove.
2396
        (fd_write): Remove.
2397
        (fd_close): Remove.
2398
        (fd_open): Remove.
2399
        (fd_flush): Rename to buf_flush, update to new stream interface
2400
        and unix_stream.
2401
        (buf_read): New function.
2402
        (buf_write): New function.
2403
        (buf_seek): New function.
2404
        (buf_tell): New function.
2405
        (buf_truncate): New function.
2406
        (buf_close): New function.
2407
        (buf_init): New function.
2408
        (mem_alloc_r_at): Rename to mem_alloc_r, change prototype.
2409
        (mem_alloc_w_at): Rename to mem_alloc_w, change prototype.
2410
        (mem_read): Change to match new stream interface.
2411
        (mem_write): Likewise.
2412
        (mem_seek): Likewise.
2413
        (mem_tell): Likewise.
2414
        (mem_truncate): Likewise.
2415
        (mem_close): Likewise.
2416
        (mem_flush): New function.
2417
        (mem_sfree): Remove.
2418
        (empty_internal_buffer): Cast to correct type.
2419
        (open_internal): Use correct type, init function pointers.
2420
        (fd_to_stream): Test whether to open file as buffered or raw.
2421
        (output_stream): Remove mode set.
2422
        (error_stream): Likewise.
2423
        (flush_all_units_1): Use new stream interface.
2424
        (flush_all_units): Likewise.
2425
        (stream_at_bof): Remove.
2426
        (stream_at_eof): Remove.
2427
        (file_position): Remove.
2428
        (file_length): Update logic to use stream interface.
2429
        (flush): Remove.
2430
        (stream_offset): Remove.
2431
        * io/write.c (write_utf8_char4): Use int instead of size_t.
2432
        (write_x): Extra safety check.
2433
        (namelist_write_newline): Use new stream interface.
2434
 
2435
2009-03-29  John David Anglin  
2436
 
2437
        PR fortran/33595
2438
        * intrinsics/c99_functions.c (round): Use floor instead of ceil.
2439
        Revise checks to round up.
2440
        (roundf): Likewise.
2441
 
2442
2009-03-28  Daniel Kraft  
2443
 
2444
        * intrinsics/string_intrinsics.c: #include 
2445
        * intrinsics/string_intrinsics_inc.c (string_trim): Use string_len_trim
2446
        instead of calculating the length directly.
2447
        (string_len_trim): For KIND=1, speed search up.
2448
 
2449
2009-03-24  Jerry DeLisle  
2450
 
2451
        PR libfortran/39528
2452
        * io/list_read.c (list_formatted_read_scalar): Move check for read
2453
        completion to just after the check for a repeated value.
2454
 
2455
2009-03-08  Jerry DeLisle  
2456
 
2457
        PR libfortran/39402
2458
        * io/write_float.def (output_float): Handle F0.d formatting correctly
2459
        for any d when value is 0.0.
2460
 
2461
2009-03-01  Ralf Wildenhues  
2462
 
2463
        * configure: Regenerate.
2464
 
2465
2009-01-21  Daniel Kraft  
2466
 
2467
        PR fortran/38887
2468
        * runtime/in_unpack_generic.c (internal_unpack):  Return instead of
2469
        abort when called with empty array.
2470
        * m4/in_unpack.m4:  Ditto.
2471
        * generated/in_unpack_i1.c:  Regenerated.
2472
        * generated/in_unpack_i2.c:  Regenerated.
2473
        * generated/in_unpack_i4.c:  Regenerated.
2474
        * generated/in_unpack_i8.c:  Regenerated.
2475
        * generated/in_unpack_i16.c: Regenerated.
2476
        * generated/in_unpack_r4.c:  Regenerated.
2477
        * generated/in_unpack_r8.c:  Regenerated.
2478
        * generated/in_unpack_r10.c: Regenerated.
2479
        * generated/in_unpack_r16.c: Regenerated.
2480
        * generated/in_unpack_c4.c:  Regenerated.
2481
        * generated/in_unpack_c8.c:  Regenerated.
2482
        * generated/in_unpack_c10.c: Regenerated.
2483
        * generated/in_unpack_c16.c: Regenerated.
2484
 
2485
2009-01-12  Jerry DeLisle  
2486
 
2487
        PR libfortran/38772
2488
        * io/read.c (read_f): Clean up loop conditions for BZ/BN,
2489
        allowing proper digit testing. White space fix.
2490
 
2491
2009-01-05  Jerry DeLisle  
2492
 
2493
        PR libfortran/38735
2494
        * io/unit.c (get_internal_unit): Set default BLANK= status to NULL for
2495
        internal units.
2496
 
2497
 
2498
Copyright (C) 2009 Free Software Foundation, Inc.
2499
 
2500
Copying and distribution of this file, with or without modification,
2501
are permitted in any medium without royalty provided the copyright
2502
notice and this notice are preserved.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.