OSDN Git Service

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