OSDN Git Service

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