OSDN Git Service

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