OSDN Git Service

2011-04-15 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
1 2011-04-15  Tobias Burnus  <burnus@net-b.de>
2
3         PR fortran/18918
4         * Makefile.am: Build and install caf/single.c as
5         libcaf_single.a.
6         * Makefile.in: Regenerate.
7
8 2011-04-15  Janne Blomqvist  <jb@gcc.gnu.org>
9
10         PR libfortran/47571
11         * configure: Regenerated.
12         * config.h.in: Regenerated.
13         * acinclude.m4: Add alpha*-dec-osf* to gthread blacklist.
14         * configure.ac: Use separate symbol for clock_gettime in librt.
15         * intrinsics/system_clock.c: Use weakrefs only when needed and
16         supported.
17
18 2011-04-12  Janne Blomqvist  <jb@gcc.gnu.org>
19
20         * configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t,
21         check for ptrdiff_t.
22         * libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for
23         index_type, change cshift0* prototypes.
24         * config.h.in: Regenerated.
25         * configure: Regenerated.
26         * intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t.
27         * io/io.h (array_loop_spec): Use index_type instead of ssize_t.
28         * io/list_read.c (nml_parse_qualifier): Likewise.
29         * io/write.c (nml_write_obj): Likewise.
30         * m4/cshift0.c (cshift0_'rtype_code`): Likewise.
31         * generated/cshift0_*.c: Regenerated.
32
33 2011-04-12  Janne Blomqvist  <jb@gcc.gnu.org>
34
35         * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS.
36         * Makefile.in: Regenerated.
37
38 2011-04-06  Tobias Burnus  <burnus@net-b.de>
39
40         PR fortran/18918
41         * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
42         Add global variable caf_mpi_initialized and use it for when
43         finalizing.
44
45 2011-04-04  Tobias Burnus  <burnus@net-b.de>
46
47         * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.
48         (fallback_access, open_internal4, compare_file_filename,
49         find_file, file_size, inquire_sequential, inquire_direct,
50         inquire_formatted): Use "struct stat" instead of gfstat_t.
51
52 2011-03-27  Tobias Burnus  <burnus@net-b.de>
53
54         PR fortran/18918
55         * caf/libcaf.h: New - coarray communication library.
56         * caf/mpi.c: New.
57         * caf/single.c: New.
58
59 2011-03-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
60
61         PR libgfortran/48030
62         * io/read.c (read_x): Re-implement using fbuf_getc.
63
64 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
65
66         PR bootstrap/48135
67         * configure.ac (gfortran_use_symver): Handle --disable-symvers.
68         * configure: Regenerate.
69
70 2011-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
71
72         PR fortran/35667
73         * io/io.h (convert_infnan): Declare.
74         * io/read.c (convert_infnan): New.
75         (read_f): Use convert_infnan to convert INFs and NANs.
76         * list_read.c (parse_real, read_real): Likewise.
77
78 2011-03-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
79
80         PR libfortran/47439
81         * io/unix.c (tempfile): Work around poor mktemp() implementations.
82
83 2011-03-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
84
85         PR libfortran/47883
86         * acinclude.m4: Don't use AC_TRY_ macros.
87         * configure.ac: Likewise.
88         * configure: Regenerate.
89
90 2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
91
92         PR libfortran/48066
93         * m4/ifunction.m4:  If return array is empty, return.
94         * m4/ifunction_logical.m4:  Likewise.
95         * generated/all_l16.c: Regenerated.
96         * generated/all_l1.c: Regenerated.
97         * generated/all_l2.c: Regenerated.
98         * generated/all_l4.c: Regenerated.
99         * generated/all_l8.c: Regenerated.
100         * generated/any_l16.c: Regenerated.
101         * generated/any_l1.c: Regenerated.
102         * generated/any_l2.c: Regenerated.
103         * generated/any_l4.c: Regenerated.
104         * generated/any_l8.c: Regenerated.
105         * generated/count_16_l.c: Regenerated.
106         * generated/count_1_l.c: Regenerated.
107         * generated/count_2_l.c: Regenerated.
108         * generated/count_4_l.c: Regenerated.
109         * generated/count_8_l.c: Regenerated.
110         * generated/maxloc1_16_i16.c: Regenerated.
111         * generated/maxloc1_16_i1.c: Regenerated.
112         * generated/maxloc1_16_i2.c: Regenerated.
113         * generated/maxloc1_16_i4.c: Regenerated.
114         * generated/maxloc1_16_i8.c: Regenerated.
115         * generated/maxloc1_16_r10.c: Regenerated.
116         * generated/maxloc1_16_r16.c: Regenerated.
117         * generated/maxloc1_16_r4.c: Regenerated.
118         * generated/maxloc1_16_r8.c: Regenerated.
119         * generated/maxloc1_4_i16.c: Regenerated.
120         * generated/maxloc1_4_i1.c: Regenerated.
121         * generated/maxloc1_4_i2.c: Regenerated.
122         * generated/maxloc1_4_i4.c: Regenerated.
123         * generated/maxloc1_4_i8.c: Regenerated.
124         * generated/maxloc1_4_r10.c: Regenerated.
125         * generated/maxloc1_4_r16.c: Regenerated.
126         * generated/maxloc1_4_r4.c: Regenerated.
127         * generated/maxloc1_4_r8.c: Regenerated.
128         * generated/maxloc1_8_i16.c: Regenerated.
129         * generated/maxloc1_8_i1.c: Regenerated.
130         * generated/maxloc1_8_i2.c: Regenerated.
131         * generated/maxloc1_8_i4.c: Regenerated.
132         * generated/maxloc1_8_i8.c: Regenerated.
133         * generated/maxloc1_8_r10.c: Regenerated.
134         * generated/maxloc1_8_r16.c: Regenerated.
135         * generated/maxloc1_8_r4.c: Regenerated.
136         * generated/maxloc1_8_r8.c: Regenerated.
137         * generated/maxval_i16.c: Regenerated.
138         * generated/maxval_i1.c: Regenerated.
139         * generated/maxval_i2.c: Regenerated.
140         * generated/maxval_i4.c: Regenerated.
141         * generated/maxval_i8.c: Regenerated.
142         * generated/maxval_r10.c: Regenerated.
143         * generated/maxval_r16.c: Regenerated.
144         * generated/maxval_r4.c: Regenerated.
145         * generated/maxval_r8.c: Regenerated.
146         * generated/minloc1_16_i16.c: Regenerated.
147         * generated/minloc1_16_i1.c: Regenerated.
148         * generated/minloc1_16_i2.c: Regenerated.
149         * generated/minloc1_16_i4.c: Regenerated.
150         * generated/minloc1_16_i8.c: Regenerated.
151         * generated/minloc1_16_r10.c: Regenerated.
152         * generated/minloc1_16_r16.c: Regenerated.
153         * generated/minloc1_16_r4.c: Regenerated.
154         * generated/minloc1_16_r8.c: Regenerated.
155         * generated/minloc1_4_i16.c: Regenerated.
156         * generated/minloc1_4_i1.c: Regenerated.
157         * generated/minloc1_4_i2.c: Regenerated.
158         * generated/minloc1_4_i4.c: Regenerated.
159         * generated/minloc1_4_i8.c: Regenerated.
160         * generated/minloc1_4_r10.c: Regenerated.
161         * generated/minloc1_4_r16.c: Regenerated.
162         * generated/minloc1_4_r4.c: Regenerated.
163         * generated/minloc1_4_r8.c: Regenerated.
164         * generated/minloc1_8_i16.c: Regenerated.
165         * generated/minloc1_8_i1.c: Regenerated.
166         * generated/minloc1_8_i2.c: Regenerated.
167         * generated/minloc1_8_i4.c: Regenerated.
168         * generated/minloc1_8_i8.c: Regenerated.
169         * generated/minloc1_8_r10.c: Regenerated.
170         * generated/minloc1_8_r16.c: Regenerated.
171         * generated/minloc1_8_r4.c: Regenerated.
172         * generated/minloc1_8_r8.c: Regenerated.
173         * generated/minval_i16.c: Regenerated.
174         * generated/minval_i1.c: Regenerated.
175         * generated/minval_i2.c: Regenerated.
176         * generated/minval_i4.c: Regenerated.
177         * generated/minval_i8.c: Regenerated.
178         * generated/minval_r10.c: Regenerated.
179         * generated/minval_r16.c: Regenerated.
180         * generated/minval_r4.c: Regenerated.
181         * generated/minval_r8.c: Regenerated.
182         * generated/product_c10.c: Regenerated.
183         * generated/product_c16.c: Regenerated.
184         * generated/product_c4.c: Regenerated.
185         * generated/product_c8.c: Regenerated.
186         * generated/product_i16.c: Regenerated.
187         * generated/product_i1.c: Regenerated.
188         * generated/product_i2.c: Regenerated.
189         * generated/product_i4.c: Regenerated.
190         * generated/product_i8.c: Regenerated.
191         * generated/product_r10.c: Regenerated.
192         * generated/product_r16.c: Regenerated.
193         * generated/product_r4.c: Regenerated.
194         * generated/product_r8.c: Regenerated.
195         * generated/sum_c10.c: Regenerated.
196         * generated/sum_c16.c: Regenerated.
197         * generated/sum_c4.c: Regenerated.
198         * generated/sum_c8.c: Regenerated.
199         * generated/sum_i16.c: Regenerated.
200         * generated/sum_i1.c: Regenerated.
201         * generated/sum_i2.c: Regenerated.
202         * generated/sum_i4.c: Regenerated.
203         * generated/sum_i8.c: Regenerated.
204         * generated/sum_r10.c: Regenerated.
205         * generated/sum_r16.c: Regenerated.
206         * generated/sum_r4.c: Regenerated.
207         * generated/sum_r8.c: Regenerated.
208
209 2011-03-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
210
211         PR libgfortran/48047
212         * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.
213
214 2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
215
216         PR libfortran/47802
217         * intrinsics/ctime.c (strctime): Use builtins to check localtime_r
218         return type.
219
220 2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
221
222         PR libfortran/47802
223         * intrinsics/ctime.c (strctime): Don't use return value of
224         localtime_r.
225
226 2011-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
227
228         PR libgfortran/47567
229         * io/write_float.def (output_float): Move handling of w = 0 to after
230         output rounding. Check for zero and set zero_flag accordingly. Set
231         width according to zero_flag. Add better comments.
232
233 2011-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
234
235         PR libgfortran/47778
236         * io/list_read.c (namelist_read): Intialize the error string buffere.
237         If pprev_nl was used during the previous namelist read and the rank
238         was zero, reset the pointer to NULL for the next namelist read.
239
240 2011-02-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
241
242         PR libfortran/45165
243         * unix.c (fallback_access): Fix file descriptor leaks.
244
245 2011-02-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
246
247         * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable
248         tested in configure.host.
249         * configure: Regenerate.
250
251 2011-02-24  Janne Blomqvist  <jb@gcc.gnu.org>
252
253         PR libfortran/47802
254         * config.h.in: Regenerated.
255         * configure: Regenerated.
256         * configure.ac: Remove checks for ctime and ctime_r, add check for
257         strftime.
258         * intrinsics/date_and_time.c (localtime_r): Move fallback
259         implementation to time_1.h.
260         * intrinsics/time_1.h (localtime_r): Fallback implementation.
261         * intrinsics/ctime.c: Include time_1.h.
262         (ctime_r): Remove fallback implementation.
263         (strctime): New function.
264         (fdate): Use strctime instead of ctime_r.
265         (fdate_sub): Likewise.
266         (ctime): Likewise.
267         (ctime_sub): Likewise.
268
269 2011-02-24  Jakub Jelinek  <jakub@redhat.com>
270
271         PR fortran/47878
272         * io/transfer.c (read_sf): Call fbuf_getptr only at the end,
273         and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it.
274
275 2011-02-24  Janne Blomqvist  <jb@gcc.gnu.org>
276
277         PR libfortran/47802
278         * configure.ac: Add test for POSIX getpwuid_r.
279         * intrinsics/getlog.c (getlog): CPP test for
280         HAVE_POSIX_GETPWUID_R.
281         * config.h.in: Regenerated.
282         * configure: Regenerated.
283
284 2011-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
285
286         PR libgfortran/47567
287         * io/write_float.def (output_float): Remove special case handling of
288         zero with width 1.
289
290 2011-02-23  Janne Blomqvist  <jb@gcc.gnu.org>
291             Jerry DeLisle    <jvdelisle@gcc.gnu.org>
292
293         PR libfortran/47694
294         * io/fbuf.h (fbuf_getptr): New inline function.
295         * io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan
296         through the string instead of fbuf_read.
297
298 2011-02-22  Tobias Burnus  <burnus@net-b.de>
299             Kai-Uwe Eckhardt  <kuehro@gmx.de>
300
301         PR libfortran/47830
302         * intrinsics/c99_functions.c (roundl): Make C valid for
303         HAVE_NEXTAFTERL.
304
305 2011-02-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
306
307         PR libgfortran/47567
308         * io/write_float.def (output_float): Adjust width for F0.d to
309         allow space for negative signs on zero.
310
311 2011-02-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
312
313         PR libgfortran/47667
314         * io/list_read.c (read_logical): Check for end of line before calling
315         eat_line. (read_integer): Likewise. (parse_real): Don't unget the
316         separator. Check for end of line before calling eat_line.
317         (read_complex): Allow line-end before and after parenthesis and comma.
318         Check for end of line before calling eat_line. (read_real): Check for
319         end of line before calling eat_line.
320
321 2011-02-16  Jakub Jelinek  <jakub@redhat.com>
322
323         PR libfortran/47757
324         * gfortran.map (GFORTRAN_1.4): Export
325         _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and
326         _gfortran_{cshift0,eoshift{0,2}}_16_char4.
327
328 2011-02-15  Tobias Burnus  <burnus@net-b.de>
329
330         PR fortran/47716
331         PR fortran/47648
332         * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from
333         libquadmath, which uses more features.
334         * configure: Regenerate.
335
336 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
337
338         PR fortran/47642
339         * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of
340         quadmath_flt128tostr.
341         * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead
342         of quadmath_flt128tostr.
343
344 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
345
346         * Makefile.in: Regenerate.
347         * aclocal.m4: Likewise.
348         * configure: Likewise.
349
350 2011-02-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
351
352         PR libgfortran/47567
353         * io/write_float.def (output_float): Eliminate some redundant code.
354         Adjust width for case of F0.X for values of zero and all other values.
355         Expand cases where '*' is set to give cleaner results.
356
357 2011-02-05  Janne Blomqvist  <jb@gcc.gnu.org>
358
359         PR libfortran/47571
360         * intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c.
361         (weak_gettime): Likewise.
362         (gf_gettime): Change API, move weak_gettime() usage to
363         system_clock.c
364         * intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define.
365         (gf_gettime_mono): New function.
366         (system_clock_4): Use gf_gettime_mono().
367         (system_clock_8): Likewise.
368         * intrinsics/date_and_time.c (date_and_time): Update gf_gettime()
369         usage.
370
371 2011-02-02  Janne Blomqvist  <jb@gcc.gnu.org>
372
373         PR libfortran/47571
374         * configure: Regenerated.
375         * configure.ac: Don't add librt to LIBS.
376         * intrinsics/time_1.h (weak_gettime): Weakref trickery for
377         clock_gettime().
378         (gf_gettime): Use weak_gettime() instead of clock_gettime().
379
380 2011-02-01  Janne Blomqvist  <jb@gcc.gnu.org>
381
382         * intrinsics/time_1.h: Include errno.h needed by fallbacks.
383
384 2011-01-31  Janne Blomqvist  <jb@gcc.gnu.org>
385
386         * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro.
387
388 2011-01-31  Janne Blomqvist  <jb@gcc.gnu.org>
389
390         * configure.ac: Check for clock_gettime().
391         * configure: Regenerated.
392         * config.h.in: Regenerated.
393         * intrinsics/time_1.h (__time_1): Rename to gf_cputime, add
394         times() fallback.
395         (gf_gettime): New function.
396         * intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime.
397         * intrinsics/date_and_time.c (date_and_time): Use gf_gettime.
398         * intrinsics/dtime.c (dtime_sub): Use gf_cputime.
399         * intrinsics/etime.c (etime_sub): Use gf_cputime.
400         * intrinsics/system_clock.c (system_clock_4): Use gf_gettime.
401         (system_clock_8): Use gf_gettime, increase count rate to allow
402         nanosecond precision, remove overflow prone branch.
403
404 2011-01-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
405
406         PR libgfortran/47434
407         * io/write_float.def (write_infnan): Use calculate_sign to determine
408         if the sign should be given and check field widths accordingly.
409
410 2011-01-29  Kai Tietz  <kai.tietz@onevision.com>
411
412         * intrinsics/ctime.c (ctime_r): Improve implementation.
413
414 2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
415
416         PR libfortran/47431
417         * config.h.in: Regenerated.
418         * configure: Regenerated.
419         * configure.ac: Add check for ctime_r().
420         * intrinsics/ctime.c (ctime_r): Fallback implementation.
421         (fdate): Use ctime_r() instead of ctime().
422         (fdate_sub): Likewise.
423         (ctime): Likewise.
424         (ctime_sub): Likewise.
425
426 2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
427
428         PR libfortran/47432
429         * config.h.in: Regenerated.
430         * configure: Regenerated.
431         * configure.ac: Add check for ttyname_r.
432         * io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype.
433         * io/unix.c (stream_ttyname): Use ttyname_r if available, conform
434         to new prototype.
435         * io/inquire.c (inquire_via_unit): Use changed stream_ttyname.
436         * io/intrinsics.c (ttynam_sub): Likewise.
437         (ttynam): Likewise.
438
439 2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
440
441         PR libfortran/47491
442         * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common
443         extensions.
444         * config.h.in: Regenerate.
445         * configure: Regenerate.
446
447 2011-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
448
449         PR libgfortran/47285
450         * io/write_float.def (write_infnan): Adjust processor selected width
451         to 3 if NaN.
452
453 2011-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
454
455         PR libgfortran/47285
456         * io/write_float.def (output_float): Return SUCCESS or FAILURE and use
457         the result to set the padding.
458
459 2011-01-26  Kai Tietz  <kai.tietz@onevision.com>
460
461         * intrinsics/getlog.c (getlog): Fix label/statement issue.
462
463 2011-01-25  Janne Blomqvist  <jb@gcc.gnu.org>
464
465         PR libfortran/47375
466         * config.h.in: Regenerated.
467         * configure: Regenerated.
468         * configure.ac: Add check for getpwuid_r.
469         * intrinsics/getlog.c (getlog): Use getpwuid_r() if available.
470
471 2011-01-22  Janne Blomqvist  <jb@gcc.gnu.org>
472
473         PR libfortran/46267
474         * config.h.in: Regenerated.
475         * configure: Regenerated.
476         * configure.ac: Check presence of strerror_r.
477         * intrinsics/gerror.c (gerror): Use gf_strerror, modify logic.
478         * io/unix.c (get_oserror): Remove.
479         * libgfortran.h (gf_strerror): Add prototype.
480         (get_oserror): Remove prototype.
481         * runtime/error.c (gf_strerror): New function.
482         (os_error): Use gf_strerror instead of get_oserror.
483         (generate_errror): Likewise.
484
485 2011-01-17  Janne Blomqvist  <jb@gcc.gnu.org>
486
487         PR libfortran/47296
488         * io/unix.c (tempfile): Set opp->file and opp->file_len also if an
489         error occurs.
490
491 2011-01-16  Jakub Jelinek  <jakub@redhat.com>
492
493         PR fortran/46625
494         * io/write_float.def (DTOAQ): Use quadmath_flt128tostr
495         instead of quadmath_dtoa.
496         * io/transfer128.c (tmp1, tmp2): New variables, bring in
497         strtoflt128 and quadmath_flt128tostr.
498         (transfer_real128, transfer_real128_write, transfer_complex128,
499         transfer_complex128_write): Remove tmp1/tmp2 variables.
500         * io/read.c (convert_real): Use strtoflt128 instead of
501         quadmath_strtopQ, adjust for the changed arguments and return
502         value.
503
504 2011-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
505
506         PR libgfortran/47296
507         * io/unix.c (unpack_filename): Return non-zero if the filename passed
508         in is NULL.
509
510 2011-01-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
511
512         PR libgfortran/47154
513         * io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the
514         duplicate calls via next_record.
515
516 \f
517 Copyright (C) 2011 Free Software Foundation, Inc.
518
519 Copying and distribution of this file, with or without modification,
520 are permitted in any medium without royalty provided the copyright
521 notice and this notice are preserved.