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