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