OSDN Git Service

2006-07-15 Steven G. Kargl <kargls@comcast.net>
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
1 2006-07-15  Steven G. Kargl  <kargls@comcast.net>
2
3         * intrinsics/etime.c: Remove etime_
4         * libtool-version: Bump from libgfortran.so.1 to libgfortran.so.2
5
6 2006-07-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
7
8         PR fortran/28163
9         * intrinsics/string_intrinsics.c (copy_string): Remove function.
10
11 2006-07-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
12
13         * intrinsics/date_and_time.c (itime0,idate0,itime_i4,itime_i8,
14         idate_i4,idate_i8): New functions.
15
16 2006-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
17
18         PR libgfortran/27704
19         * runtime/error.c (notify_std): Pass common flags into function. Use
20         flags to show locus of error or warning.
21         * libgfortran.h: Add enum try.  Add prototype for notify_std.
22         * io/open.c (edit_modes): Allow status="old" and add extension to
23         allow status="scratch"
24         *io/list_read.c (nml_read_obj): Update call to notify_std.
25         *io/io.h: Remove enum try and prototype for notify_std.
26         *io/transfer.c (read_sf): Update call to notify_std.
27         *io/format.c (parse_format_list): Update call to notify_std.
28
29 2006-06-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
30
31         * io/io.h: Move proto for unit_to_fd...
32         * libgfortran.h: ...here.
33
34 2006-06-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
35
36         * intrinsics/ierrno.c: Don't include "io/io.h".
37         * intrinsics/sleep.c: Likewise.
38         * intrinsics/perror.c: Likewise.
39         * intrinsics/stat.c: Likewise.
40         * intrinsics/kill.c: Likewise.
41         * intrinsics/time.c: Likewise.
42         * intrinsics/fnum.c: Likewise.
43         * intrinsics/rename.c: Likewise.
44         * intrinsics/symlnk.c: Likewise.
45         * intrinsics/chdir.c: Likewise.
46         * intrinsics/link.c: Likewise.
47         * intrinsics/random.c: Don't include "io/io.h". Include <gthr.h>.
48         * intrinsics/rand.c: Likewise.
49
50 2006-06-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
51
52         PR fortran/28094
53         * Makefile.am: Add _mod_r10.F90 and _mod_r16.F90.
54         * Makefile.in: Regenerate.
55         * generated/_mod_r10.F90: New file.
56         * generated/_mod_r16.F90: New file.
57
58 2006-06-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
59
60         PR libfortran/26769
61         * Makefile.am: Add r4 and r8 versions of reshape and transpose.
62         * Makefile.in: Regenerate.
63         * generated/reshape_r4.c: New file.
64         * generated/reshape_r8.c: New file.
65         * generated/transpose_r4.c: New file.
66         * generated/transpose_r8.c: New file.
67
68 2006-06-20  Paul Thomas  <pault@gcc.gnu.org>
69
70         PR libfortran/28005
71         * m4/matmul.m4: aystride = 1 does not uniquely detect the
72         presence of a temporary transpose; an array element in the
73         first dimension produces the same signature.  Detect this
74         using the rank of a and add specific code.
75         * generated/matmul_r4.c: Regenerate.
76         * generated/matmul_r8.c: Regenerate.
77         * generated/matmul_r10.c: Regenerate.
78         * generated/matmul_r16.c: Regenerate.
79         * generated/matmul_c4.c: Regenerate.
80         * generated/matmul_c8.c: Regenerate.
81         * generated/matmul_c10.c: Regenerate.
82         * generated/matmul_c16.c: Regenerate.
83         * generated/matmul_i4.c: Regenerate.
84         * generated/matmul_i8.c: Regenerate.
85         * generated/matmul_i16.c: Regenerate.
86
87 2006-06-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
88
89         PR libgomp/27254
90         * io/unit.c (get_internal_unit): Initialize and lock thread mutex
91         for internal units.
92
93 2006-06-06  Janne Blomqvist  <jb@gcc.gnu.org>
94
95         * m4/in_pack.m4: Add TODO comment about detecting temporaries,
96         remove test for stride 0, update copyright year.
97         * m4/transpose.m4: Remove test for stride 0, update copyright
98         year.
99         * m4/iforeach.m4: Likewise.
100         * m4/shape.m4: Likewise.
101         * m4/in_unpack.m4: Likewise.
102         * m4/reshape.m4: Likewise.
103         * m4/ifunction.m4: Likewise.
104         * m4/matmul.m4: Likewise.
105         * m4/matmull.m4: Likewise.
106         * intrinsics/etime.c: Likewise.
107         * intrinsics/transpose_generic.c: Likewise.
108         * intrinsics/spread_generic.c: Likewise.
109         * intrinsics/stat.c: Likewise.
110         * intrinsics/reshape_generic.c: Likewise.
111         * intrinsics/random.c: Likewise.
112         * generated/*: Regenerated from above changed m4 files.
113         
114 2006-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
115
116         PR libgfortran/27757
117         * io/unix.c (fd_seek): Set active to zero.
118
119 2006-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
120
121         PR libgfortran/27634
122         * io/format.c (parse_format_list): Allow missing period in format only
123         if -std=legacy.
124
125 2006-05-28  Thomas Koenig  <Thomas.Koenig@online.de>
126
127         * intrinsics/string_intrinsics.c (compare_string):
128         Use memcmp instead of strncmp to avoid tripping over
129         CHAR(0) in a string.
130
131 2006-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
132
133         * io/io.h (find_or_create_unit): Correct export declaration.
134         
135 2006-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
136
137         * intrinsics/abort.c (abort_): Remove.
138
139 2006-05-26  Janne Blomqvist  <jb@gcc.gnu.org>
140
141         * configure.ac: Remove AC_FUNC_MMAP.
142         * configure: Regenerated.
143         * Makefile.in: Regenerated.
144         * config.h.in: Regenerated.
145         * aclocal.m4: Regenerated.
146
147 2006-05-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
148
149         * intrinsics/associated.c (associated): Zero-sized arrays should
150         not be reported as ASSOCIATED.
151
152 2006-05-24  Carlos O'Donell  <carlos@codesourcery.com>
153
154         * Makefile.am: Add install-html target. Add install-html to .PHONY
155         * Makefile.in: Regenerate.
156         * aclocal.m4: Regenerate.
157         
158 2006-05-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
159
160         PR libgfortran/24459
161         * io/list_read.c (nml_parse_qualifier): Leave loop spec end value
162         at default value unless -std=f95 or if an array section
163         is specified in namelist input.  Warn if -pedantic.
164         * io/io.h (st_parameter_dt): Add expanded_read flag.
165
166 2006-05-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
167
168         PR libgfortran/22423
169         * io/transfer.c (read_block): Return NULL instead of nothing.
170         
171 2006-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
172
173         PR libgfortran/27575
174         * io/transfer.c (read_block):  Add check for end file condition.
175         (read_block_direct): Add check for end file condition.
176
177 2006-05-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
178
179         PR libfortran/26985
180         * m4/matmul.m4: Correct the condition for the memset call,
181         and remove the unneeded call to size0.
182         * generated/matmul_r4.c: Regenerate.
183         * generated/matmul_r8.c: Regenerate.
184         * generated/matmul_r10.c: Regenerate.
185         * generated/matmul_r16.c: Regenerate.
186         * generated/matmul_c4.c: Regenerate.
187         * generated/matmul_c8.c: Regenerate.
188         * generated/matmul_c10.c: Regenerate.
189         * generated/matmul_c16.c: Regenerate.
190         * generated/matmul_i4.c: Regenerate.
191         * generated/matmul_i8.c: Regenerate.
192         * generated/matmul_i16.c: Regenerate.
193
194 2006-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
195
196         PR libgfortran/27360
197         * io/list_read.c (read_logical):  Free line_buffer and free saved.
198
199 2006-04-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
200
201         PR libgfortran/27304
202         * io/transfer.c (formatted_transfer_scalar):  Generate error if data
203         descriptors are exhausted.
204         * io/format.c (next_format0): Fix comment.
205
206 2006-04-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
207
208         PR libgfortran/20257
209         * io/io.h: Add prototypes for get_internal_unit and free_internal_unit.
210         * io/unit.c (get_internal_unit): Initialize unit number, not zero.
211         (free_internal_unit): New function to consolidate freeing memory.
212         (get_unit): Initialize internal_unit_desc to NULL when unit is
213         external.
214         * io/unix.c (mem_close): Check for not NULL before freeing memory.
215         * io/transfer.c (read_block): Reset bytes_left and skip error if unit
216         is preconnected and default record length is reached.
217         (read_block_direct): Ditto.
218         (write_block): Ditto.
219         (write_buf): Ditto.
220         (data_transfer_init): Only flush if not internal unit.
221         (finalize_transfer): Ditto and delete code to free memory used by
222         internal units.
223         (st_read_done): Use new function - free_internal_unit.
224         (st_write_done): Use new function - free_internal unit.
225
226 2006-04-22  Jakub Jelinek  <jakub@redhat.com>
227
228         PR fortran/26769
229         * Makefile.am (i_transpose_c): Add generated/transpose_r16.c.
230         (i_reshape_c): Add generated/reshape_r16.c.
231         * Makefile.in: Regenerated.
232         * generated/transpose_r16.c: Generated new file.
233         * generated/redhape_r16.c: Generated new file.
234
235 2006-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
236
237         PR libgfortran/27138
238         * io/list_read.c (eat_line): New function.
239         (parse_repeat): Use new function and free_saved.
240         (read_logical): Same.
241         (read_integer): Use new function.
242         (parse_real): Use nml_bad_return and new function.
243         (read_complex): Use new function and free_saved.
244         (read_real): Same.
245
246 2006-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
247
248         PR libgfortran/26766
249         * io/io.h: Add bit to identify associated unit as internal.
250         * io/unit.c (get_external_unit): Renamed the find_unit_1 function to
251         reflect the external unit functionality vs internal unit.
252         (get_internal_unit): New function to allocate and initialize an internal
253         unit structure.
254         (get_unit): Use get_internal_unit and get_external_unit.
255         (is_internal_unit): Revised to use new bit added in io.h.
256         * io/transfer.c (data_transfer_init): Fix line width.
257         (st_read_done): Free memory allocated for internal unit.
258         (st_write_done): Add test to only flush and truncate when not an
259         internal unit.  Free memory allocated for internal unit.
260
261 2006-04-11  Jakub Jelinek  <jakub@redhat.com>
262
263         * io/io.h (st_parameter_dt): Revert 2005-12-10 change to
264         u.pad, fix comment.
265         (check_st_parameter_dt): New compile time assert.
266
267 2006-04-10  Jakub Jelinek  <jakub@redhat.com>
268
269         PR libgfortran/24685
270         * io/write.c (MIN_FIELD_WIDTH, STR, STR1): Define.
271         (output_float): Increase buffer sizes for IEEE quad and IBM extended
272         long double.
273         (write_real): Output REAL(16) as 1PG43.34E4 rather than 1PG40.31E4.
274
275 2006-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
276
277         PR libgfortran/26890
278         * io/io.h: Revert change to pad size made on 2006-03-30.
279         Add comment explaining dependency with fortran/trans-io.c.
280         
281 2006-04-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
282
283         * io/write.c (output_float): Update condition to not error when
284         decimal precision in format specifier is zero.
285
286 2006-04-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
287
288         * config/fpu-387.h: Use previously added SSE code in all
289         cases, as it really is the right thing to do.
290
291 2006-03-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
292
293         PR libgfortran/26890
294         * io/io.h: Add size_used to st_parameter_dt, adjust pad size.
295         *io/transfer.c (data_transfer_init): Initialize size_used to zero.
296         (read_sf): Use size_used.
297         (read_block): Likewise.
298         (read_block_direct): Likewise.
299         (write_block): Likewise.
300         (write_buf): Likewise and eliminate erroneous FAILURE return.
301         (finalize_transfer): Assign value of size_used to *dtp->size.
302
303 2006-03-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
304
305         PR libfortran/26712
306         * config/fpu-387.h: Add special case for handling of SSE
307         control bit on i386-darwin.
308
309 2006-03-30  Thomas Koenig  <Thomas.Koenig@online.de>
310
311         PR fortran/25031
312         * runtime/memory.c (allocate_array):  If stat is present and
313         the variable is already allocated, free the variable, do
314         the allocation and set stat.
315         (allocate_array_64):  Likewise.  Whitespace fix.
316
317 2006-03-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
318
319         PR libgfortran/26880
320         * io/file_pos.c (st_rewind): Clear read_bad flag.
321
322 2006-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
323
324         PR libgfortran/26661
325         * io/io.h: Add read_sf so it can be used by read_x.
326         * io/transfer.c (read_sf): Pass no_error flag to read_sf.  Use it to
327         break out rather than error on EOF or EOR conditions.
328         (read_block): Update call to read_sf.
329         (read_block_direct): Ditto.
330         * io/read.c (read_x): Use the modified read_sf instead of read_block.
331
332 2006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
333
334         PR libfortran/26735
335         * io/transfer.c (data_transfer_init):  Set u_flags.convert
336         on an unopened unit if specified by environment variable
337         (via get_unformatted_convert) or by compile-time option.
338
339 2006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
340
341         PR fortran/26769
342         * Makefile.am:  Add transpose_r10.c and reshape_r10.c.
343         * aclocal.m4:  Regenerate using aclocal 1.9.3.
344         * Makefile.in:  Regenerate using automake 1.9.3.
345         * m4/iparm.m4 (rtype_ccode):  If rtype_letter is `i',
346         evaluate to rtype_kind, otherwise to rtype_code.
347         * generated/transpose_r10.c:  Add.
348         * generated/reshape_r10.c:  Add.
349
350 2006-03-22  Thomas Koenig  <Thomas.Koenig@online.de>
351
352         PR fortran/19303
353         * libgfortran.h (compile_options_t):  Add record_marker.
354         * runtime/compile_options.c (set_record_marker):
355         New function.
356         * io/open.c:  If we have four-byte record markers, use
357         GFC_INTEGER_4_HUGE as default record length.
358         * io/file_pos.c (unformatted_backspace):  Handle
359         different size record markers.
360         * io/transfer.c (us_read):  Likewise.
361         (us_write):  Likewise.
362         (next_record_r):  Likewise.
363         (write_us_marker):  Likewise.
364         (next_record_w):  Likewise.
365
366 2006-03-20  Thomas Koenig  <Thomas.Koenig@online.de>
367
368         PR fortran/20935
369         * m4/iforeach.m4:  Add SCALAR_FOREACH_FUNCTION macro.
370         * m4/ifunction.m4:  Add SCALAR_ARRAY_FUNCTION macro.
371         * m4/minloc0.m4:  Use SCALAR_FOREACH_FUNCTION.
372         * m4/minloc1.m4:  Use SCALAR_ARRAY_FUNCTION.
373         * m4/maxloc0.m4:  Use SCALAR_FOREACH_FUNCTION.
374         * m4/maxloc1.m4:  Use SCALAR_ARRAY_FUNCTION.
375         * m4/minval.m4:  Likewise.
376         * m4/maxval.m4:  Likewise.
377         * m4/product.m4:  Likewise.
378         * m4/sum.m4:  Likewise.
379         * minloc0_16_i16.c : Regenerated.
380         * minloc0_16_i4.c : Regenerated.
381         * minloc0_16_i8.c : Regenerated.
382         * minloc0_16_r10.c : Regenerated.
383         * minloc0_16_r16.c : Regenerated.
384         * minloc0_16_r4.c : Regenerated.
385         * minloc0_16_r8.c : Regenerated.
386         * minloc0_4_i16.c : Regenerated.
387         * minloc0_4_i4.c : Regenerated.
388         * minloc0_4_i8.c : Regenerated.
389         * minloc0_4_r10.c : Regenerated.
390         * minloc0_4_r16.c : Regenerated.
391         * minloc0_4_r4.c : Regenerated.
392         * minloc0_4_r8.c : Regenerated.
393         * minloc0_8_i16.c : Regenerated.
394         * minloc0_8_i4.c : Regenerated.
395         * minloc0_8_i8.c : Regenerated.
396         * minloc0_8_r10.c : Regenerated.
397         * minloc0_8_r16.c : Regenerated.
398         * minloc0_8_r4.c : Regenerated.
399         * minloc0_8_r8.c : Regenerated.
400         * minloc1_16_i16.c : Regenerated.
401         * minloc1_16_i4.c : Regenerated.
402         * minloc1_16_i8.c : Regenerated.
403         * minloc1_16_r10.c : Regenerated.
404         * minloc1_16_r16.c : Regenerated.
405         * minloc1_16_r4.c : Regenerated.
406         * minloc1_16_r8.c : Regenerated.
407         * minloc1_4_i16.c : Regenerated.
408         * minloc1_4_i4.c : Regenerated.
409         * minloc1_4_i8.c : Regenerated.
410         * minloc1_4_r10.c : Regenerated.
411         * minloc1_4_r16.c : Regenerated.
412         * minloc1_4_r4.c : Regenerated.
413         * minloc1_4_r8.c : Regenerated.
414         * minloc1_8_i16.c : Regenerated.
415         * minloc1_8_i4.c : Regenerated.
416         * minloc1_8_i8.c : Regenerated.
417         * minloc1_8_r10.c : Regenerated.
418         * minloc1_8_r16.c : Regenerated.
419         * minloc1_8_r4.c : Regenerated.
420         * minloc1_8_r8.c : Regenerated.
421         * maxloc0_16_i16.c : Regenerated.
422         * maxloc0_16_i4.c : Regenerated.
423         * maxloc0_16_i8.c : Regenerated.
424         * maxloc0_16_r10.c : Regenerated.
425         * maxloc0_16_r16.c : Regenerated.
426         * maxloc0_16_r4.c : Regenerated.
427         * maxloc0_16_r8.c : Regenerated.
428         * maxloc0_4_i16.c : Regenerated.
429         * maxloc0_4_i4.c : Regenerated.
430         * maxloc0_4_i8.c : Regenerated.
431         * maxloc0_4_r10.c : Regenerated.
432         * maxloc0_4_r16.c : Regenerated.
433         * maxloc0_4_r4.c : Regenerated.
434         * maxloc0_4_r8.c : Regenerated.
435         * maxloc0_8_i16.c : Regenerated.
436         * maxloc0_8_i4.c : Regenerated.
437         * maxloc0_8_i8.c : Regenerated.
438         * maxloc0_8_r10.c : Regenerated.
439         * maxloc0_8_r16.c : Regenerated.
440         * maxloc0_8_r4.c : Regenerated.
441         * maxloc0_8_r8.c : Regenerated.
442         * maxloc1_16_i16.c : Regenerated.
443         * maxloc1_16_i4.c : Regenerated.
444         * maxloc1_16_i8.c : Regenerated.
445         * maxloc1_16_r10.c : Regenerated.
446         * maxloc1_16_r16.c : Regenerated.
447         * maxloc1_16_r4.c : Regenerated.
448         * maxloc1_16_r8.c : Regenerated.
449         * maxloc1_4_i16.c : Regenerated.
450         * maxloc1_4_i4.c : Regenerated.
451         * maxloc1_4_i8.c : Regenerated.
452         * maxloc1_4_r10.c : Regenerated.
453         * maxloc1_4_r16.c : Regenerated.
454         * maxloc1_4_r4.c : Regenerated.
455         * maxloc1_4_r8.c : Regenerated.
456         * maxloc1_8_i16.c : Regenerated.
457         * maxloc1_8_i4.c : Regenerated.
458         * maxloc1_8_i8.c : Regenerated.
459         * maxloc1_8_r10.c : Regenerated.
460         * maxloc1_8_r16.c : Regenerated.
461         * maxloc1_8_r4.c : Regenerated.
462         * maxloc1_8_r8.c : Regenerated.
463         * maxval_i16.c : Regenerated.
464         * maxval_i4.c : Regenerated.
465         * maxval_i8.c : Regenerated.
466         * maxval_r10.c : Regenerated.
467         * maxval_r16.c : Regenerated.
468         * maxval_r4.c : Regenerated.
469         * maxval_r8.c : Regenerated.
470         * minval_i16.c : Regenerated.
471         * minval_i4.c : Regenerated.
472         * minval_i8.c : Regenerated.
473         * minval_r10.c : Regenerated.
474         * minval_r16.c : Regenerated.
475         * minval_r4.c : Regenerated.
476         * minval_r8.c : Regenerated.
477         * sum_c10.c : Regenerated.
478         * sum_c16.c : Regenerated.
479         * sum_c4.c : Regenerated.
480         * sum_c8.c : Regenerated.
481         * sum_i16.c : Regenerated.
482         * sum_i4.c : Regenerated.
483         * sum_i8.c : Regenerated.
484         * sum_r10.c : Regenerated.
485         * sum_r16.c : Regenerated.
486         * sum_r4.c : Regenerated.
487         * sum_r8.c : Regenerated.
488         * product_c10.c : Regenerated.
489         * product_c16.c : Regenerated.
490         * product_c4.c : Regenerated.
491         * product_c8.c : Regenerated.
492         * product_i16.c : Regenerated.
493         * product_i4.c : Regenerated.
494         * product_i8.c : Regenerated.
495         * product_r10.c : Regenerated.
496         * product_r16.c : Regenerated.
497         * product_r4.c : Regenerated.
498         * product_r8.c : Regenerated.
499
500 2006-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
501
502         PR libgfortran/26509
503         * libgfortran.h: Add ERROR_DIRECT_EOR.
504         * runtime/error.c (translate_error): Add translation for new error.
505         * io/transfer.c (write_buf): Add check for EOR when mode is 
506         direct access.
507
508 2006-03-13  Paul Thomas  <pault@gcc.gnu.org>
509
510         PR fortran/25378
511         * libgfortran/m4/minloc1.m4: Set the initial position to zero and
512         modify the condition for updating it, to implement the F2003
513         requirement for all(mask).eq.false.
514         * libgfortran/m4/maxloc1.m4: The same.
515         * libgfortran/m4/iforeach.m4: The same.
516         * libgfortran/m4/minloc0.m4: The same.
517         * libgfortran/m4/maxloc0.m4: The same.
518         * libgfortran/generated/maxloc0_16_i16.c: Regenerated, together
519         with 41 others.
520         * libgfortran/generated/minloc0_16_i16.c: Regenerated, together
521         with 41 others.
522
523 2006-03-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
524
525         PR libgfortran/26499
526         * io/file_pos (st_rewind): Flush always.
527         * io/unix.c (fd_truncate): Return SUCCESS rather than FAILURE for
528         special files like /dev/null.
529         * io/transfer.c (st_write_done): Remove broken logic that
530         prevented calling fd_truncate.
531
532 2006-03-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
533
534         PR libgfortran/26554
535         * io/list_read.c (read_logical): Return the value if not in namelist
536         mode.
537
538 2006-03-03  Thomas Koenig  <Thomas.Koenig@online.de>
539
540         PR fortran/25031
541         * runtime/memory.c:  Adjust copyright years.
542         (allocate_array):  New function.
543         (allocate64_array):  New function.
544         * libgfortran.h (error_codes):  Add ERROR_ALLOCATION.
545
546 2006-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
547
548         PR libgfortran/26136
549         * io/io.h: Add flag for reading from line_buffer.
550         * io/list_read.c (l_push_char): New function to save namelist
551         input when reading logicals.
552         (free_line): New function to free line_buffer memory.
553         (next_char): Added feature to read from line_buffer.
554         (read_logical): Use new functions to test for '=' after reading a
555         logical value, checking for possible variable name.
556         (namelist_read): Use free_line when all done.
557
558 2006-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
559
560         PR libgfortran/26464
561         * io/file_pos.c (st_backspace): Flush and truncate file
562         when in AFTER_ENDFILE condition.
563         * io/transfer.c (st_read_done): Remove flush, no longer needed.
564
565 2006-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
566
567         PR libgfortran/26423
568         * io/unix.c (fd_seek): Revert change from 25949.
569         (fd_read): Same.
570         (fd_write): Same.
571
572 2006-02-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
573
574         * io/open.c (edit_modes): Correct abusive copy-pasting.
575
576 2006-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
577
578         PR libfortran/24903
579         * m4/dotprodc.m4: Use __builtin_conj instead of assigning real
580         and imaginary parts separately.
581         * generated/dotprod_c4.c: Regenerated.
582         * generated/dotprod_c8.c: Regenerated.
583         * generated/dotprod_c10.c: Regenerated.
584         * generated/dotprod_c16.c: Regenerated.
585
586 2006-02-12  Janne Blomqvist  <jb@gcc.gnu.org>
587
588         PR libgfortran/25949
589         * io/io.h: Add set function pointer to struct stream.  
590         * io/unix.c (fd_seek): Only update offset, don't seek.
591         (fd_sset): New function.
592         (fd_read): Call lseek directly if necessary.
593         (fd_write): Likewise.
594         (fd_open): Set pointer to fd_sset.
595         (mem_set): New function.
596         (open_internal): Set pointer to mem_set.
597         * io/transfer.c (write_block_direct): Rename to write_buf, add
598         error return, non-pointer length argument.
599         (unformatted_write): Update to use write_buf.
600         (us_write): Simplify by using swrite instead of salloc_w.
601         (write_us_marker): New function.
602         (new_record_w): Use sset instead of memset, use write_us_marker,
603         simplify by using swrite instead of salloc_w.
604
605 2006-02-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
606
607         PR libfortran/25425
608         * libgfortran.h: Add pedantic field to compile_options struct.
609         * io/write.c (calculate_G_format): Depending on the standard,
610         choose E or F format for list-directed output of 0.0.
611         * runtime/error.c (notify_std): Make warning and error dependent
612         on pedanticity.
613         * runtime/compile_options.c (set_std): Use new pedantic argument.
614
615 2006-02-07  Dale Ranta  <dir@lanl.gov>
616
617         PR fortran/25577
618         * intrinsics/mvbits.c: Shift '(TYPE)1' type when building 'lenmask'.
619
620 2006-02-07  Rainer Emrich <r.emrich@de.tecosim.com>
621
622         * intrinsics/c99_functions.c: Work around incompatible
623         declarations of cabs{,f,l} on pre-C99 IRIX systems.
624
625 2005-02-06  Thomas Koenig  <Thomas.Koenig@online.de>
626
627         PR libfortran/23815
628         * runtime/environ.c (init_unformatted):  Add GFORTRAN_CONVERT_UNIT
629         environment variable.
630         (top level):  Add defines, type and static variables for
631         GFORTRAN_CONVERT_UNIT handling.
632         (search_unit):  New function.
633         (match_word): New function.
634         (match_integer): New function.
635         (next_token): New function.
636         (push_token): New function.
637         (mark_single): New function.
638         (mark_range): New funciton.
639         (do_parse): New function.
640         (init_unformatted): New function.
641         (get_unformatted_convert): New function.
642         * runtime/compile_options.c:  Add set_convert().
643         * libgfortran.h:  Add convert to compile_options_t.
644         * io/open.c (st_open): Call get_unformatted_convert to get
645         unit default; if CONVERT_NONE is returned, check for
646         the presence of a CONVERT specifier and use it.
647         As default, use compile_options.convert.
648         * io/io.h (top level): Add CONVERT_NONE to unit_convert, to signal
649         "nothing has been set".
650         (top level): Add prototype for get_unformatted_convert.
651
652 2006-02-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
653
654         PR libfortran/24685
655         * io/write.c (write_real): Widen the default format for real(10)
656         variables output.
657
658 2006-01-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
659
660         PR libgfortran/25835
661         * io/transfer.c (st_read_done): Flush buffers when read is done.
662
663 2006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
664
665         PR libgfortran/25697
666         * io/transfer.c (us_read): Detect end of file condition from previous
667         operations and bail out (no need to pre-position).
668
669 2006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
670
671         PR libgfortran/25631
672         * io/transfer.c (formatted_transfer_scalar): Adjust pending_spaces and
673         skips so that TL works correctly when no bytes_used yet.  
674
675 2006-01-16  Roger Sayle  <roger@eyesopen.com>
676
677         * configure.ac (CFLAGS): Update to include -std=gnu99 so that
678         the configure tests will be run with the same environment as
679         used to compile the libgfortran source code.
680         * configure: Regenerate.
681
682 2006-01-12  Roger Sayle  <roger@eyesopen.com>
683
684         * intrinsics/c99_functions.c: Add function prototypes to avoid
685         warnings from -Wstrict-prototypes -Wmissing-prototypes.  On Tru64
686         work around a brain-dead libm by redirecting calls to cabs{,f,l}
687         to a local __gfc_cabs{,f,l}.
688
689 2006-01-07  Janne Blomqvist  <jb@gcc.gnu.org>
690
691         * configure.ac: Remove check for sys/mman.h.
692         * configure: Regenerated.
693         * Makefile.in: Regenerated.
694         * config.h.in: Regenerated.
695         * aclocal.m4: Regenerated.
696         
697 2006-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
698
699         PR libgfortran/25598
700         * io/file_pos.c (unformatted_backspace): Assure the new file position
701         to seek is not less than zero.
702         (st_backspace): Set unit bytes_left to zero.
703         * io/transfer.c (next_record_r): Fix line lengths, no functional change.
704
705 2006-01-02  Paolo Bonzini  <bonzini@gnu.org>
706
707         PR target/25259
708         * configure.ac: Use GCC_HEADER_STDINT.
709         * libgfortran.h: Include gstdint.h.
710         * aclocal.m4: Regenerate.
711         * configure: Regenerate.
712
713 2006-01-01  Steven G. Kargl  <kargls@comcast.net>
714
715         * ChangeLog: Split into years ...
716         * ChangeLog-2002: here.
717         * ChangeLog-2003: here.
718         * ChangeLog-2004: here.
719         * ChangeLog-2005: here.