OSDN Git Service

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