2011-12-15 Paul Thomas <pault@gcc.gnu.org>
[official-gcc.git] / libgfortran / ChangeLog
blob750428fec7a4431ba60aa9833186df2a4ab4f6c4
1 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
3         * configure: Regenerate.
5 2011-11-11  Janne Blomqvist  <jb@gcc.gnu.org>
7         PR libfortran/51090
8         * runtime/main.c (find_addr2line): NULL check before proceeding.
10 2011-11-10  Janne Blomqvist  <jb@gcc.gnu.org>
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.
27 2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
29         * intrinsics/time_1.h (gf_gettime): Simplify time() usage.
31 2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
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.
74 2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
76         PR fortran/46686
77         * runtime/backtrace.c (show_backtrace): Fix incorrect comment.
79 2011-11-09  Tobias Burnus  <burnus@net-b.de>
81         * configure.ac: Make more cross-compile friendly.
82         * Makefile.in: Regenerate.
83         * aclocal.m4: Regenerate.
84         * config.h.in: Regenerate.
85         * configure: Regenerate.
87 2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
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.
107 2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>
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.
113 2011-11-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
115         PR libfortran/47972
116         * runtime/error.c (gf_strerror): Silence warning.
118 2011-11-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
120         PR libfortran/47972
121         * runtime/error.c (gf_strerror): Silence warning.
123 2011-11-08  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
125         PR libfortran/47970
126         * intrinsics/c99_functions.c (round): Move higher in the file.
128 2011-11-07  Janne Blomqvist  <jb@gcc.gnu.org>
130         PR libfortran/45723
131         * io/open.c (new_unit): Don't check file size before attempting
132         seek.
134 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
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.
144 2011-11-01  Janne Blomqvist  <jb@gcc.gnu.org>
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.
152 2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>
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.
162 2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>
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.
181 2011-10-31  Janne Blomqvist  <jb@gcc.gnu.org>
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.
201 2011-09-10  Thomas Koenig  <tkoenig@gcc.gnu.org>
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.
305 2011-09-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
307         * generated/bessel_r4.c: Regenerated.
308         * generated/bessel_r8.c: Regenerated.
309         * generated/bessel_r10.c: Regenerated.
310         * generated/bessel_r16.c: Regenerated.
312 2011-08-29  Tobias Burnus  <burnus@net-b.de>
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.
322 2011-08-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
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.
331 2011-08-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
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).
496 2011-08-18  Tobias Burnus  <burnus@net-b.de>
498         PR fortran/50109
499         * io/list_read.c (eat_separator): Fix skipping over "!" lines.
501 2011-07-23  Andreas Schwab  <schwab@linux-m68k.org>
503         * intrinsics/ctime.c: Include <stdlib.h>.
504         * intrinsics/getlog.c: Likewise.
505         * runtime/stop.c: Likewise.
507 2011-07-23  Tobias Burnus  <burnus@net-b.de>
509         PR fortran/49791
510         * io/list_read.c (nml_parse_qualifier): Remove check to
511         enabled extended read for another case.
513 2011-07-15  Daniel Carrera  <dcarrera@gmail.com>
515         * caf/mpi.c (caf_runtime_error): Change fprintf to vfprintf.
516         * caf/single.c (caf_runtime_error): Ditto.
518 2011-07-14  Daniel Carrera  <dcarrera@gmail.com>
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)".
531 2011-07-13  Janne Blomqvist  <jb@gcc.gnu.org>
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.
538 2011-07-09  Tobias Burnus  <burnus@net-b.de>
540         * runtime/error.c (sys_abort): Change argument list
541         from "()" to "(void)".
543 2011-07-09  Tobias Burnus  <burnus@net-b.de>
544             Daniel Carrera  <dcarrera@gmail.com>
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.
552 2011-07-07  Tobias Burnus  <burnus@net-b.de>
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.
562 2011-07-05  Thomas Koenig  <tkoenig@gcc.gnu.org>
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.
612 2011-06-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
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.
630 2011-06-18  Janne Blomqvist  <jb@gcc.gnu.org>
632         PR libfortran/49296
633         * io/list_read.c (read_character): Accept EOF as a separator when
634         reading string.
636 2011-06-17  Daniel Carrera  <dcarrera@gmail.com>
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.
651 2011-06-11  Janne Blomqvist  <jb@gcc.gnu.org>
653         * io/unix.c (buf_seek): Return error if file is not seekable.
654         (buf_tell): Call buf_seek.
656 2011-06-11  Janne Blomqvist  <jb@gcc.gnu.org>
658         * io/unix.c (fd_to_stream): Figure out if a fd is seekable by
659         trying lseek().
661 2011-06-10  Daniel Carrera  <dcarrera@gmail.com>
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.
673 2011-06-03  Richard Henderson  <rth@redhat.com>
674             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
676         * config/fpu-387.h [__sun__ && __svr4__] (sigill_hdlr): Correct
677         insn, insn size.
678         (has_sse) [!__x86_64__ && __sun__ && __svr4__]: Use movaps.
680 2011-05-29  Janne Blomqvist  <jb@gcc.gnu.org>
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.
692 2011-05-29  Janne Blomqvist  <jb@gcc.gnu.org>
694         PR libfortran/49214
695         * runtime/backtrace.c (fd_gets): Return NULL if nothing was read.
697 2011-05-29  Janne Blomqvist  <jb@gcc.gnu.org>
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.
704 2011-05-22  Tobias Burnus  <burnus@net-b.de>
706         * runtime/stop.c (stop_string,error_stop_string): Minor cleanup.
708 2011-05-22  Janne Blomqvist  <jb@gcc.gnu.org>
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.
725 2011-05-20  Janne Blomqvist  <jb@gcc.gnu.org>
726             Uros Bizjak  <ubizjak@gmail.com>
728         PR libfortran/48977
729         * configure.host: Swap order of glibc and x86 tests.
731 2011-05-20  Janne Blomqvist  <jb@gcc.gnu.org>
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.
742 2011-05-14  Tobias Burnus  <burnus@net-b.de>
744         * runtime/stop.c (error_stop_string, error_stop_numeric):
745         Do not backtrace for ERROR STOP.
747 2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
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.
783 2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
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.
818 2011-05-14  Tobias Burnus  <burnus@net-b.de>
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.
825 2011-05-06  Tobias Burnus  <burnus@net-b.de>
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.
841 2011-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
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.
847 2011-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
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.
855 2011-04-29  Janne Blomqvist  <jb@gcc.gnu.org>
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.
870 2011-04-29  Janne Blomqvist  <jb@gcc.gnu.org>
872         PR libfortran/48488
873         * io/write.c (write_real, write_real_g0): Update comments.
875 2011-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
876             Janne Blomqvist  <jb@gcc.gnu.org>
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.
897 2011-04-20  Jim Meyering  <meyering@redhat.com>
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.
907 2011-04-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
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.
913 2011-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
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.
920 2011-04-16  Janne Blomqvist  <jb@gcc.gnu.org>
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.
950 2011-04-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
952         PR libgfortran/48589
953         * io/write_float.def (write_infnan): Set width properly for G0.
955 2011-04-15  Tobias Burnus  <burnus@net-b.de>
957         PR fortran/18918
958         * Makefile.am: Build and install caf/single.c as
959         libcaf_single.a.
960         * Makefile.in: Regenerate.
962 2011-04-15  Janne Blomqvist  <jb@gcc.gnu.org>
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.
972 2011-04-12  Janne Blomqvist  <jb@gcc.gnu.org>
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.
987 2011-04-12  Janne Blomqvist  <jb@gcc.gnu.org>
989         * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS.
990         * Makefile.in: Regenerated.
992 2011-04-06  Tobias Burnus  <burnus@net-b.de>
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.
999 2011-04-04  Tobias Burnus  <burnus@net-b.de>
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.
1006 2011-03-27  Tobias Burnus  <burnus@net-b.de>
1008         PR fortran/18918
1009         * caf/libcaf.h: New - coarray communication library.
1010         * caf/mpi.c: New.
1011         * caf/single.c: New.
1013 2011-03-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1015         PR libgfortran/48030
1016         * io/read.c (read_x): Re-implement using fbuf_getc.
1018 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1020         PR bootstrap/48135
1021         * configure.ac (gfortran_use_symver): Handle --disable-symvers.
1022         * configure: Regenerate.
1024 2011-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
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.
1032 2011-03-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1034         PR libfortran/47439
1035         * io/unix.c (tempfile): Work around poor mktemp() implementations.
1037 2011-03-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1039         PR libfortran/47883
1040         * acinclude.m4: Don't use AC_TRY_ macros.
1041         * configure.ac: Likewise.
1042         * configure: Regenerate.
1044 2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
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.
1163 2011-03-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1165         PR libgfortran/48047
1166         * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.
1168 2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
1170         PR libfortran/47802
1171         * intrinsics/ctime.c (strctime): Use builtins to check localtime_r
1172         return type.
1174 2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
1176         PR libfortran/47802
1177         * intrinsics/ctime.c (strctime): Don't use return value of
1178         localtime_r.
1180 2011-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
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.
1187 2011-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
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.
1194 2011-02-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1196         PR libfortran/45165
1197         * unix.c (fallback_access): Fix file descriptor leaks.
1199 2011-02-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1201         * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable
1202         tested in configure.host.
1203         * configure: Regenerate.
1205 2011-02-24  Janne Blomqvist  <jb@gcc.gnu.org>
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.
1223 2011-02-24  Jakub Jelinek  <jakub@redhat.com>
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.
1229 2011-02-24  Janne Blomqvist  <jb@gcc.gnu.org>
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.
1238 2011-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1240         PR libgfortran/47567
1241         * io/write_float.def (output_float): Remove special case handling of
1242         zero with width 1.
1244 2011-02-23  Janne Blomqvist  <jb@gcc.gnu.org>
1245             Jerry DeLisle    <jvdelisle@gcc.gnu.org>
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.
1252 2011-02-22  Tobias Burnus  <burnus@net-b.de>
1253             Kai-Uwe Eckhardt  <kuehro@gmx.de>
1255         PR libfortran/47830
1256         * intrinsics/c99_functions.c (roundl): Make C valid for
1257         HAVE_NEXTAFTERL.
1259 2011-02-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
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.
1265 2011-02-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
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.
1275 2011-02-16  Jakub Jelinek  <jakub@redhat.com>
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.
1282 2011-02-15  Tobias Burnus  <burnus@net-b.de>
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.
1290 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
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.
1298 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1300         * Makefile.in: Regenerate.
1301         * aclocal.m4: Likewise.
1302         * configure: Likewise.
1304 2011-02-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
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.
1311 2011-02-05  Janne Blomqvist  <jb@gcc.gnu.org>
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.
1325 2011-02-02  Janne Blomqvist  <jb@gcc.gnu.org>
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().
1334 2011-02-01  Janne Blomqvist  <jb@gcc.gnu.org>
1336         * intrinsics/time_1.h: Include errno.h needed by fallbacks.
1338 2011-01-31  Janne Blomqvist  <jb@gcc.gnu.org>
1340         * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro.
1342 2011-01-31  Janne Blomqvist  <jb@gcc.gnu.org>
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.
1358 2011-01-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
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.
1364 2011-01-29  Kai Tietz  <kai.tietz@onevision.com>
1366         * intrinsics/ctime.c (ctime_r): Improve implementation.
1368 2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
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.
1380 2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
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.
1393 2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
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.
1401 2011-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1403         PR libgfortran/47285
1404         * io/write_float.def (write_infnan): Adjust processor selected width
1405         to 3 if NaN.
1407 2011-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1409         PR libgfortran/47285
1410         * io/write_float.def (output_float): Return SUCCESS or FAILURE and use
1411         the result to set the padding.
1413 2011-01-26  Kai Tietz  <kai.tietz@onevision.com>
1415         * intrinsics/getlog.c (getlog): Fix label/statement issue.
1417 2011-01-25  Janne Blomqvist  <jb@gcc.gnu.org>
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.
1425 2011-01-22  Janne Blomqvist  <jb@gcc.gnu.org>
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.
1439 2011-01-17  Janne Blomqvist  <jb@gcc.gnu.org>
1441         PR libfortran/47296
1442         * io/unix.c (tempfile): Set opp->file and opp->file_len also if an
1443         error occurs.
1445 2011-01-16  Jakub Jelinek  <jakub@redhat.com>
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.
1458 2011-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1460         PR libgfortran/47296
1461         * io/unix.c (unpack_filename): Return non-zero if the filename passed
1462         in is NULL.
1464 2011-01-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
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.
1471 Copyright (C) 2011 Free Software Foundation, Inc.
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.