OSDN Git Service

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