OSDN Git Service

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