OSDN Git Service

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