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