OSDN Git Service

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