OSDN Git Service

Introduce a size member function to struct stream.
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
1 2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>
2
3         * io/unix.h (struct stream): Add size function pointer.
4         (ssize): New inline function.
5         (file_length): Remove prototype.
6         * io/unix.c (raw_size): New function.
7         (raw_init): Initialize st.size pointer.
8         (buf_size): New function.
9         (buf_init): Initialize st.size pointer.
10         (open_internal): Likewise.
11         (open_internal4): Likewise.
12         (file_length): Remove function.
13         * io/file_pos.c (st_rewind): Use ssize instead of file_length.
14         * io/open.c (test_endfile): Likewise.
15         * io/transfer.c (data_transfer_init): Likewise.
16         (next_record_r): Likewise.
17         (next_record_w): Likewise.
18         * io/unit.c (update_position): Likewise.
19
20 2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>
21
22         * io/file_pos.c (st_rewind): Handle regular and special files
23         identically.
24         * io/intrinsics.c (fseek_sub): Don't check whether we think the
25         file is seekable, just do what the caller says.
26         * io/transfer.c (skip_record): First try to seek, then fallback to
27         reading and throwing away what we read.
28         * io/unit.c (update_position): Don't check whether file is
29         seekable, just try to do what we're told.
30         (unit_truncate): Likewise.
31         * io/unix.c (struct unix_stream): Remove special_file flag.
32         (buf_flush): Remove code for handling unseekable files.
33         (buf_seek): Likewise.
34         (fd_to_stream): Use buffered IO only for regular files.
35         (file_length): Remove is_seekable() call.
36         (is_seekable): Remove function.
37         (is_special): Likewise.
38         * io/unix.h: Remove prototypes for is_seekable and is_special.
39
40 2011-09-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
41
42         PR fortran/49479
43         * generated/m4/ifunction.m4:  Always call internal_malloc_size
44         even when there is a zero-sized return array.
45         * generated/generated/maxloc1_16_i16.c: Regenerated.
46         * generated/generated/maxloc1_16_i1.c: Regenerated.
47         * generated/generated/maxloc1_16_i2.c: Regenerated.
48         * generated/generated/maxloc1_16_i4.c: Regenerated.
49         * generated/generated/maxloc1_16_i8.c: Regenerated.
50         * generated/generated/maxloc1_16_r10.c: Regenerated.
51         * generated/generated/maxloc1_16_r16.c: Regenerated.
52         * generated/generated/maxloc1_16_r4.c: Regenerated.
53         * generated/generated/maxloc1_16_r8.c: Regenerated.
54         * generated/generated/maxloc1_4_i16.c: Regenerated.
55         * generated/generated/maxloc1_4_i1.c: Regenerated.
56         * generated/generated/maxloc1_4_i2.c: Regenerated.
57         * generated/generated/maxloc1_4_i4.c: Regenerated.
58         * generated/generated/maxloc1_4_i8.c: Regenerated.
59         * generated/generated/maxloc1_4_r10.c: Regenerated.
60         * generated/generated/maxloc1_4_r16.c: Regenerated.
61         * generated/generated/maxloc1_4_r4.c: Regenerated.
62         * generated/generated/maxloc1_4_r8.c: Regenerated.
63         * generated/generated/maxloc1_8_i16.c: Regenerated.
64         * generated/generated/maxloc1_8_i1.c: Regenerated.
65         * generated/generated/maxloc1_8_i2.c: Regenerated.
66         * generated/generated/maxloc1_8_i4.c: Regenerated.
67         * generated/generated/maxloc1_8_i8.c: Regenerated.
68         * generated/generated/maxloc1_8_r10.c: Regenerated.
69         * generated/generated/maxloc1_8_r16.c: Regenerated.
70         * generated/generated/maxloc1_8_r4.c: Regenerated.
71         * generated/generated/maxloc1_8_r8.c: Regenerated.
72         * generated/generated/maxval_i16.c: Regenerated.
73         * generated/generated/maxval_i1.c: Regenerated.
74         * generated/generated/maxval_i2.c: Regenerated.
75         * generated/generated/maxval_i4.c: Regenerated.
76         * generated/generated/maxval_i8.c: Regenerated.
77         * generated/generated/maxval_r10.c: Regenerated.
78         * generated/generated/maxval_r16.c: Regenerated.
79         * generated/generated/maxval_r4.c: Regenerated.
80         * generated/generated/maxval_r8.c: Regenerated.
81         * generated/generated/minloc1_16_i16.c: Regenerated.
82         * generated/generated/minloc1_16_i1.c: Regenerated.
83         * generated/generated/minloc1_16_i2.c: Regenerated.
84         * generated/generated/minloc1_16_i4.c: Regenerated.
85         * generated/generated/minloc1_16_i8.c: Regenerated.
86         * generated/generated/minloc1_16_r10.c: Regenerated.
87         * generated/generated/minloc1_16_r16.c: Regenerated.
88         * generated/generated/minloc1_16_r4.c: Regenerated.
89         * generated/generated/minloc1_16_r8.c: Regenerated.
90         * generated/generated/minloc1_4_i16.c: Regenerated.
91         * generated/generated/minloc1_4_i1.c: Regenerated.
92         * generated/generated/minloc1_4_i2.c: Regenerated.
93         * generated/generated/minloc1_4_i4.c: Regenerated.
94         * generated/generated/minloc1_4_i8.c: Regenerated.
95         * generated/generated/minloc1_4_r10.c: Regenerated.
96         * generated/generated/minloc1_4_r16.c: Regenerated.
97         * generated/generated/minloc1_4_r4.c: Regenerated.
98         * generated/generated/minloc1_4_r8.c: Regenerated.
99         * generated/generated/minloc1_8_i16.c: Regenerated.
100         * generated/generated/minloc1_8_i1.c: Regenerated.
101         * generated/generated/minloc1_8_i2.c: Regenerated.
102         * generated/generated/minloc1_8_i4.c: Regenerated.
103         * generated/generated/minloc1_8_i8.c: Regenerated.
104         * generated/generated/minloc1_8_r10.c: Regenerated.
105         * generated/generated/minloc1_8_r16.c: Regenerated.
106         * generated/generated/minloc1_8_r4.c: Regenerated.
107         * generated/generated/minloc1_8_r8.c: Regenerated.
108         * generated/generated/minval_i16.c: Regenerated.
109         * generated/generated/minval_i1.c: Regenerated.
110         * generated/generated/minval_i2.c: Regenerated.
111         * generated/generated/minval_i4.c: Regenerated.
112         * generated/generated/minval_i8.c: Regenerated.
113         * generated/generated/minval_r10.c: Regenerated.
114         * generated/generated/minval_r16.c: Regenerated.
115         * generated/generated/minval_r4.c: Regenerated.
116         * generated/generated/minval_r8.c: Regenerated.
117         * generated/generated/product_c10.c: Regenerated.
118         * generated/generated/product_c16.c: Regenerated.
119         * generated/generated/product_c4.c: Regenerated.
120         * generated/generated/product_c8.c: Regenerated.
121         * generated/generated/product_i16.c: Regenerated.
122         * generated/generated/product_i1.c: Regenerated.
123         * generated/generated/product_i2.c: Regenerated.
124         * generated/generated/product_i4.c: Regenerated.
125         * generated/generated/product_i8.c: Regenerated.
126         * generated/generated/product_r10.c: Regenerated.
127         * generated/generated/product_r16.c: Regenerated.
128         * generated/generated/product_r4.c: Regenerated.
129         * generated/generated/product_r8.c: Regenerated.
130         * generated/generated/sum_c10.c: Regenerated.
131         * generated/generated/sum_c16.c: Regenerated.
132         * generated/generated/sum_c4.c: Regenerated.
133         * generated/generated/sum_c8.c: Regenerated.
134         * generated/generated/sum_i16.c: Regenerated.
135         * generated/generated/sum_i1.c: Regenerated.
136         * generated/generated/sum_i2.c: Regenerated.
137         * generated/generated/sum_i4.c: Regenerated.
138         * generated/generated/sum_i8.c: Regenerated.
139         * generated/generated/sum_r10.c: Regenerated.
140         * generated/generated/sum_r16.c: Regenerated.
141         * generated/generated/sum_r4.c: Regenerated.
142         * generated/generated/sum_r8.c: Regenerated.
143
144 2011-09-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
145
146         * generated/bessel_r4.c: Regenerated.
147         * generated/bessel_r8.c: Regenerated.
148         * generated/bessel_r10.c: Regenerated.
149         * generated/bessel_r16.c: Regenerated.
150
151 2011-08-29  Tobias Burnus  <burnus@net-b.de>
152
153         * caf/libcaf.h (_gfortran_caf_deregister): Update prototype.
154         * caf/mpi.c (_gfortran_caf_deregister): Modify prototype,
155         actually free memory and add error diagnostic.
156         (_gfortran_caf_finalize): Add additional free calls.
157         * caf/single.c (_gfortran_caf_deregister): Modify prototype,
158         actually free memory and add error diagnostic.
159         (_gfortran_caf_finalize): Add additional free calls.
160
161 2011-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
162
163         PR libfortran/50192
164         * intrinsics/string_intrinsics.c (memcmp_char4):  New function.
165         * intrinsics/string_intrinsics_inc.c:  New macro MEMCMP, either
166         set to memcmp or memcmp_char4.
167         (compare_string):  Use MEMCMP, with correct size for it.
168         * libgfortran.h:  Add prototype for memcmp_char4.
169
170 2011-08-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
171
172         PR fortran/40866
173         * generated/iall_i1.c: Regenerated.
174         * generated/iall_i16.c: Regenerated.
175         * generated/iall_i2.c: Regenerated.
176         * generated/iall_i4.c: Regenerated.
177         * generated/iall_i8.c: Regenerated.
178         * generated/iany_i1.c: Regenerated.
179         * generated/iany_i16.c: Regenerated.
180         * generated/iany_i2.c: Regenerated.
181         * generated/iany_i4.c: Regenerated.
182         * generated/iany_i8.c: Regenerated.
183         * generated/iparity_i1.c: Regenerated.
184         * generated/iparity_i16.c: Regenerated.
185         * generated/iparity_i2.c: Regenerated.
186         * generated/iparity_i4.c: Regenerated.
187         * generated/iparity_i8.c: Regenerated.
188         * generated/norm2_r10.c: Regenerated.
189         * generated/norm2_r16.c: Regenerated.
190         * generated/norm2_r4.c: Regenerated.
191         * generated/norm2_r8.c: Regenerated.
192         * generated/parity_l1.c: Regenerated.
193         * generated/parity_l16.c: Regenerated.
194         * generated/parity_l2.c: Regenerated.
195         * generated/parity_l4.c: Regenerated.
196         * generated/parity_l8.c: Regenerated.
197         * generated/misc_specifics.F90: Regenerated (comment change).
198         * generated/_abs_c10.F90: Regenerated (comment change).
199         * generated/_abs_c16.F90: Regenerated (comment change).
200         * generated/_abs_c4.F90: Regenerated (comment change).
201         * generated/_abs_c8.F90: Regenerated (comment change).
202         * generated/_abs_i16.F90: Regenerated (comment change).
203         * generated/_abs_i4.F90: Regenerated (comment change).
204         * generated/_abs_i8.F90: Regenerated (comment change).
205         * generated/_abs_r10.F90: Regenerated (comment change).
206         * generated/_abs_r16.F90: Regenerated (comment change).
207         * generated/_abs_r4.F90: Regenerated (comment change).
208         * generated/_abs_r8.F90: Regenerated (comment change).
209         * generated/_acosh_r10.F90: Regenerated (comment change).
210         * generated/_acosh_r16.F90: Regenerated (comment change).
211         * generated/_acosh_r4.F90: Regenerated (comment change).
212         * generated/_acosh_r8.F90: Regenerated (comment change).
213         * generated/_acos_r10.F90: Regenerated (comment change).
214         * generated/_acos_r16.F90: Regenerated (comment change).
215         * generated/_acos_r4.F90: Regenerated (comment change).
216         * generated/_acos_r8.F90: Regenerated (comment change).
217         * generated/_aimag_c10.F90: Regenerated (comment change).
218         * generated/_aimag_c16.F90: Regenerated (comment change).
219         * generated/_aimag_c4.F90: Regenerated (comment change).
220         * generated/_aimag_c8.F90: Regenerated (comment change).
221         * generated/_aint_r10.F90: Regenerated (comment change).
222         * generated/_aint_r16.F90: Regenerated (comment change).
223         * generated/_aint_r4.F90: Regenerated (comment change).
224         * generated/_aint_r8.F90: Regenerated (comment change).
225         * generated/_anint_r10.F90: Regenerated (comment change).
226         * generated/_anint_r16.F90: Regenerated (comment change).
227         * generated/_anint_r4.F90: Regenerated (comment change).
228         * generated/_anint_r8.F90: Regenerated (comment change).
229         * generated/_asinh_r10.F90: Regenerated (comment change).
230         * generated/_asinh_r16.F90: Regenerated (comment change).
231         * generated/_asinh_r4.F90: Regenerated (comment change).
232         * generated/_asinh_r8.F90: Regenerated (comment change).
233         * generated/_asin_r10.F90: Regenerated (comment change).
234         * generated/_asin_r16.F90: Regenerated (comment change).
235         * generated/_asin_r4.F90: Regenerated (comment change).
236         * generated/_asin_r8.F90: Regenerated (comment change).
237         * generated/_atan2_r10.F90: Regenerated (comment change).
238         * generated/_atan2_r16.F90: Regenerated (comment change).
239         * generated/_atan2_r4.F90: Regenerated (comment change).
240         * generated/_atan2_r8.F90: Regenerated (comment change).
241         * generated/_atanh_r10.F90: Regenerated (comment change).
242         * generated/_atanh_r16.F90: Regenerated (comment change).
243         * generated/_atanh_r4.F90: Regenerated (comment change).
244         * generated/_atanh_r8.F90: Regenerated (comment change).
245         * generated/_atan_r10.F90: Regenerated (comment change).
246         * generated/_atan_r16.F90: Regenerated (comment change).
247         * generated/_atan_r4.F90: Regenerated (comment change).
248         * generated/_atan_r8.F90: Regenerated (comment change).
249         * generated/_conjg_c10.F90: Regenerated (comment change).
250         * generated/_conjg_c16.F90: Regenerated (comment change).
251         * generated/_conjg_c4.F90: Regenerated (comment change).
252         * generated/_conjg_c8.F90: Regenerated (comment change).
253         * generated/_cosh_r10.F90: Regenerated (comment change).
254         * generated/_cosh_r16.F90: Regenerated (comment change).
255         * generated/_cosh_r4.F90: Regenerated (comment change).
256         * generated/_cosh_r8.F90: Regenerated (comment change).
257         * generated/_cos_c10.F90: Regenerated (comment change).
258         * generated/_cos_c16.F90: Regenerated (comment change).
259         * generated/_cos_c4.F90: Regenerated (comment change).
260         * generated/_cos_c8.F90: Regenerated (comment change).
261         * generated/_cos_r10.F90: Regenerated (comment change).
262         * generated/_cos_r16.F90: Regenerated (comment change).
263         * generated/_cos_r4.F90: Regenerated (comment change).
264         * generated/_cos_r8.F90: Regenerated (comment change).
265         * generated/_dim_i16.F90: Regenerated (comment change).
266         * generated/_dim_i4.F90: Regenerated (comment change).
267         * generated/_dim_i8.F90: Regenerated (comment change).
268         * generated/_dim_r10.F90: Regenerated (comment change).
269         * generated/_dim_r16.F90: Regenerated (comment change).
270         * generated/_dim_r4.F90: Regenerated (comment change).
271         * generated/_dim_r8.F90: Regenerated (comment change).
272         * generated/_exp_c10.F90: Regenerated (comment change).
273         * generated/_exp_c16.F90: Regenerated (comment change).
274         * generated/_exp_c4.F90: Regenerated (comment change).
275         * generated/_exp_c8.F90: Regenerated (comment change).
276         * generated/_exp_r10.F90: Regenerated (comment change).
277         * generated/_exp_r16.F90: Regenerated (comment change).
278         * generated/_exp_r4.F90: Regenerated (comment change).
279         * generated/_exp_r8.F90: Regenerated (comment change).
280         * generated/_log10_r10.F90: Regenerated (comment change).
281         * generated/_log10_r16.F90: Regenerated (comment change).
282         * generated/_log10_r4.F90: Regenerated (comment change).
283         * generated/_log10_r8.F90: Regenerated (comment change).
284         * generated/_log_c10.F90: Regenerated (comment change).
285         * generated/_log_c16.F90: Regenerated (comment change).
286         * generated/_log_c4.F90: Regenerated (comment change).
287         * generated/_log_c8.F90: Regenerated (comment change).
288         * generated/_log_r10.F90: Regenerated (comment change).
289         * generated/_log_r16.F90: Regenerated (comment change).
290         * generated/_log_r4.F90: Regenerated (comment change).
291         * generated/_log_r8.F90: Regenerated (comment change).
292         * generated/_mod_i16.F90: Regenerated (comment change).
293         * generated/_mod_i4.F90: Regenerated (comment change).
294         * generated/_mod_i8.F90: Regenerated (comment change).
295         * generated/_mod_r10.F90: Regenerated (comment change).
296         * generated/_mod_r16.F90: Regenerated (comment change).
297         * generated/_mod_r4.F90: Regenerated (comment change).
298         * generated/_mod_r8.F90: Regenerated (comment change).
299         * generated/_sign_i16.F90: Regenerated (comment change).
300         * generated/_sign_i4.F90: Regenerated (comment change).
301         * generated/_sign_i8.F90: Regenerated (comment change).
302         * generated/_sign_r10.F90: Regenerated (comment change).
303         * generated/_sign_r16.F90: Regenerated (comment change).
304         * generated/_sign_r4.F90: Regenerated (comment change).
305         * generated/_sign_r8.F90: Regenerated (comment change).
306         * generated/_sinh_r10.F90: Regenerated (comment change).
307         * generated/_sinh_r16.F90: Regenerated (comment change).
308         * generated/_sinh_r4.F90: Regenerated (comment change).
309         * generated/_sinh_r8.F90: Regenerated (comment change).
310         * generated/_sin_c10.F90: Regenerated (comment change).
311         * generated/_sin_c16.F90: Regenerated (comment change).
312         * generated/_sin_c4.F90: Regenerated (comment change).
313         * generated/_sin_c8.F90: Regenerated (comment change).
314         * generated/_sin_r10.F90: Regenerated (comment change).
315         * generated/_sin_r16.F90: Regenerated (comment change).
316         * generated/_sin_r4.F90: Regenerated (comment change).
317         * generated/_sin_r8.F90: Regenerated (comment change).
318         * generated/_sqrt_c10.F90: Regenerated (comment change).
319         * generated/_sqrt_c16.F90: Regenerated (comment change).
320         * generated/_sqrt_c4.F90: Regenerated (comment change).
321         * generated/_sqrt_c8.F90: Regenerated (comment change).
322         * generated/_sqrt_r10.F90: Regenerated (comment change).
323         * generated/_sqrt_r16.F90: Regenerated (comment change).
324         * generated/_sqrt_r4.F90: Regenerated (comment change).
325         * generated/_sqrt_r8.F90: Regenerated (comment change).
326         * generated/_tanh_r10.F90: Regenerated (comment change).
327         * generated/_tanh_r16.F90: Regenerated (comment change).
328         * generated/_tanh_r4.F90: Regenerated (comment change).
329         * generated/_tanh_r8.F90: Regenerated (comment change).
330         * generated/_tan_r10.F90: Regenerated (comment change).
331         * generated/_tan_r16.F90: Regenerated (comment change).
332         * generated/_tan_r4.F90: Regenerated (comment change).
333         * generated/_tan_r8.F90: Regenerated (comment change).
334
335 2011-08-18  Tobias Burnus  <burnus@net-b.de>
336
337         PR fortran/50109
338         * io/list_read.c (eat_separator): Fix skipping over "!" lines.
339
340 2011-07-23  Andreas Schwab  <schwab@linux-m68k.org>
341
342         * intrinsics/ctime.c: Include <stdlib.h>.
343         * intrinsics/getlog.c: Likewise.
344         * runtime/stop.c: Likewise.
345
346 2011-07-23  Tobias Burnus  <burnus@net-b.de>
347
348         PR fortran/49791
349         * io/list_read.c (nml_parse_qualifier): Remove check to
350         enabled extended read for another case.
351
352 2011-07-15  Daniel Carrera  <dcarrera@gmail.com>
353
354         * caf/mpi.c (caf_runtime_error): Change fprintf to vfprintf.
355         * caf/single.c (caf_runtime_error): Ditto.
356
357 2011-07-14  Daniel Carrera  <dcarrera@gmail.com>
358
359         * caf/single.c:  Include stdarg.h header.
360         (caf_runtime_error): New function. Use "exit(EXIT_FAILURE)".
361         (_gfortran_caf_register): Use caf_runtime_error.
362         (_gfortran_caf_sync_images): Use "exit(EXIT_FAILURE)".
363         * caf/mpi.c (caf_runtime_error): Remove "error" parameter.
364         Return EXIT_FAILURE instead.
365         (_gfortran_caf_register): Update call to caf_runtime_error.
366         (_gfortran_caf_sync_all): Ditto.
367         (_gfortran_caf_sync_images): Ditto.
368         (_gfortran_caf_error_stop_str): Use "exit(EXIT_FAILURE)".
369
370 2011-07-13  Janne Blomqvist  <jb@gcc.gnu.org>
371
372         PR libfortran/49296
373         * io/list_read.c (read_logical): Don't error out if a valid value
374         is followed by EOF instead of a normal separator.
375         (read_integer): Likewise.
376
377 2011-07-09  Tobias Burnus  <burnus@net-b.de>
378
379         * runtime/error.c (sys_abort): Change argument list
380         from "()" to "(void)".
381
382 2011-07-09  Tobias Burnus  <burnus@net-b.de>
383             Daniel Carrera  <dcarrera@gmail.com>
384
385         * caf/mpi.c (runtime_error): New function.
386         (_gfortran_caf_register): Use it.
387         (_gfortran_caf_sync_all): Use it, add STAT_STOPPED_IMAGE
388         as possible status value.
389         (_gfortran_caf_sync_images): Ditto.
390
391 2011-07-07  Tobias Burnus  <burnus@net-b.de>
392
393         * libcaf.h (__attribute__, unlikely, likely): New macros.
394         (caf_register_t): Update comment.
395         (_gfortran_caf_register): Add stat, errmsg, errmsg_len arguments.
396         * single.c (_gfortran_caf_register): Ditto; add error diagnostics.
397         * mpi.c (_gfortran_caf_register): Ditto.
398         (caf_is_finalized): New global variable.
399         (_gfortran_caf_finalize): Use it.
400
401 2011-07-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
402
403         * runtime/memory.c (internal_malloc_size):  If size is zero,
404         allocate a single byte.
405         * m4/pack.m4 (pack_'rtype_code`):  Don't check for zero size
406         for the argument of internal_malloc_size.
407         * m4/spread.m4 (spread_'rtype_code`):  Likewise.
408         * m4/eoshift1.m4 (eoshift1):  Don't allocate twice.  Don't check
409         for zero size for the argument of internal_malloc_size.
410         * m4/eoshift3.m4: Don't check for zero size for the argument of
411         internal_malloc_size.
412         * intrinsics/pack_generic.c (pack_internal):  Likewise.
413         (pack_s_internal):  Likewise.
414         * intrinsics/cshift0.c (cshift0):  Likewise.
415         * intrinsics/spread_generic.c (spread_internal):  Likewise.
416         * intrinsics/eoshift0.c (eoshift0):  Likewise.
417         * intrinsics/eoshift2.c (eoshift2):  Likewise.
418         * generated/eoshift1_16.c: Regenerated.
419         * generated/eoshift1_4.c: Regenerated.
420         * generated/eoshift1_8.c: Regenerated.
421         * generated/eoshift3_16.c: Regenerated.
422         * generated/eoshift3_4.c: Regenerated.
423         * generated/eoshift3_8.c: Regenerated.
424         * generated/pack_c10.c: Regenerated.
425         * generated/pack_c16.c: Regenerated.
426         * generated/pack_c4.c: Regenerated.
427         * generated/pack_c8.c: Regenerated.
428         * generated/pack_i16.c: Regenerated.
429         * generated/pack_i1.c: Regenerated.
430         * generated/pack_i2.c: Regenerated.
431         * generated/pack_i4.c: Regenerated.
432         * generated/pack_i8.c: Regenerated.
433         * generated/pack_r10.c: Regenerated.
434         * generated/pack_r16.c: Regenerated.
435         * generated/pack_r4.c: Regenerated.
436         * generated/pack_r8.c: Regenerated.
437         * generated/spread_c10.c: Regenerated.
438         * generated/spread_c16.c: Regenerated.
439         * generated/spread_c4.c: Regenerated.
440         * generated/spread_c8.c: Regenerated.
441         * generated/spread_i16.c: Regenerated.
442         * generated/spread_i1.c: Regenerated.
443         * generated/spread_i2.c: Regenerated.
444         * generated/spread_i4.c: Regenerated.
445         * generated/spread_i8.c: Regenerated.
446         * generated/spread_r10.c: Regenerated.
447         * generated/spread_r16.c: Regenerated.
448         * generated/spread_r4.c: Regenerated.
449         * generated/spread_r8.c: Regenerated.
450
451 2011-06-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
452
453         PR fortran/49479
454         * m4/reshape.m4: If source allocation is smaller than one, set it
455         to one.
456         * intrinsics/reshape_generic.c:  Likewise.
457         * generated/reshape_r16.c: Regenerated.
458         * generated/reshape_c4.c: Regenerated.
459         * generated/reshape_c16.c: Regenerated.
460         * generated/reshape_c8.c: Regenerated.
461         * generated/reshape_r4.c: Regenerated.
462         * generated/reshape_i4.c: Regenerated.
463         * generated/reshape_r10.c: Regenerated.
464         * generated/reshape_r8.c: Regenerated.
465         * generated/reshape_c10.c: Regenerated.
466         * generated/reshape_i8.c: Regenerated.
467         * generated/reshape_i16.c: Regenerated.
468
469 2011-06-18  Janne Blomqvist  <jb@gcc.gnu.org>
470
471         PR libfortran/49296
472         * io/list_read.c (read_character): Accept EOF as a separator when
473         reading string.
474
475 2011-06-17  Daniel Carrera  <dcarrera@gmail.com>
476
477         * caf/single.c (_gfortran_caf_register): Store the address
478         of all static coarrays in a linked list.
479         (_gfortran_caf_finalize): Free memory of staic coarrays.
480         * caf/mpi.c (_gfortran_caf_register): Store the address
481         of all static coarrays in a linked list. Initialize MPI
482         if necessary.
483         (_gfortran_caf_finalize): Free memory of staic coarrays.
484         (_gfortran_caf_init): Check if MPI is already initialized
485         before initializing again.
486         * caf/libcaf.h: Add a type to caf_register_t to distinguish
487         static coarrays and add the type caf_static_t to make the
488         linked list of static coarrays.
489
490 2011-06-11  Janne Blomqvist  <jb@gcc.gnu.org>
491
492         * io/unix.c (buf_seek): Return error if file is not seekable.
493         (buf_tell): Call buf_seek.
494
495 2011-06-11  Janne Blomqvist  <jb@gcc.gnu.org>
496
497         * io/unix.c (fd_to_stream): Figure out if a fd is seekable by
498         trying lseek().
499
500 2011-06-10  Daniel Carrera  <dcarrera@gmail.com>
501
502         * caf/mpi.c (_gfortran_caf_sync_all,
503         _gfortran_caf_sync_images): Functions have void return type
504         and move status into parameter list.
505         * caf/single.c (_gfortran_caf_sync_all,
506         _gfortran_caf_sync_images): Functions have void return type
507         and move status into parameter list.
508         * caf/libcaf.h (_gfortran_caf_sync_all,
509         _gfortran_caf_sync_images): Functions have void return type
510         and move status into parameter list.
511
512 2011-06-03  Richard Henderson  <rth@redhat.com>
513             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
514
515         * config/fpu-387.h [__sun__ && __svr4__] (sigill_hdlr): Correct
516         insn, insn size.
517         (has_sse) [!__x86_64__ && __sun__ && __svr4__]: Use movaps.
518
519 2011-05-29  Janne Blomqvist  <jb@gcc.gnu.org>
520
521         PR libfortran/48931
522         * libgfortran.h (find_addr2line): New prototype.
523         * runtime/backtrace.c (show_backtrace): Use async-signal-safe
524         execve and stored path of addr2line.
525         * runtime/compile_options.c (maybe_find_addr2line): New function.
526         (set_options): Call maybe_find_addr2line if backtracing is enabled.
527         * runtime/main.c (find_addr2line): New function.
528         (init): Call find_addr2line if backtracing is enabled.
529         (cleanup): Free addr2line_path.
530
531 2011-05-29  Janne Blomqvist  <jb@gcc.gnu.org>
532
533         PR libfortran/49214
534         * runtime/backtrace.c (fd_gets): Return NULL if nothing was read.
535
536 2011-05-29  Janne Blomqvist  <jb@gcc.gnu.org>
537
538         PR libfortran/19155
539         * io/read.c (convert_real): Check for invalid input by comparing
540         endptr instead of EINVAL.
541         (read_f): Fixup floating point input without significand.
542
543 2011-05-22  Tobias Burnus  <burnus@net-b.de>
544
545         * runtime/stop.c (stop_string,error_stop_string): Minor cleanup.
546
547 2011-05-22  Janne Blomqvist  <jb@gcc.gnu.org>
548
549         PR libfortran/48931
550         * configure.ac: Check for backtrace_symbols_fd instead of
551         backtrace_symbols, check for readlink.
552         * config.h.in: Regenerated.
553         * configure: Regenerated.
554         * runtime/backtrace.c (local_strcasestr): Remove.
555         (bt_header): New function.
556         (dump_glibc_backtrace): Remove.
557         (fd_gets): New function.
558         (show_backtrace): Rework to use backtrace_symbols_fd and pipes
559         avoiding functions that are not async-signal-safe, reformat
560         output.
561         * runtime/main.c (store_exe_path): Try to check /proc/self/exe
562         first.
563
564 2011-05-20  Janne Blomqvist  <jb@gcc.gnu.org>
565             Uros Bizjak  <ubizjak@gmail.com>
566
567         PR libfortran/48977
568         * configure.host: Swap order of glibc and x86 tests.
569
570 2011-05-20  Janne Blomqvist  <jb@gcc.gnu.org>
571
572         * config/fpu-387.h (set_fpu): Use renamed inexact macro.
573         * config/fpu-aix.h (set_fpu): Clarify error messages, use renamed
574         inexact macro, set TRP_INEXACT for inexact exception instead of
575         TRP_UNDERFLOW.
576         * config/fpu-generic.h (set_fpu): Clarify error messages, use
577         renamed inexact macro.
578         * config/fpu-glibc.h (set_fpu): Likewise.
579         * config/fpu-sysv.h (set_fpu): Likewise.
580
581 2011-05-14  Tobias Burnus  <burnus@net-b.de>
582
583         * runtime/stop.c (error_stop_string, error_stop_numeric):
584         Do not backtrace for ERROR STOP.
585
586 2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
587
588         PR libfortran/48915
589         * intrinsics/abort.c (abort): Call sys_abort().
590         * io/unix.c (st_vprintf): Call sys_abort().
591         * libgfortran.h (options_t): Remove dump_core member.
592         (handler): Rename to backtrace_handler.
593         (compile_options_t): Remove dump_core member.
594         (sys_exit): Remove.
595         (sys_abort): New function.
596         * runtime/backtrace.c (show_backtrace): Print a message if
597         backtrace is not available on target, update filter symbol name
598         due to backtrace_handler renaming.
599         * runtime/compile_options.c (backtrace_handler): New
600         implementation based on example in Glibc manual.
601         (set_options): Remove dump_core handling, make signal handler
602         handle more signals.
603         (init_compile_options): Remove dump_core.
604         * runtime/environ.c (variable_table[]): Remove
605         GFORTRAN_ERROR_DUMPCORE element.
606         (show_variables): Update name, call exit().
607         * runtime/error.c (sys_exit): Remove.
608         (sys_abort): New function.
609         (recursion_check): Call sys_abort().
610         (os_error): Call exit().
611         (runtime_error): Likewise.
612         (runtime_error_at): Likewise.
613         (internal_error): Likewise.
614         (generate_error): Likewise.
615         (notify_std): Likewise.
616         * runtime/stop.c (stop_numeric): Call exit().
617         (stop_numeric_f08): Likewise.
618         (stop_string): Likewise.
619         (error_stop_string): Call sys_abort().
620         (error_stop_numeric): Print backtrace, exit with provided code.
621
622 2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
623
624         * io/unix.c (st_vprintf,st_printf): Move to runtime/error.c.
625         * libgfortran.h (struct options_t): Remove use_stderr field.
626         (st_vprintf,st_printf): Move prototypes.
627         (estr_write): New prototype.
628         * runtime/error.c (sys_exit): Use estr_write instead of st_printf.
629         (estr_write): New function.
630         (st_vprintf): Move from io/unix.c, use stack allocated buffer,
631         always output to stderr.
632         (st_printf): Move from io/unix.c.
633         (show_locus): Use a local variable instead of static.
634         (os_error): Use estr_write instead of st_printf.
635         (runtime_error): Likewise.
636         (runtime_error_at): Likewise.
637         (runtime_warning_at): Likewise.
638         (internal_error): Likewise.
639         (generate_error): Likewise.
640         (generate_warning): Likewise.
641         (notify_std): Likewise.
642         * runtime/pause.c (do_pause): Likewise.
643         (pause_string): Likewise.
644         * runtime/stop.c (stop_string): Likewise.
645         (error_stop_string): Likewise.
646         * config/fpu_aix.h (set_fpu): Likewise.
647         * config/fpu_generic.h (set_fpu): Likewise.
648         * config/fpu_glibc.h (set_fpu): Likewise.
649         * config/fpu-sysv.h (set_fpu): Likewise.
650         * runtime/backtrace.c (dump_glibc_backtrace): Likewise.
651         (show_backtrace): Likewise.
652         * runtime/environ.c (print_spaces): Likewise.
653         (show_string): Likewise.
654         (show_variables): Likewise.
655         (variable_table[]): Remove GFORTRAN_USE_STDERR entry.
656
657 2011-05-14  Tobias Burnus  <burnus@net-b.de>
658
659         PR fortran/48961
660         * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if
661         synchronously executing with WAIT=.false.
662         (execute_command_line): Fix setting of cmdstat and exitstat.
663
664 2011-05-06  Tobias Burnus  <burnus@net-b.de>
665
666         PR fortran/18918
667         * caf/libcaf.h: Cleanup headers.
668         (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub.
669         (caf_register_t): New enum.
670         (_gfortran_caf_register, _gfortran_caf_deregister): New prototype.
671         * caf/single.c (_gfortran_caf_critical,
672         _gfortran_caf_end_critical): Remove.
673         (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
674         * caf/mpi.c (_gfortran_caf_critical,
675         _gfortran_caf_end_critical): Remove.
676         (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
677         (caf_world_window): Remove global variable.
678         (_gfortran_caf_init): Fix off-by-one error of this_image.
679
680 2011-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
681
682         PR libgfortran/48787
683         * io/write_float.def (output_float): Adjust up and down rounding for
684         cases where 'd' = 0. Gather common code to one location.
685
686 2011-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
687
688         PR libgfortran/48787
689         * io/write_float.def (output_float): Gather up integer declarations and
690         add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference
691         everywhere. For ROUND_UP scan the digit string and only perform
692         rounding if something other than '0' is found.
693
694 2011-04-29  Janne Blomqvist  <jb@gcc.gnu.org>
695
696         * io/unix.c (min): New macro.
697         (unpack_filename): Return errno number for errors.
698         (regular_file): Use appropriately sized buffer for path.
699         (compare_file_filename): Likewise.
700         (find_file): Likewise.
701         (delete_file): Likewise.
702         (file_exists): Likewise.
703         (file_size): Likewise.
704         (inquire_sequential): Likewise.
705         (inquire_direct): Likewise.
706         (inquire_formatted): Likewise.
707         (inquire_access): Likewise.
708
709 2011-04-29  Janne Blomqvist  <jb@gcc.gnu.org>
710
711         PR libfortran/48488
712         * io/write.c (write_real, write_real_g0): Update comments.
713
714 2011-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
715             Janne Blomqvist  <jb@gcc.gnu.org>
716
717         PR libgfortran/48488
718         PR libgfortran/48602
719         PR libgfortran/48615
720         PR libgfortran/48684
721         PR libgfortran/48787
722         * io/write.c (write_d, write_e, write_f, write_en,
723         write_es): Add precision compemsation parameter to call.
724         (set_fnode_default): Adjust default widths to assure
725         round trip on write and read. (write_real): Adjust call to write_float.
726         (write_real_g0): Calculate compensation for extra precision and adjust
727         call to write_float.
728         * io/write_float.def (output_float_FMT_G_): Use volatile rather than
729         asm volatile to avoid optimization issue. Correctly calculate the
730         number of blanks (nb) to be appended and simplify calculation logic.
731         (write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
732         default widths. Eliminate the code that attempted to reduce the
733         the precision used in later sprintf functions.  Add call parameter to
734         compensate for extra precision.
735
736 2011-04-20  Jim Meyering  <meyering@redhat.com>
737
738         * intrinsics/move_alloc.c (move_alloc): Remove useless
739         if-before-free test.
740         * io/fbuf.c (fbuf_destroy): Likewise.
741         * io/format.c (save_parsed_format): Likewise.
742         * io/open.c (already_open): Likewise.
743         * io/unit.c (free_internal_unit, close_unit_1): Likewise.
744         * io/unix.c (mem_close): Likewise.
745
746 2011-04-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
747
748         PR libgfortran/48602
749         * io/write_float.def (output_float_FMT_G): Fix reversal in conditional.
750         Use asm volatile to mark temp variable, avoiding optimization errors.
751
752 2011-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
753
754         PR libgfortran/48602
755         * io/write_float.def (output_float_FMT_G): Use current rounding mode
756         to set the rounding parameters. (output_float): Skip rounding
757         if value is zero.
758
759 2011-04-16  Janne Blomqvist  <jb@gcc.gnu.org>
760
761         * intrinsics/date_and_time.c (date_and_time): Remove sprintf CPP
762         branch.
763         * io/format.c (format_error): Use snprintf instead of sprintf.
764         * io/list_read.c: Move snprintf fallback macro to libgfortran.h.
765         (convert_integer): Use snprintf instead of sprintf.
766         (parse_repeat): Likewise.
767         (read_logical): Likewise.
768         (read_integer): Likewise.
769         (read_character): Likewise.
770         (parse_real): Likewise.
771         (read_complex): Likewise.
772         (read_real): Likewise.
773         (check_type): Likewise.
774         (nml_parse_qualifier): Add string length argument, use snprintf
775         instead of sprintf.
776         (nml_get_obj_data): Use snprintf instead of sprintf.
777         * io/open.c (new_unit): Remove sprintf CPP branch, use snprintf
778         instead of sprintf.
779         * io/transfer.c (require_type): Use snprintf instead of sprintf.
780         * io/unix.c (tempfile): Likewise.
781         * io/write.c (nml_write_obj): Likewise.
782         * io/write_float.def (output_float): Remove sprintf CPP branch,
783         use snprintf instead of sprintf.
784         * libgfortran.h: Add fallback snprintf macro from io/list_read.c.
785         * runtime/backtrace.c (show_backtrace): Remove sprintf CPP branch.
786         * runtime/main.c (store_exe_path): Use snprintf instead of
787         sprintf.
788
789 2011-04-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
790
791         PR libgfortran/48589
792         * io/write_float.def (write_infnan): Set width properly for G0.
793
794 2011-04-15  Tobias Burnus  <burnus@net-b.de>
795
796         PR fortran/18918
797         * Makefile.am: Build and install caf/single.c as
798         libcaf_single.a.
799         * Makefile.in: Regenerate.
800
801 2011-04-15  Janne Blomqvist  <jb@gcc.gnu.org>
802
803         PR libfortran/47571
804         * configure: Regenerated.
805         * config.h.in: Regenerated.
806         * acinclude.m4: Add alpha*-dec-osf* to gthread blacklist.
807         * configure.ac: Use separate symbol for clock_gettime in librt.
808         * intrinsics/system_clock.c: Use weakrefs only when needed and
809         supported.
810
811 2011-04-12  Janne Blomqvist  <jb@gcc.gnu.org>
812
813         * configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t,
814         check for ptrdiff_t.
815         * libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for
816         index_type, change cshift0* prototypes.
817         * config.h.in: Regenerated.
818         * configure: Regenerated.
819         * intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t.
820         * io/io.h (array_loop_spec): Use index_type instead of ssize_t.
821         * io/list_read.c (nml_parse_qualifier): Likewise.
822         * io/write.c (nml_write_obj): Likewise.
823         * m4/cshift0.c (cshift0_'rtype_code`): Likewise.
824         * generated/cshift0_*.c: Regenerated.
825
826 2011-04-12  Janne Blomqvist  <jb@gcc.gnu.org>
827
828         * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS.
829         * Makefile.in: Regenerated.
830
831 2011-04-06  Tobias Burnus  <burnus@net-b.de>
832
833         PR fortran/18918
834         * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
835         Add global variable caf_mpi_initialized and use it for when
836         finalizing.
837
838 2011-04-04  Tobias Burnus  <burnus@net-b.de>
839
840         * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.
841         (fallback_access, open_internal4, compare_file_filename,
842         find_file, file_size, inquire_sequential, inquire_direct,
843         inquire_formatted): Use "struct stat" instead of gfstat_t.
844
845 2011-03-27  Tobias Burnus  <burnus@net-b.de>
846
847         PR fortran/18918
848         * caf/libcaf.h: New - coarray communication library.
849         * caf/mpi.c: New.
850         * caf/single.c: New.
851
852 2011-03-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
853
854         PR libgfortran/48030
855         * io/read.c (read_x): Re-implement using fbuf_getc.
856
857 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
858
859         PR bootstrap/48135
860         * configure.ac (gfortran_use_symver): Handle --disable-symvers.
861         * configure: Regenerate.
862
863 2011-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
864
865         PR fortran/35667
866         * io/io.h (convert_infnan): Declare.
867         * io/read.c (convert_infnan): New.
868         (read_f): Use convert_infnan to convert INFs and NANs.
869         * list_read.c (parse_real, read_real): Likewise.
870
871 2011-03-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
872
873         PR libfortran/47439
874         * io/unix.c (tempfile): Work around poor mktemp() implementations.
875
876 2011-03-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
877
878         PR libfortran/47883
879         * acinclude.m4: Don't use AC_TRY_ macros.
880         * configure.ac: Likewise.
881         * configure: Regenerate.
882
883 2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
884
885         PR libfortran/48066
886         * m4/ifunction.m4:  If return array is empty, return.
887         * m4/ifunction_logical.m4:  Likewise.
888         * generated/all_l16.c: Regenerated.
889         * generated/all_l1.c: Regenerated.
890         * generated/all_l2.c: Regenerated.
891         * generated/all_l4.c: Regenerated.
892         * generated/all_l8.c: Regenerated.
893         * generated/any_l16.c: Regenerated.
894         * generated/any_l1.c: Regenerated.
895         * generated/any_l2.c: Regenerated.
896         * generated/any_l4.c: Regenerated.
897         * generated/any_l8.c: Regenerated.
898         * generated/count_16_l.c: Regenerated.
899         * generated/count_1_l.c: Regenerated.
900         * generated/count_2_l.c: Regenerated.
901         * generated/count_4_l.c: Regenerated.
902         * generated/count_8_l.c: Regenerated.
903         * generated/maxloc1_16_i16.c: Regenerated.
904         * generated/maxloc1_16_i1.c: Regenerated.
905         * generated/maxloc1_16_i2.c: Regenerated.
906         * generated/maxloc1_16_i4.c: Regenerated.
907         * generated/maxloc1_16_i8.c: Regenerated.
908         * generated/maxloc1_16_r10.c: Regenerated.
909         * generated/maxloc1_16_r16.c: Regenerated.
910         * generated/maxloc1_16_r4.c: Regenerated.
911         * generated/maxloc1_16_r8.c: Regenerated.
912         * generated/maxloc1_4_i16.c: Regenerated.
913         * generated/maxloc1_4_i1.c: Regenerated.
914         * generated/maxloc1_4_i2.c: Regenerated.
915         * generated/maxloc1_4_i4.c: Regenerated.
916         * generated/maxloc1_4_i8.c: Regenerated.
917         * generated/maxloc1_4_r10.c: Regenerated.
918         * generated/maxloc1_4_r16.c: Regenerated.
919         * generated/maxloc1_4_r4.c: Regenerated.
920         * generated/maxloc1_4_r8.c: Regenerated.
921         * generated/maxloc1_8_i16.c: Regenerated.
922         * generated/maxloc1_8_i1.c: Regenerated.
923         * generated/maxloc1_8_i2.c: Regenerated.
924         * generated/maxloc1_8_i4.c: Regenerated.
925         * generated/maxloc1_8_i8.c: Regenerated.
926         * generated/maxloc1_8_r10.c: Regenerated.
927         * generated/maxloc1_8_r16.c: Regenerated.
928         * generated/maxloc1_8_r4.c: Regenerated.
929         * generated/maxloc1_8_r8.c: Regenerated.
930         * generated/maxval_i16.c: Regenerated.
931         * generated/maxval_i1.c: Regenerated.
932         * generated/maxval_i2.c: Regenerated.
933         * generated/maxval_i4.c: Regenerated.
934         * generated/maxval_i8.c: Regenerated.
935         * generated/maxval_r10.c: Regenerated.
936         * generated/maxval_r16.c: Regenerated.
937         * generated/maxval_r4.c: Regenerated.
938         * generated/maxval_r8.c: Regenerated.
939         * generated/minloc1_16_i16.c: Regenerated.
940         * generated/minloc1_16_i1.c: Regenerated.
941         * generated/minloc1_16_i2.c: Regenerated.
942         * generated/minloc1_16_i4.c: Regenerated.
943         * generated/minloc1_16_i8.c: Regenerated.
944         * generated/minloc1_16_r10.c: Regenerated.
945         * generated/minloc1_16_r16.c: Regenerated.
946         * generated/minloc1_16_r4.c: Regenerated.
947         * generated/minloc1_16_r8.c: Regenerated.
948         * generated/minloc1_4_i16.c: Regenerated.
949         * generated/minloc1_4_i1.c: Regenerated.
950         * generated/minloc1_4_i2.c: Regenerated.
951         * generated/minloc1_4_i4.c: Regenerated.
952         * generated/minloc1_4_i8.c: Regenerated.
953         * generated/minloc1_4_r10.c: Regenerated.
954         * generated/minloc1_4_r16.c: Regenerated.
955         * generated/minloc1_4_r4.c: Regenerated.
956         * generated/minloc1_4_r8.c: Regenerated.
957         * generated/minloc1_8_i16.c: Regenerated.
958         * generated/minloc1_8_i1.c: Regenerated.
959         * generated/minloc1_8_i2.c: Regenerated.
960         * generated/minloc1_8_i4.c: Regenerated.
961         * generated/minloc1_8_i8.c: Regenerated.
962         * generated/minloc1_8_r10.c: Regenerated.
963         * generated/minloc1_8_r16.c: Regenerated.
964         * generated/minloc1_8_r4.c: Regenerated.
965         * generated/minloc1_8_r8.c: Regenerated.
966         * generated/minval_i16.c: Regenerated.
967         * generated/minval_i1.c: Regenerated.
968         * generated/minval_i2.c: Regenerated.
969         * generated/minval_i4.c: Regenerated.
970         * generated/minval_i8.c: Regenerated.
971         * generated/minval_r10.c: Regenerated.
972         * generated/minval_r16.c: Regenerated.
973         * generated/minval_r4.c: Regenerated.
974         * generated/minval_r8.c: Regenerated.
975         * generated/product_c10.c: Regenerated.
976         * generated/product_c16.c: Regenerated.
977         * generated/product_c4.c: Regenerated.
978         * generated/product_c8.c: Regenerated.
979         * generated/product_i16.c: Regenerated.
980         * generated/product_i1.c: Regenerated.
981         * generated/product_i2.c: Regenerated.
982         * generated/product_i4.c: Regenerated.
983         * generated/product_i8.c: Regenerated.
984         * generated/product_r10.c: Regenerated.
985         * generated/product_r16.c: Regenerated.
986         * generated/product_r4.c: Regenerated.
987         * generated/product_r8.c: Regenerated.
988         * generated/sum_c10.c: Regenerated.
989         * generated/sum_c16.c: Regenerated.
990         * generated/sum_c4.c: Regenerated.
991         * generated/sum_c8.c: Regenerated.
992         * generated/sum_i16.c: Regenerated.
993         * generated/sum_i1.c: Regenerated.
994         * generated/sum_i2.c: Regenerated.
995         * generated/sum_i4.c: Regenerated.
996         * generated/sum_i8.c: Regenerated.
997         * generated/sum_r10.c: Regenerated.
998         * generated/sum_r16.c: Regenerated.
999         * generated/sum_r4.c: Regenerated.
1000         * generated/sum_r8.c: Regenerated.
1001
1002 2011-03-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1003
1004         PR libgfortran/48047
1005         * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.
1006
1007 2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
1008
1009         PR libfortran/47802
1010         * intrinsics/ctime.c (strctime): Use builtins to check localtime_r
1011         return type.
1012
1013 2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
1014
1015         PR libfortran/47802
1016         * intrinsics/ctime.c (strctime): Don't use return value of
1017         localtime_r.
1018
1019 2011-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1020
1021         PR libgfortran/47567
1022         * io/write_float.def (output_float): Move handling of w = 0 to after
1023         output rounding. Check for zero and set zero_flag accordingly. Set
1024         width according to zero_flag. Add better comments.
1025
1026 2011-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1027
1028         PR libgfortran/47778
1029         * io/list_read.c (namelist_read): Intialize the error string buffere.
1030         If pprev_nl was used during the previous namelist read and the rank
1031         was zero, reset the pointer to NULL for the next namelist read.
1032
1033 2011-02-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1034
1035         PR libfortran/45165
1036         * unix.c (fallback_access): Fix file descriptor leaks.
1037
1038 2011-02-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1039
1040         * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable
1041         tested in configure.host.
1042         * configure: Regenerate.
1043
1044 2011-02-24  Janne Blomqvist  <jb@gcc.gnu.org>
1045
1046         PR libfortran/47802
1047         * config.h.in: Regenerated.
1048         * configure: Regenerated.
1049         * configure.ac: Remove checks for ctime and ctime_r, add check for
1050         strftime.
1051         * intrinsics/date_and_time.c (localtime_r): Move fallback
1052         implementation to time_1.h.
1053         * intrinsics/time_1.h (localtime_r): Fallback implementation.
1054         * intrinsics/ctime.c: Include time_1.h.
1055         (ctime_r): Remove fallback implementation.
1056         (strctime): New function.
1057         (fdate): Use strctime instead of ctime_r.
1058         (fdate_sub): Likewise.
1059         (ctime): Likewise.
1060         (ctime_sub): Likewise.
1061
1062 2011-02-24  Jakub Jelinek  <jakub@redhat.com>
1063
1064         PR fortran/47878
1065         * io/transfer.c (read_sf): Call fbuf_getptr only at the end,
1066         and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it.
1067
1068 2011-02-24  Janne Blomqvist  <jb@gcc.gnu.org>
1069
1070         PR libfortran/47802
1071         * configure.ac: Add test for POSIX getpwuid_r.
1072         * intrinsics/getlog.c (getlog): CPP test for
1073         HAVE_POSIX_GETPWUID_R.
1074         * config.h.in: Regenerated.
1075         * configure: Regenerated.
1076
1077 2011-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1078
1079         PR libgfortran/47567
1080         * io/write_float.def (output_float): Remove special case handling of
1081         zero with width 1.
1082
1083 2011-02-23  Janne Blomqvist  <jb@gcc.gnu.org>
1084             Jerry DeLisle    <jvdelisle@gcc.gnu.org>
1085
1086         PR libfortran/47694
1087         * io/fbuf.h (fbuf_getptr): New inline function.
1088         * io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan
1089         through the string instead of fbuf_read.
1090
1091 2011-02-22  Tobias Burnus  <burnus@net-b.de>
1092             Kai-Uwe Eckhardt  <kuehro@gmx.de>
1093
1094         PR libfortran/47830
1095         * intrinsics/c99_functions.c (roundl): Make C valid for
1096         HAVE_NEXTAFTERL.
1097
1098 2011-02-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1099
1100         PR libgfortran/47567
1101         * io/write_float.def (output_float): Adjust width for F0.d to
1102         allow space for negative signs on zero.
1103
1104 2011-02-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1105
1106         PR libgfortran/47667
1107         * io/list_read.c (read_logical): Check for end of line before calling
1108         eat_line. (read_integer): Likewise. (parse_real): Don't unget the
1109         separator. Check for end of line before calling eat_line.
1110         (read_complex): Allow line-end before and after parenthesis and comma.
1111         Check for end of line before calling eat_line. (read_real): Check for
1112         end of line before calling eat_line.
1113
1114 2011-02-16  Jakub Jelinek  <jakub@redhat.com>
1115
1116         PR libfortran/47757
1117         * gfortran.map (GFORTRAN_1.4): Export
1118         _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and
1119         _gfortran_{cshift0,eoshift{0,2}}_16_char4.
1120
1121 2011-02-15  Tobias Burnus  <burnus@net-b.de>
1122
1123         PR fortran/47716
1124         PR fortran/47648
1125         * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from
1126         libquadmath, which uses more features.
1127         * configure: Regenerate.
1128
1129 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
1130
1131         PR fortran/47642
1132         * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of
1133         quadmath_flt128tostr.
1134         * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead
1135         of quadmath_flt128tostr.
1136
1137 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1138
1139         * Makefile.in: Regenerate.
1140         * aclocal.m4: Likewise.
1141         * configure: Likewise.
1142
1143 2011-02-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1144
1145         PR libgfortran/47567
1146         * io/write_float.def (output_float): Eliminate some redundant code.
1147         Adjust width for case of F0.X for values of zero and all other values.
1148         Expand cases where '*' is set to give cleaner results.
1149
1150 2011-02-05  Janne Blomqvist  <jb@gcc.gnu.org>
1151
1152         PR libfortran/47571
1153         * intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c.
1154         (weak_gettime): Likewise.
1155         (gf_gettime): Change API, move weak_gettime() usage to
1156         system_clock.c
1157         * intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define.
1158         (gf_gettime_mono): New function.
1159         (system_clock_4): Use gf_gettime_mono().
1160         (system_clock_8): Likewise.
1161         * intrinsics/date_and_time.c (date_and_time): Update gf_gettime()
1162         usage.
1163
1164 2011-02-02  Janne Blomqvist  <jb@gcc.gnu.org>
1165
1166         PR libfortran/47571
1167         * configure: Regenerated.
1168         * configure.ac: Don't add librt to LIBS.
1169         * intrinsics/time_1.h (weak_gettime): Weakref trickery for
1170         clock_gettime().
1171         (gf_gettime): Use weak_gettime() instead of clock_gettime().
1172
1173 2011-02-01  Janne Blomqvist  <jb@gcc.gnu.org>
1174
1175         * intrinsics/time_1.h: Include errno.h needed by fallbacks.
1176
1177 2011-01-31  Janne Blomqvist  <jb@gcc.gnu.org>
1178
1179         * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro.
1180
1181 2011-01-31  Janne Blomqvist  <jb@gcc.gnu.org>
1182
1183         * configure.ac: Check for clock_gettime().
1184         * configure: Regenerated.
1185         * config.h.in: Regenerated.
1186         * intrinsics/time_1.h (__time_1): Rename to gf_cputime, add
1187         times() fallback.
1188         (gf_gettime): New function.
1189         * intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime.
1190         * intrinsics/date_and_time.c (date_and_time): Use gf_gettime.
1191         * intrinsics/dtime.c (dtime_sub): Use gf_cputime.
1192         * intrinsics/etime.c (etime_sub): Use gf_cputime.
1193         * intrinsics/system_clock.c (system_clock_4): Use gf_gettime.
1194         (system_clock_8): Use gf_gettime, increase count rate to allow
1195         nanosecond precision, remove overflow prone branch.
1196
1197 2011-01-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1198
1199         PR libgfortran/47434
1200         * io/write_float.def (write_infnan): Use calculate_sign to determine
1201         if the sign should be given and check field widths accordingly.
1202
1203 2011-01-29  Kai Tietz  <kai.tietz@onevision.com>
1204
1205         * intrinsics/ctime.c (ctime_r): Improve implementation.
1206
1207 2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
1208
1209         PR libfortran/47431
1210         * config.h.in: Regenerated.
1211         * configure: Regenerated.
1212         * configure.ac: Add check for ctime_r().
1213         * intrinsics/ctime.c (ctime_r): Fallback implementation.
1214         (fdate): Use ctime_r() instead of ctime().
1215         (fdate_sub): Likewise.
1216         (ctime): Likewise.
1217         (ctime_sub): Likewise.
1218
1219 2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
1220
1221         PR libfortran/47432
1222         * config.h.in: Regenerated.
1223         * configure: Regenerated.
1224         * configure.ac: Add check for ttyname_r.
1225         * io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype.
1226         * io/unix.c (stream_ttyname): Use ttyname_r if available, conform
1227         to new prototype.
1228         * io/inquire.c (inquire_via_unit): Use changed stream_ttyname.
1229         * io/intrinsics.c (ttynam_sub): Likewise.
1230         (ttynam): Likewise.
1231
1232 2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
1233
1234         PR libfortran/47491
1235         * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common
1236         extensions.
1237         * config.h.in: Regenerate.
1238         * configure: Regenerate.
1239
1240 2011-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1241
1242         PR libgfortran/47285
1243         * io/write_float.def (write_infnan): Adjust processor selected width
1244         to 3 if NaN.
1245
1246 2011-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1247
1248         PR libgfortran/47285
1249         * io/write_float.def (output_float): Return SUCCESS or FAILURE and use
1250         the result to set the padding.
1251
1252 2011-01-26  Kai Tietz  <kai.tietz@onevision.com>
1253
1254         * intrinsics/getlog.c (getlog): Fix label/statement issue.
1255
1256 2011-01-25  Janne Blomqvist  <jb@gcc.gnu.org>
1257
1258         PR libfortran/47375
1259         * config.h.in: Regenerated.
1260         * configure: Regenerated.
1261         * configure.ac: Add check for getpwuid_r.
1262         * intrinsics/getlog.c (getlog): Use getpwuid_r() if available.
1263
1264 2011-01-22  Janne Blomqvist  <jb@gcc.gnu.org>
1265
1266         PR libfortran/46267
1267         * config.h.in: Regenerated.
1268         * configure: Regenerated.
1269         * configure.ac: Check presence of strerror_r.
1270         * intrinsics/gerror.c (gerror): Use gf_strerror, modify logic.
1271         * io/unix.c (get_oserror): Remove.
1272         * libgfortran.h (gf_strerror): Add prototype.
1273         (get_oserror): Remove prototype.
1274         * runtime/error.c (gf_strerror): New function.
1275         (os_error): Use gf_strerror instead of get_oserror.
1276         (generate_errror): Likewise.
1277
1278 2011-01-17  Janne Blomqvist  <jb@gcc.gnu.org>
1279
1280         PR libfortran/47296
1281         * io/unix.c (tempfile): Set opp->file and opp->file_len also if an
1282         error occurs.
1283
1284 2011-01-16  Jakub Jelinek  <jakub@redhat.com>
1285
1286         PR fortran/46625
1287         * io/write_float.def (DTOAQ): Use quadmath_flt128tostr
1288         instead of quadmath_dtoa.
1289         * io/transfer128.c (tmp1, tmp2): New variables, bring in
1290         strtoflt128 and quadmath_flt128tostr.
1291         (transfer_real128, transfer_real128_write, transfer_complex128,
1292         transfer_complex128_write): Remove tmp1/tmp2 variables.
1293         * io/read.c (convert_real): Use strtoflt128 instead of
1294         quadmath_strtopQ, adjust for the changed arguments and return
1295         value.
1296
1297 2011-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1298
1299         PR libgfortran/47296
1300         * io/unix.c (unpack_filename): Return non-zero if the filename passed
1301         in is NULL.
1302
1303 2011-01-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1304
1305         PR libgfortran/47154
1306         * io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the
1307         duplicate calls via next_record.
1308
1309 \f
1310 Copyright (C) 2011 Free Software Foundation, Inc.
1311
1312 Copying and distribution of this file, with or without modification,
1313 are permitted in any medium without royalty provided the copyright
1314 notice and this notice are preserved.