OSDN Git Service

90537156703670bdc29af997ad79934113c3b733
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
1 2006-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2
3         PR libgfortran/27360
4         
5         * io/list_read.c (read_logical):  Free line_buffer and free saved.
6
7 2006-04-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
8
9         PR libgfortran/27304
10         * io/transfer.c (formatted_transfer_scalar):  Generate error if data
11         descriptors are exhausted.
12         * io/format.c (next_format0): Fix comment.
13
14 2006-04-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
15
16         PR libgfortran/20257
17         * io/io.h: Add prototypes for get_internal_unit and free_internal_unit.
18         * io/unit.c (get_internal_unit): Initialize unit number, not zero.
19         (free_internal_unit): New function to consolidate freeing memory.
20         (get_unit): Initialize internal_unit_desc to NULL when unit is
21         external.
22         * io/unix.c (mem_close): Check for not NULL before freeing memory.
23         * io/transfer.c (read_block): Reset bytes_left and skip error if unit
24         is preconnected and default record length is reached.
25         (read_block_direct): Ditto.
26         (write_block): Ditto.
27         (write_buf): Ditto.
28         (data_transfer_init): Only flush if not internal unit.
29         (finalize_transfer): Ditto and delete code to free memory used by
30         internal units.
31         (st_read_done): Use new function - free_internal_unit.
32         (st_write_done): Use new function - free_internal unit.
33
34 2006-04-22  Jakub Jelinek  <jakub@redhat.com>
35
36         PR fortran/26769
37         * Makefile.am (i_transpose_c): Add generated/transpose_r16.c.
38         (i_reshape_c): Add generated/reshape_r16.c.
39         * Makefile.in: Regenerated.
40         * generated/transpose_r16.c: Generated new file.
41         * generated/redhape_r16.c: Generated new file.
42
43 2006-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
44
45         PR libgfortran/27138
46         * io/list_read.c (eat_line): New function.
47         (parse_repeat): Use new function and free_saved.
48         (read_logical): Same.
49         (read_integer): Use new function.
50         (parse_real): Use nml_bad_return and new function.
51         (read_complex): Use new function and free_saved.
52         (read_real): Same.
53
54 2006-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
55
56         PR libgfortran/26766
57         * io/io.h: Add bit to identify associated unit as internal.
58         * io/unit.c (get_external_unit): Renamed the find_unit_1 function to
59         reflect the external unit functionality vs internal unit.
60         (get_internal_unit): New function to allocate and initialize an internal
61         unit structure.
62         (get_unit): Use get_internal_unit and get_external_unit.
63         (is_internal_unit): Revised to use new bit added in io.h.
64         * io/transfer.c (data_transfer_init): Fix line width.
65         (st_read_done): Free memory allocated for internal unit.
66         (st_write_done): Add test to only flush and truncate when not an
67         internal unit.  Free memory allocated for internal unit.
68
69 2006-04-11  Jakub Jelinek  <jakub@redhat.com>
70
71         * io/io.h (st_parameter_dt): Revert 2005-12-10 change to
72         u.pad, fix comment.
73         (check_st_parameter_dt): New compile time assert.
74
75 2006-04-10  Jakub Jelinek  <jakub@redhat.com>
76
77         PR libgfortran/24685
78         * io/write.c (MIN_FIELD_WIDTH, STR, STR1): Define.
79         (output_float): Increase buffer sizes for IEEE quad and IBM extended
80         long double.
81         (write_real): Output REAL(16) as 1PG43.34E4 rather than 1PG40.31E4.
82
83 2006-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
84
85         PR libgfortran/26890
86         * io/io.h: Revert change to pad size made on 2006-03-30.
87         Add comment explaining dependency with fortran/trans-io.c.
88         
89 2006-04-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
90
91         * io/write.c (output_float): Update condition to not error when
92         decimal precision in format specifier is zero.
93
94 2006-04-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
95
96         * config/fpu-387.h: Use previously added SSE code in all
97         cases, as it really is the right thing to do.
98
99 2006-03-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
100
101         PR libgfortran/26890
102         * io/io.h: Add size_used to st_parameter_dt, adjust pad size.
103         *io/transfer.c (data_transfer_init): Initialize size_used to zero.
104         (read_sf): Use size_used.
105         (read_block): Likewise.
106         (read_block_direct): Likewise.
107         (write_block): Likewise.
108         (write_buf): Likewise and eliminate erroneous FAILURE return.
109         (finalize_transfer): Assign value of size_used to *dtp->size.
110
111 2006-03-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
112
113         PR libfortran/26712
114         * config/fpu-387.h: Add special case for handling of SSE
115         control bit on i386-darwin.
116
117 2006-03-30  Thomas Koenig  <Thomas.Koenig@online.de>
118
119         PR fortran/25031
120         * runtime/memory.c (allocate_array):  If stat is present and
121         the variable is already allocated, free the variable, do
122         the allocation and set stat.
123         (allocate_array_64):  Likewise.  Whitespace fix.
124
125 2006-03-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
126
127         PR libgfortran/26880
128         * io/file_pos.c (st_rewind): Clear read_bad flag.
129
130 2006-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
131
132         PR libgfortran/26661
133         * io/io.h: Add read_sf so it can be used by read_x.
134         * io/transfer.c (read_sf): Pass no_error flag to read_sf.  Use it to
135         break out rather than error on EOF or EOR conditions.
136         (read_block): Update call to read_sf.
137         (read_block_direct): Ditto.
138         * io/read.c (read_x): Use the modified read_sf instead of read_block.
139
140 2006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
141
142         PR libfortran/26735
143         * io/transfer.c (data_transfer_init):  Set u_flags.convert
144         on an unopened unit if specified by environment variable
145         (via get_unformatted_convert) or by compile-time option.
146
147 2006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
148
149         PR fortran/26769
150         * Makefile.am:  Add transpose_r10.c and reshape_r10.c.
151         * aclocal.m4:  Regenerate using aclocal 1.9.3.
152         * Makefile.in:  Regenerate using automake 1.9.3.
153         * m4/iparm.m4 (rtype_ccode):  If rtype_letter is `i',
154         evaluate to rtype_kind, otherwise to rtype_code.
155         * generated/transpose_r10.c:  Add.
156         * generated/reshape_r10.c:  Add.
157
158 2006-03-22  Thomas Koenig  <Thomas.Koenig@online.de>
159
160         PR fortran/19303
161         * libgfortran.h (compile_options_t):  Add record_marker.
162         * runtime/compile_options.c (set_record_marker):
163         New function.
164         * io/open.c:  If we have four-byte record markers, use
165         GFC_INTEGER_4_HUGE as default record length.
166         * io/file_pos.c (unformatted_backspace):  Handle
167         different size record markers.
168         * io/transfer.c (us_read):  Likewise.
169         (us_write):  Likewise.
170         (next_record_r):  Likewise.
171         (write_us_marker):  Likewise.
172         (next_record_w):  Likewise.
173
174 2006-03-20  Thomas Koenig  <Thomas.Koenig@online.de>
175
176         PR fortran/20935
177         * m4/iforeach.m4:  Add SCALAR_FOREACH_FUNCTION macro.
178         * m4/ifunction.m4:  Add SCALAR_ARRAY_FUNCTION macro.
179         * m4/minloc0.m4:  Use SCALAR_FOREACH_FUNCTION.
180         * m4/minloc1.m4:  Use SCALAR_ARRAY_FUNCTION.
181         * m4/maxloc0.m4:  Use SCALAR_FOREACH_FUNCTION.
182         * m4/maxloc1.m4:  Use SCALAR_ARRAY_FUNCTION.
183         * m4/minval.m4:  Likewise.
184         * m4/maxval.m4:  Likewise.
185         * m4/product.m4:  Likewise.
186         * m4/sum.m4:  Likewise.
187         * minloc0_16_i16.c : Regenerated.
188         * minloc0_16_i4.c : Regenerated.
189         * minloc0_16_i8.c : Regenerated.
190         * minloc0_16_r10.c : Regenerated.
191         * minloc0_16_r16.c : Regenerated.
192         * minloc0_16_r4.c : Regenerated.
193         * minloc0_16_r8.c : Regenerated.
194         * minloc0_4_i16.c : Regenerated.
195         * minloc0_4_i4.c : Regenerated.
196         * minloc0_4_i8.c : Regenerated.
197         * minloc0_4_r10.c : Regenerated.
198         * minloc0_4_r16.c : Regenerated.
199         * minloc0_4_r4.c : Regenerated.
200         * minloc0_4_r8.c : Regenerated.
201         * minloc0_8_i16.c : Regenerated.
202         * minloc0_8_i4.c : Regenerated.
203         * minloc0_8_i8.c : Regenerated.
204         * minloc0_8_r10.c : Regenerated.
205         * minloc0_8_r16.c : Regenerated.
206         * minloc0_8_r4.c : Regenerated.
207         * minloc0_8_r8.c : Regenerated.
208         * minloc1_16_i16.c : Regenerated.
209         * minloc1_16_i4.c : Regenerated.
210         * minloc1_16_i8.c : Regenerated.
211         * minloc1_16_r10.c : Regenerated.
212         * minloc1_16_r16.c : Regenerated.
213         * minloc1_16_r4.c : Regenerated.
214         * minloc1_16_r8.c : Regenerated.
215         * minloc1_4_i16.c : Regenerated.
216         * minloc1_4_i4.c : Regenerated.
217         * minloc1_4_i8.c : Regenerated.
218         * minloc1_4_r10.c : Regenerated.
219         * minloc1_4_r16.c : Regenerated.
220         * minloc1_4_r4.c : Regenerated.
221         * minloc1_4_r8.c : Regenerated.
222         * minloc1_8_i16.c : Regenerated.
223         * minloc1_8_i4.c : Regenerated.
224         * minloc1_8_i8.c : Regenerated.
225         * minloc1_8_r10.c : Regenerated.
226         * minloc1_8_r16.c : Regenerated.
227         * minloc1_8_r4.c : Regenerated.
228         * minloc1_8_r8.c : Regenerated.
229         * maxloc0_16_i16.c : Regenerated.
230         * maxloc0_16_i4.c : Regenerated.
231         * maxloc0_16_i8.c : Regenerated.
232         * maxloc0_16_r10.c : Regenerated.
233         * maxloc0_16_r16.c : Regenerated.
234         * maxloc0_16_r4.c : Regenerated.
235         * maxloc0_16_r8.c : Regenerated.
236         * maxloc0_4_i16.c : Regenerated.
237         * maxloc0_4_i4.c : Regenerated.
238         * maxloc0_4_i8.c : Regenerated.
239         * maxloc0_4_r10.c : Regenerated.
240         * maxloc0_4_r16.c : Regenerated.
241         * maxloc0_4_r4.c : Regenerated.
242         * maxloc0_4_r8.c : Regenerated.
243         * maxloc0_8_i16.c : Regenerated.
244         * maxloc0_8_i4.c : Regenerated.
245         * maxloc0_8_i8.c : Regenerated.
246         * maxloc0_8_r10.c : Regenerated.
247         * maxloc0_8_r16.c : Regenerated.
248         * maxloc0_8_r4.c : Regenerated.
249         * maxloc0_8_r8.c : Regenerated.
250         * maxloc1_16_i16.c : Regenerated.
251         * maxloc1_16_i4.c : Regenerated.
252         * maxloc1_16_i8.c : Regenerated.
253         * maxloc1_16_r10.c : Regenerated.
254         * maxloc1_16_r16.c : Regenerated.
255         * maxloc1_16_r4.c : Regenerated.
256         * maxloc1_16_r8.c : Regenerated.
257         * maxloc1_4_i16.c : Regenerated.
258         * maxloc1_4_i4.c : Regenerated.
259         * maxloc1_4_i8.c : Regenerated.
260         * maxloc1_4_r10.c : Regenerated.
261         * maxloc1_4_r16.c : Regenerated.
262         * maxloc1_4_r4.c : Regenerated.
263         * maxloc1_4_r8.c : Regenerated.
264         * maxloc1_8_i16.c : Regenerated.
265         * maxloc1_8_i4.c : Regenerated.
266         * maxloc1_8_i8.c : Regenerated.
267         * maxloc1_8_r10.c : Regenerated.
268         * maxloc1_8_r16.c : Regenerated.
269         * maxloc1_8_r4.c : Regenerated.
270         * maxloc1_8_r8.c : Regenerated.
271         * maxval_i16.c : Regenerated.
272         * maxval_i4.c : Regenerated.
273         * maxval_i8.c : Regenerated.
274         * maxval_r10.c : Regenerated.
275         * maxval_r16.c : Regenerated.
276         * maxval_r4.c : Regenerated.
277         * maxval_r8.c : Regenerated.
278         * minval_i16.c : Regenerated.
279         * minval_i4.c : Regenerated.
280         * minval_i8.c : Regenerated.
281         * minval_r10.c : Regenerated.
282         * minval_r16.c : Regenerated.
283         * minval_r4.c : Regenerated.
284         * minval_r8.c : Regenerated.
285         * sum_c10.c : Regenerated.
286         * sum_c16.c : Regenerated.
287         * sum_c4.c : Regenerated.
288         * sum_c8.c : Regenerated.
289         * sum_i16.c : Regenerated.
290         * sum_i4.c : Regenerated.
291         * sum_i8.c : Regenerated.
292         * sum_r10.c : Regenerated.
293         * sum_r16.c : Regenerated.
294         * sum_r4.c : Regenerated.
295         * sum_r8.c : Regenerated.
296         * product_c10.c : Regenerated.
297         * product_c16.c : Regenerated.
298         * product_c4.c : Regenerated.
299         * product_c8.c : Regenerated.
300         * product_i16.c : Regenerated.
301         * product_i4.c : Regenerated.
302         * product_i8.c : Regenerated.
303         * product_r10.c : Regenerated.
304         * product_r16.c : Regenerated.
305         * product_r4.c : Regenerated.
306         * product_r8.c : Regenerated.
307
308 2006-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
309
310         PR libgfortran/26509
311         * libgfortran.h: Add ERROR_DIRECT_EOR.
312         * runtime/error.c (translate_error): Add translation for new error.
313         * io/transfer.c (write_buf): Add check for EOR when mode is 
314         direct access.
315
316 2006-03-13  Paul Thomas  <pault@gcc.gnu.org>
317
318         PR fortran/25378
319         * libgfortran/m4/minloc1.m4: Set the initial position to zero and
320         modify the condition for updating it, to implement the F2003
321         requirement for all(mask).eq.false.
322         * libgfortran/m4/maxloc1.m4: The same.
323         * libgfortran/m4/iforeach.m4: The same.
324         * libgfortran/m4/minloc0.m4: The same.
325         * libgfortran/m4/maxloc0.m4: The same.
326         * libgfortran/generated/maxloc0_16_i16.c: Regenerated, together
327         with 41 others.
328         * libgfortran/generated/minloc0_16_i16.c: Regenerated, together
329         with 41 others.
330
331 2006-03-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
332
333         PR libgfortran/26499
334         * io/file_pos (st_rewind): Flush always.
335         * io/unix.c (fd_truncate): Return SUCCESS rather than FAILURE for
336         special files like /dev/null.
337         * io/transfer.c (st_write_done): Remove broken logic that
338         prevented calling fd_truncate.
339
340 2006-03-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
341
342         PR libgfortran/26554
343         * io/list_read.c (read_logical): Return the value if not in namelist
344         mode.
345
346 2006-03-03  Thomas Koenig  <Thomas.Koenig@online.de>
347
348         PR fortran/25031
349         * runtime/memory.c:  Adjust copyright years.
350         (allocate_array):  New function.
351         (allocate64_array):  New function.
352         * libgfortran.h (error_codes):  Add ERROR_ALLOCATION.
353
354 2006-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
355
356         PR libgfortran/26136
357         * io/io.h: Add flag for reading from line_buffer.
358         * io/list_read.c (l_push_char): New function to save namelist
359         input when reading logicals.
360         (free_line): New function to free line_buffer memory.
361         (next_char): Added feature to read from line_buffer.
362         (read_logical): Use new functions to test for '=' after reading a
363         logical value, checking for possible variable name.
364         (namelist_read): Use free_line when all done.
365
366 2006-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
367
368         PR libgfortran/26464
369         * io/file_pos.c (st_backspace): Flush and truncate file
370         when in AFTER_ENDFILE condition.
371         * io/transfer.c (st_read_done): Remove flush, no longer needed.
372
373 2006-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
374
375         PR libgfortran/26423
376         * io/unix.c (fd_seek): Revert change from 25949.
377         (fd_read): Same.
378         (fd_write): Same.
379
380 2006-02-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
381
382         * io/open.c (edit_modes): Correct abusive copy-pasting.
383
384 2006-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
385
386         PR libfortran/24903
387         * m4/dotprodc.m4: Use __builtin_conj instead of assigning real
388         and imaginary parts separately.
389         * generated/dotprod_c4.c: Regenerated.
390         * generated/dotprod_c8.c: Regenerated.
391         * generated/dotprod_c10.c: Regenerated.
392         * generated/dotprod_c16.c: Regenerated.
393
394 2006-02-12  Janne Blomqvist  <jb@gcc.gnu.org>
395
396         PR libgfortran/25949
397         * io/io.h: Add set function pointer to struct stream.  
398         * io/unix.c (fd_seek): Only update offset, don't seek.
399         (fd_sset): New function.
400         (fd_read): Call lseek directly if necessary.
401         (fd_write): Likewise.
402         (fd_open): Set pointer to fd_sset.
403         (mem_set): New function.
404         (open_internal): Set pointer to mem_set.
405         * io/transfer.c (write_block_direct): Rename to write_buf, add
406         error return, non-pointer length argument.
407         (unformatted_write): Update to use write_buf.
408         (us_write): Simplify by using swrite instead of salloc_w.
409         (write_us_marker): New function.
410         (new_record_w): Use sset instead of memset, use write_us_marker,
411         simplify by using swrite instead of salloc_w.
412
413 2006-02-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
414
415         PR libfortran/25425
416         * libgfortran.h: Add pedantic field to compile_options struct.
417         * io/write.c (calculate_G_format): Depending on the standard,
418         choose E or F format for list-directed output of 0.0.
419         * runtime/error.c (notify_std): Make warning and error dependent
420         on pedanticity.
421         * runtime/compile_options.c (set_std): Use new pedantic argument.
422
423 2006-02-07  Dale Ranta  <dir@lanl.gov>
424
425         PR fortran/25577
426         * intrinsics/mvbits.c: Shift '(TYPE)1' type when building 'lenmask'.
427
428 2006-02-07  Rainer Emrich <r.emrich@de.tecosim.com>
429
430         * intrinsics/c99_functions.c: Work around incompatible
431         declarations of cabs{,f,l} on pre-C99 IRIX systems.
432
433 2005-02-06  Thomas Koenig  <Thomas.Koenig@online.de>
434
435         PR libfortran/23815
436         * runtime/environ.c (init_unformatted):  Add GFORTRAN_CONVERT_UNIT
437         environment variable.
438         (top level):  Add defines, type and static variables for
439         GFORTRAN_CONVERT_UNIT handling.
440         (search_unit):  New function.
441         (match_word): New function.
442         (match_integer): New function.
443         (next_token): New function.
444         (push_token): New function.
445         (mark_single): New function.
446         (mark_range): New funciton.
447         (do_parse): New function.
448         (init_unformatted): New function.
449         (get_unformatted_convert): New function.
450         * runtime/compile_options.c:  Add set_convert().
451         * libgfortran.h:  Add convert to compile_options_t.
452         * io/open.c (st_open): Call get_unformatted_convert to get
453         unit default; if CONVERT_NONE is returned, check for
454         the presence of a CONVERT specifier and use it.
455         As default, use compile_options.convert.
456         * io/io.h (top level): Add CONVERT_NONE to unit_convert, to signal
457         "nothing has been set".
458         (top level): Add prototype for get_unformatted_convert.
459
460 2006-02-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
461
462         PR libfortran/24685
463         * io/write.c (write_real): Widen the default format for real(10)
464         variables output.
465
466 2006-01-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
467
468         PR libgfortran/25835
469         * io/transfer.c (st_read_done): Flush buffers when read is done.
470
471 2006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
472
473         PR libgfortran/25697
474         * io/transfer.c (us_read): Detect end of file condition from previous
475         operations and bail out (no need to pre-position).
476
477 2006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
478
479         PR libgfortran/25631
480         * io/transfer.c (formatted_transfer_scalar): Adjust pending_spaces and
481         skips so that TL works correctly when no bytes_used yet.  
482
483 2006-01-16  Roger Sayle  <roger@eyesopen.com>
484
485         * configure.ac (CFLAGS): Update to include -std=gnu99 so that
486         the configure tests will be run with the same environment as
487         used to compile the libgfortran source code.
488         * configure: Regenerate.
489
490 2006-01-12  Roger Sayle  <roger@eyesopen.com>
491
492         * intrinsics/c99_functions.c: Add function prototypes to avoid
493         warnings from -Wstrict-prototypes -Wmissing-prototypes.  On Tru64
494         work around a brain-dead libm by redirecting calls to cabs{,f,l}
495         to a local __gfc_cabs{,f,l}.
496
497 2006-01-07  Janne Blomqvist  <jb@gcc.gnu.org>
498
499         * configure.ac: Remove check for sys/mman.h.
500         * configure: Regenerated.
501         * Makefile.in: Regenerated.
502         * config.h.in: Regenerated.
503         * aclocal.m4: Regenerated.
504         
505 2006-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
506
507         PR libgfortran/25598
508         * io/file_pos.c (unformatted_backspace): Assure the new file position
509         to seek is not less than zero.
510         (st_backspace): Set unit bytes_left to zero.
511         * io/transfer.c (next_record_r): Fix line lengths, no functional change.
512
513 2006-01-02  Paolo Bonzini  <bonzini@gnu.org>
514
515         PR target/25259
516         * configure.ac: Use GCC_HEADER_STDINT.
517         * libgfortran.h: Include gstdint.h.
518         * aclocal.m4: Regenerate.
519         * configure: Regenerate.
520
521 2006-01-01  Steven G. Kargl  <kargls@comcast.net>
522
523         * ChangeLog: Split into years ...
524         * ChangeLog-2002: here.
525         * ChangeLog-2003: here.
526         * ChangeLog-2004: here.
527         * ChangeLog-2005: here.