OSDN Git Service

* config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
1 2011-05-20  Janne Blomqvist  <jb@gcc.gnu.org>
2         Uros Bizjak  <ubizjak@gmail.com>
3
4         PR libfortran/48977
5         * configure.host: Swap order of glibc and x86 tests.
6
7 2011-05-20  Janne Blomqvist  <jb@gcc.gnu.org>
8
9         * config/fpu-387.h (set_fpu): Use renamed inexact macro.
10         * config/fpu-aix.h (set_fpu): Clarify error messages, use renamed
11         inexact macro, set TRP_INEXACT for inexact exception instead of
12         TRP_UNDERFLOW.
13         * config/fpu-generic.h (set_fpu): Clarify error messages, use
14         renamed inexact macro.
15         * config/fpu-glibc.h (set_fpu): Likewise.
16         * config/fpu-sysv.h (set_fpu): Likewise.
17
18 2011-05-14  Tobias Burnus  <burnus@net-b.de>
19
20         * runtime/stop.c (error_stop_string, error_stop_numeric):
21         Do not backtrace for ERROR STOP.
22
23 2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
24
25         PR libfortran/48915
26         * intrinsics/abort.c (abort): Call sys_abort().
27         * io/unix.c (st_vprintf): Call sys_abort().
28         * libgfortran.h (options_t): Remove dump_core member.
29         (handler): Rename to backtrace_handler.
30         (compile_options_t): Remove dump_core member.
31         (sys_exit): Remove.
32         (sys_abort): New function.
33         * runtime/backtrace.c (show_backtrace): Print a message if
34         backtrace is not available on target, update filter symbol name
35         due to backtrace_handler renaming.
36         * runtime/compile_options.c (backtrace_handler): New
37         implementation based on example in Glibc manual.
38         (set_options): Remove dump_core handling, make signal handler
39         handle more signals.
40         (init_compile_options): Remove dump_core.
41         * runtime/environ.c (variable_table[]): Remove
42         GFORTRAN_ERROR_DUMPCORE element.
43         (show_variables): Update name, call exit().
44         * runtime/error.c (sys_exit): Remove.
45         (sys_abort): New function.
46         (recursion_check): Call sys_abort().
47         (os_error): Call exit().
48         (runtime_error): Likewise.
49         (runtime_error_at): Likewise.
50         (internal_error): Likewise.
51         (generate_error): Likewise.
52         (notify_std): Likewise.
53         * runtime/stop.c (stop_numeric): Call exit().
54         (stop_numeric_f08): Likewise.
55         (stop_string): Likewise.
56         (error_stop_string): Call sys_abort().
57         (error_stop_numeric): Print backtrace, exit with provided code.
58
59 2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
60
61         * io/unix.c (st_vprintf,st_printf): Move to runtime/error.c.
62         * libgfortran.h (struct options_t): Remove use_stderr field.
63         (st_vprintf,st_printf): Move prototypes.
64         (estr_write): New prototype.
65         * runtime/error.c (sys_exit): Use estr_write instead of st_printf.
66         (estr_write): New function.
67         (st_vprintf): Move from io/unix.c, use stack allocated buffer,
68         always output to stderr.
69         (st_printf): Move from io/unix.c.
70         (show_locus): Use a local variable instead of static.
71         (os_error): Use estr_write instead of st_printf.
72         (runtime_error): Likewise.
73         (runtime_error_at): Likewise.
74         (runtime_warning_at): Likewise.
75         (internal_error): Likewise.
76         (generate_error): Likewise.
77         (generate_warning): Likewise.
78         (notify_std): Likewise.
79         * runtime/pause.c (do_pause): Likewise.
80         (pause_string): Likewise.
81         * runtime/stop.c (stop_string): Likewise.
82         (error_stop_string): Likewise.
83         * config/fpu_aix.h (set_fpu): Likewise.
84         * config/fpu_generic.h (set_fpu): Likewise.
85         * config/fpu_glibc.h (set_fpu): Likewise.
86         * config/fpu-sysv.h (set_fpu): Likewise.
87         * runtime/backtrace.c (dump_glibc_backtrace): Likewise.
88         (show_backtrace): Likewise.
89         * runtime/environ.c (print_spaces): Likewise.
90         (show_string): Likewise.
91         (show_variables): Likewise.
92         (variable_table[]): Remove GFORTRAN_USE_STDERR entry.
93
94 2011-05-14  Tobias Burnus  <burnus@net-b.de>
95
96         PR fortran/48961
97         * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if
98         synchronously executing with WAIT=.false.
99         (execute_command_line): Fix setting of cmdstat and exitstat.
100
101 2011-05-06  Tobias Burnus  <burnus@net-b.de>
102
103         PR fortran/18918
104         * caf/libcaf.h: Cleanup headers.
105         (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub.
106         (caf_register_t): New enum.
107         (_gfortran_caf_register, _gfortran_caf_deregister): New prototype.
108         * caf/single.c (_gfortran_caf_critical,
109         _gfortran_caf_end_critical): Remove.
110         (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
111         * caf/mpi.c (_gfortran_caf_critical,
112         _gfortran_caf_end_critical): Remove.
113         (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
114         (caf_world_window): Remove global variable.
115         (_gfortran_caf_init): Fix off-by-one error of this_image.
116
117 2011-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
118
119         PR libgfortran/48787
120         * io/write_float.def (output_float): Adjust up and down rounding for
121         cases where 'd' = 0. Gather common code to one location.
122
123 2011-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
124
125         PR libgfortran/48787
126         * io/write_float.def (output_float): Gather up integer declarations and
127         add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference
128         everywhere. For ROUND_UP scan the digit string and only perform
129         rounding if something other than '0' is found.
130
131 2011-04-29  Janne Blomqvist  <jb@gcc.gnu.org>
132
133         * io/unix.c (min): New macro.
134         (unpack_filename): Return errno number for errors.
135         (regular_file): Use appropriately sized buffer for path.
136         (compare_file_filename): Likewise.
137         (find_file): Likewise.
138         (delete_file): Likewise.
139         (file_exists): Likewise.
140         (file_size): Likewise.
141         (inquire_sequential): Likewise.
142         (inquire_direct): Likewise.
143         (inquire_formatted): Likewise.
144         (inquire_access): Likewise.
145
146 2011-04-29  Janne Blomqvist  <jb@gcc.gnu.org>
147
148         PR libfortran/48488
149         * io/write.c (write_real, write_real_g0): Update comments.
150
151 2011-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
152             Janne Blomqvist  <jb@gcc.gnu.org>
153
154         PR libgfortran/48488
155         PR libgfortran/48602
156         PR libgfortran/48615
157         PR libgfortran/48684
158         PR libgfortran/48787
159         * io/write.c (write_d, write_e, write_f, write_en,
160         write_es): Add precision compemsation parameter to call.
161         (set_fnode_default): Adjust default widths to assure
162         round trip on write and read. (write_real): Adjust call to write_float.
163         (write_real_g0): Calculate compensation for extra precision and adjust
164         call to write_float.
165         * io/write_float.def (output_float_FMT_G_): Use volatile rather than
166         asm volatile to avoid optimization issue. Correctly calculate the
167         number of blanks (nb) to be appended and simplify calculation logic.
168         (write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
169         default widths. Eliminate the code that attempted to reduce the
170         the precision used in later sprintf functions.  Add call parameter to
171         compensate for extra precision.
172
173 2011-04-20  Jim Meyering  <meyering@redhat.com>
174
175         * intrinsics/move_alloc.c (move_alloc): Remove useless
176         if-before-free test.
177         * io/fbuf.c (fbuf_destroy): Likewise.
178         * io/format.c (save_parsed_format): Likewise.
179         * io/open.c (already_open): Likewise.
180         * io/unit.c (free_internal_unit, close_unit_1): Likewise.
181         * io/unix.c (mem_close): Likewise.
182
183 2011-04-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
184
185         PR libgfortran/48602
186         * io/write_float.def (output_float_FMT_G): Fix reversal in conditional.
187         Use asm volatile to mark temp variable, avoiding optimization errors.
188
189 2011-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
190
191         PR libgfortran/48602
192         * io/write_float.def (output_float_FMT_G): Use current rounding mode
193         to set the rounding parameters. (output_float): Skip rounding
194         if value is zero.
195
196 2011-04-16  Janne Blomqvist  <jb@gcc.gnu.org>
197
198         * intrinsics/date_and_time.c (date_and_time): Remove sprintf CPP
199         branch.
200         * io/format.c (format_error): Use snprintf instead of sprintf.
201         * io/list_read.c: Move snprintf fallback macro to libgfortran.h.
202         (convert_integer): Use snprintf instead of sprintf.
203         (parse_repeat): Likewise.
204         (read_logical): Likewise.
205         (read_integer): Likewise.
206         (read_character): Likewise.
207         (parse_real): Likewise.
208         (read_complex): Likewise.
209         (read_real): Likewise.
210         (check_type): Likewise.
211         (nml_parse_qualifier): Add string length argument, use snprintf
212         instead of sprintf.
213         (nml_get_obj_data): Use snprintf instead of sprintf.
214         * io/open.c (new_unit): Remove sprintf CPP branch, use snprintf
215         instead of sprintf.
216         * io/transfer.c (require_type): Use snprintf instead of sprintf.
217         * io/unix.c (tempfile): Likewise.
218         * io/write.c (nml_write_obj): Likewise.
219         * io/write_float.def (output_float): Remove sprintf CPP branch,
220         use snprintf instead of sprintf.
221         * libgfortran.h: Add fallback snprintf macro from io/list_read.c.
222         * runtime/backtrace.c (show_backtrace): Remove sprintf CPP branch.
223         * runtime/main.c (store_exe_path): Use snprintf instead of
224         sprintf.
225
226 2011-04-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
227
228         PR libgfortran/48589
229         * io/write_float.def (write_infnan): Set width properly for G0.
230
231 2011-04-15  Tobias Burnus  <burnus@net-b.de>
232
233         PR fortran/18918
234         * Makefile.am: Build and install caf/single.c as
235         libcaf_single.a.
236         * Makefile.in: Regenerate.
237
238 2011-04-15  Janne Blomqvist  <jb@gcc.gnu.org>
239
240         PR libfortran/47571
241         * configure: Regenerated.
242         * config.h.in: Regenerated.
243         * acinclude.m4: Add alpha*-dec-osf* to gthread blacklist.
244         * configure.ac: Use separate symbol for clock_gettime in librt.
245         * intrinsics/system_clock.c: Use weakrefs only when needed and
246         supported.
247
248 2011-04-12  Janne Blomqvist  <jb@gcc.gnu.org>
249
250         * configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t,
251         check for ptrdiff_t.
252         * libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for
253         index_type, change cshift0* prototypes.
254         * config.h.in: Regenerated.
255         * configure: Regenerated.
256         * intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t.
257         * io/io.h (array_loop_spec): Use index_type instead of ssize_t.
258         * io/list_read.c (nml_parse_qualifier): Likewise.
259         * io/write.c (nml_write_obj): Likewise.
260         * m4/cshift0.c (cshift0_'rtype_code`): Likewise.
261         * generated/cshift0_*.c: Regenerated.
262
263 2011-04-12  Janne Blomqvist  <jb@gcc.gnu.org>
264
265         * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS.
266         * Makefile.in: Regenerated.
267
268 2011-04-06  Tobias Burnus  <burnus@net-b.de>
269
270         PR fortran/18918
271         * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
272         Add global variable caf_mpi_initialized and use it for when
273         finalizing.
274
275 2011-04-04  Tobias Burnus  <burnus@net-b.de>
276
277         * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.
278         (fallback_access, open_internal4, compare_file_filename,
279         find_file, file_size, inquire_sequential, inquire_direct,
280         inquire_formatted): Use "struct stat" instead of gfstat_t.
281
282 2011-03-27  Tobias Burnus  <burnus@net-b.de>
283
284         PR fortran/18918
285         * caf/libcaf.h: New - coarray communication library.
286         * caf/mpi.c: New.
287         * caf/single.c: New.
288
289 2011-03-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
290
291         PR libgfortran/48030
292         * io/read.c (read_x): Re-implement using fbuf_getc.
293
294 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
295
296         PR bootstrap/48135
297         * configure.ac (gfortran_use_symver): Handle --disable-symvers.
298         * configure: Regenerate.
299
300 2011-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
301
302         PR fortran/35667
303         * io/io.h (convert_infnan): Declare.
304         * io/read.c (convert_infnan): New.
305         (read_f): Use convert_infnan to convert INFs and NANs.
306         * list_read.c (parse_real, read_real): Likewise.
307
308 2011-03-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
309
310         PR libfortran/47439
311         * io/unix.c (tempfile): Work around poor mktemp() implementations.
312
313 2011-03-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
314
315         PR libfortran/47883
316         * acinclude.m4: Don't use AC_TRY_ macros.
317         * configure.ac: Likewise.
318         * configure: Regenerate.
319
320 2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
321
322         PR libfortran/48066
323         * m4/ifunction.m4:  If return array is empty, return.
324         * m4/ifunction_logical.m4:  Likewise.
325         * generated/all_l16.c: Regenerated.
326         * generated/all_l1.c: Regenerated.
327         * generated/all_l2.c: Regenerated.
328         * generated/all_l4.c: Regenerated.
329         * generated/all_l8.c: Regenerated.
330         * generated/any_l16.c: Regenerated.
331         * generated/any_l1.c: Regenerated.
332         * generated/any_l2.c: Regenerated.
333         * generated/any_l4.c: Regenerated.
334         * generated/any_l8.c: Regenerated.
335         * generated/count_16_l.c: Regenerated.
336         * generated/count_1_l.c: Regenerated.
337         * generated/count_2_l.c: Regenerated.
338         * generated/count_4_l.c: Regenerated.
339         * generated/count_8_l.c: Regenerated.
340         * generated/maxloc1_16_i16.c: Regenerated.
341         * generated/maxloc1_16_i1.c: Regenerated.
342         * generated/maxloc1_16_i2.c: Regenerated.
343         * generated/maxloc1_16_i4.c: Regenerated.
344         * generated/maxloc1_16_i8.c: Regenerated.
345         * generated/maxloc1_16_r10.c: Regenerated.
346         * generated/maxloc1_16_r16.c: Regenerated.
347         * generated/maxloc1_16_r4.c: Regenerated.
348         * generated/maxloc1_16_r8.c: Regenerated.
349         * generated/maxloc1_4_i16.c: Regenerated.
350         * generated/maxloc1_4_i1.c: Regenerated.
351         * generated/maxloc1_4_i2.c: Regenerated.
352         * generated/maxloc1_4_i4.c: Regenerated.
353         * generated/maxloc1_4_i8.c: Regenerated.
354         * generated/maxloc1_4_r10.c: Regenerated.
355         * generated/maxloc1_4_r16.c: Regenerated.
356         * generated/maxloc1_4_r4.c: Regenerated.
357         * generated/maxloc1_4_r8.c: Regenerated.
358         * generated/maxloc1_8_i16.c: Regenerated.
359         * generated/maxloc1_8_i1.c: Regenerated.
360         * generated/maxloc1_8_i2.c: Regenerated.
361         * generated/maxloc1_8_i4.c: Regenerated.
362         * generated/maxloc1_8_i8.c: Regenerated.
363         * generated/maxloc1_8_r10.c: Regenerated.
364         * generated/maxloc1_8_r16.c: Regenerated.
365         * generated/maxloc1_8_r4.c: Regenerated.
366         * generated/maxloc1_8_r8.c: Regenerated.
367         * generated/maxval_i16.c: Regenerated.
368         * generated/maxval_i1.c: Regenerated.
369         * generated/maxval_i2.c: Regenerated.
370         * generated/maxval_i4.c: Regenerated.
371         * generated/maxval_i8.c: Regenerated.
372         * generated/maxval_r10.c: Regenerated.
373         * generated/maxval_r16.c: Regenerated.
374         * generated/maxval_r4.c: Regenerated.
375         * generated/maxval_r8.c: Regenerated.
376         * generated/minloc1_16_i16.c: Regenerated.
377         * generated/minloc1_16_i1.c: Regenerated.
378         * generated/minloc1_16_i2.c: Regenerated.
379         * generated/minloc1_16_i4.c: Regenerated.
380         * generated/minloc1_16_i8.c: Regenerated.
381         * generated/minloc1_16_r10.c: Regenerated.
382         * generated/minloc1_16_r16.c: Regenerated.
383         * generated/minloc1_16_r4.c: Regenerated.
384         * generated/minloc1_16_r8.c: Regenerated.
385         * generated/minloc1_4_i16.c: Regenerated.
386         * generated/minloc1_4_i1.c: Regenerated.
387         * generated/minloc1_4_i2.c: Regenerated.
388         * generated/minloc1_4_i4.c: Regenerated.
389         * generated/minloc1_4_i8.c: Regenerated.
390         * generated/minloc1_4_r10.c: Regenerated.
391         * generated/minloc1_4_r16.c: Regenerated.
392         * generated/minloc1_4_r4.c: Regenerated.
393         * generated/minloc1_4_r8.c: Regenerated.
394         * generated/minloc1_8_i16.c: Regenerated.
395         * generated/minloc1_8_i1.c: Regenerated.
396         * generated/minloc1_8_i2.c: Regenerated.
397         * generated/minloc1_8_i4.c: Regenerated.
398         * generated/minloc1_8_i8.c: Regenerated.
399         * generated/minloc1_8_r10.c: Regenerated.
400         * generated/minloc1_8_r16.c: Regenerated.
401         * generated/minloc1_8_r4.c: Regenerated.
402         * generated/minloc1_8_r8.c: Regenerated.
403         * generated/minval_i16.c: Regenerated.
404         * generated/minval_i1.c: Regenerated.
405         * generated/minval_i2.c: Regenerated.
406         * generated/minval_i4.c: Regenerated.
407         * generated/minval_i8.c: Regenerated.
408         * generated/minval_r10.c: Regenerated.
409         * generated/minval_r16.c: Regenerated.
410         * generated/minval_r4.c: Regenerated.
411         * generated/minval_r8.c: Regenerated.
412         * generated/product_c10.c: Regenerated.
413         * generated/product_c16.c: Regenerated.
414         * generated/product_c4.c: Regenerated.
415         * generated/product_c8.c: Regenerated.
416         * generated/product_i16.c: Regenerated.
417         * generated/product_i1.c: Regenerated.
418         * generated/product_i2.c: Regenerated.
419         * generated/product_i4.c: Regenerated.
420         * generated/product_i8.c: Regenerated.
421         * generated/product_r10.c: Regenerated.
422         * generated/product_r16.c: Regenerated.
423         * generated/product_r4.c: Regenerated.
424         * generated/product_r8.c: Regenerated.
425         * generated/sum_c10.c: Regenerated.
426         * generated/sum_c16.c: Regenerated.
427         * generated/sum_c4.c: Regenerated.
428         * generated/sum_c8.c: Regenerated.
429         * generated/sum_i16.c: Regenerated.
430         * generated/sum_i1.c: Regenerated.
431         * generated/sum_i2.c: Regenerated.
432         * generated/sum_i4.c: Regenerated.
433         * generated/sum_i8.c: Regenerated.
434         * generated/sum_r10.c: Regenerated.
435         * generated/sum_r16.c: Regenerated.
436         * generated/sum_r4.c: Regenerated.
437         * generated/sum_r8.c: Regenerated.
438
439 2011-03-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
440
441         PR libgfortran/48047
442         * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.
443
444 2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
445
446         PR libfortran/47802
447         * intrinsics/ctime.c (strctime): Use builtins to check localtime_r
448         return type.
449
450 2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
451
452         PR libfortran/47802
453         * intrinsics/ctime.c (strctime): Don't use return value of
454         localtime_r.
455
456 2011-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
457
458         PR libgfortran/47567
459         * io/write_float.def (output_float): Move handling of w = 0 to after
460         output rounding. Check for zero and set zero_flag accordingly. Set
461         width according to zero_flag. Add better comments.
462
463 2011-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
464
465         PR libgfortran/47778
466         * io/list_read.c (namelist_read): Intialize the error string buffere.
467         If pprev_nl was used during the previous namelist read and the rank
468         was zero, reset the pointer to NULL for the next namelist read.
469
470 2011-02-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
471
472         PR libfortran/45165
473         * unix.c (fallback_access): Fix file descriptor leaks.
474
475 2011-02-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
476
477         * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable
478         tested in configure.host.
479         * configure: Regenerate.
480
481 2011-02-24  Janne Blomqvist  <jb@gcc.gnu.org>
482
483         PR libfortran/47802
484         * config.h.in: Regenerated.
485         * configure: Regenerated.
486         * configure.ac: Remove checks for ctime and ctime_r, add check for
487         strftime.
488         * intrinsics/date_and_time.c (localtime_r): Move fallback
489         implementation to time_1.h.
490         * intrinsics/time_1.h (localtime_r): Fallback implementation.
491         * intrinsics/ctime.c: Include time_1.h.
492         (ctime_r): Remove fallback implementation.
493         (strctime): New function.
494         (fdate): Use strctime instead of ctime_r.
495         (fdate_sub): Likewise.
496         (ctime): Likewise.
497         (ctime_sub): Likewise.
498
499 2011-02-24  Jakub Jelinek  <jakub@redhat.com>
500
501         PR fortran/47878
502         * io/transfer.c (read_sf): Call fbuf_getptr only at the end,
503         and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it.
504
505 2011-02-24  Janne Blomqvist  <jb@gcc.gnu.org>
506
507         PR libfortran/47802
508         * configure.ac: Add test for POSIX getpwuid_r.
509         * intrinsics/getlog.c (getlog): CPP test for
510         HAVE_POSIX_GETPWUID_R.
511         * config.h.in: Regenerated.
512         * configure: Regenerated.
513
514 2011-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
515
516         PR libgfortran/47567
517         * io/write_float.def (output_float): Remove special case handling of
518         zero with width 1.
519
520 2011-02-23  Janne Blomqvist  <jb@gcc.gnu.org>
521             Jerry DeLisle    <jvdelisle@gcc.gnu.org>
522
523         PR libfortran/47694
524         * io/fbuf.h (fbuf_getptr): New inline function.
525         * io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan
526         through the string instead of fbuf_read.
527
528 2011-02-22  Tobias Burnus  <burnus@net-b.de>
529             Kai-Uwe Eckhardt  <kuehro@gmx.de>
530
531         PR libfortran/47830
532         * intrinsics/c99_functions.c (roundl): Make C valid for
533         HAVE_NEXTAFTERL.
534
535 2011-02-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
536
537         PR libgfortran/47567
538         * io/write_float.def (output_float): Adjust width for F0.d to
539         allow space for negative signs on zero.
540
541 2011-02-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
542
543         PR libgfortran/47667
544         * io/list_read.c (read_logical): Check for end of line before calling
545         eat_line. (read_integer): Likewise. (parse_real): Don't unget the
546         separator. Check for end of line before calling eat_line.
547         (read_complex): Allow line-end before and after parenthesis and comma.
548         Check for end of line before calling eat_line. (read_real): Check for
549         end of line before calling eat_line.
550
551 2011-02-16  Jakub Jelinek  <jakub@redhat.com>
552
553         PR libfortran/47757
554         * gfortran.map (GFORTRAN_1.4): Export
555         _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and
556         _gfortran_{cshift0,eoshift{0,2}}_16_char4.
557
558 2011-02-15  Tobias Burnus  <burnus@net-b.de>
559
560         PR fortran/47716
561         PR fortran/47648
562         * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from
563         libquadmath, which uses more features.
564         * configure: Regenerate.
565
566 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
567
568         PR fortran/47642
569         * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of
570         quadmath_flt128tostr.
571         * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead
572         of quadmath_flt128tostr.
573
574 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
575
576         * Makefile.in: Regenerate.
577         * aclocal.m4: Likewise.
578         * configure: Likewise.
579
580 2011-02-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
581
582         PR libgfortran/47567
583         * io/write_float.def (output_float): Eliminate some redundant code.
584         Adjust width for case of F0.X for values of zero and all other values.
585         Expand cases where '*' is set to give cleaner results.
586
587 2011-02-05  Janne Blomqvist  <jb@gcc.gnu.org>
588
589         PR libfortran/47571
590         * intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c.
591         (weak_gettime): Likewise.
592         (gf_gettime): Change API, move weak_gettime() usage to
593         system_clock.c
594         * intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define.
595         (gf_gettime_mono): New function.
596         (system_clock_4): Use gf_gettime_mono().
597         (system_clock_8): Likewise.
598         * intrinsics/date_and_time.c (date_and_time): Update gf_gettime()
599         usage.
600
601 2011-02-02  Janne Blomqvist  <jb@gcc.gnu.org>
602
603         PR libfortran/47571
604         * configure: Regenerated.
605         * configure.ac: Don't add librt to LIBS.
606         * intrinsics/time_1.h (weak_gettime): Weakref trickery for
607         clock_gettime().
608         (gf_gettime): Use weak_gettime() instead of clock_gettime().
609
610 2011-02-01  Janne Blomqvist  <jb@gcc.gnu.org>
611
612         * intrinsics/time_1.h: Include errno.h needed by fallbacks.
613
614 2011-01-31  Janne Blomqvist  <jb@gcc.gnu.org>
615
616         * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro.
617
618 2011-01-31  Janne Blomqvist  <jb@gcc.gnu.org>
619
620         * configure.ac: Check for clock_gettime().
621         * configure: Regenerated.
622         * config.h.in: Regenerated.
623         * intrinsics/time_1.h (__time_1): Rename to gf_cputime, add
624         times() fallback.
625         (gf_gettime): New function.
626         * intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime.
627         * intrinsics/date_and_time.c (date_and_time): Use gf_gettime.
628         * intrinsics/dtime.c (dtime_sub): Use gf_cputime.
629         * intrinsics/etime.c (etime_sub): Use gf_cputime.
630         * intrinsics/system_clock.c (system_clock_4): Use gf_gettime.
631         (system_clock_8): Use gf_gettime, increase count rate to allow
632         nanosecond precision, remove overflow prone branch.
633
634 2011-01-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
635
636         PR libgfortran/47434
637         * io/write_float.def (write_infnan): Use calculate_sign to determine
638         if the sign should be given and check field widths accordingly.
639
640 2011-01-29  Kai Tietz  <kai.tietz@onevision.com>
641
642         * intrinsics/ctime.c (ctime_r): Improve implementation.
643
644 2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
645
646         PR libfortran/47431
647         * config.h.in: Regenerated.
648         * configure: Regenerated.
649         * configure.ac: Add check for ctime_r().
650         * intrinsics/ctime.c (ctime_r): Fallback implementation.
651         (fdate): Use ctime_r() instead of ctime().
652         (fdate_sub): Likewise.
653         (ctime): Likewise.
654         (ctime_sub): Likewise.
655
656 2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
657
658         PR libfortran/47432
659         * config.h.in: Regenerated.
660         * configure: Regenerated.
661         * configure.ac: Add check for ttyname_r.
662         * io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype.
663         * io/unix.c (stream_ttyname): Use ttyname_r if available, conform
664         to new prototype.
665         * io/inquire.c (inquire_via_unit): Use changed stream_ttyname.
666         * io/intrinsics.c (ttynam_sub): Likewise.
667         (ttynam): Likewise.
668
669 2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
670
671         PR libfortran/47491
672         * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common
673         extensions.
674         * config.h.in: Regenerate.
675         * configure: Regenerate.
676
677 2011-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
678
679         PR libgfortran/47285
680         * io/write_float.def (write_infnan): Adjust processor selected width
681         to 3 if NaN.
682
683 2011-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
684
685         PR libgfortran/47285
686         * io/write_float.def (output_float): Return SUCCESS or FAILURE and use
687         the result to set the padding.
688
689 2011-01-26  Kai Tietz  <kai.tietz@onevision.com>
690
691         * intrinsics/getlog.c (getlog): Fix label/statement issue.
692
693 2011-01-25  Janne Blomqvist  <jb@gcc.gnu.org>
694
695         PR libfortran/47375
696         * config.h.in: Regenerated.
697         * configure: Regenerated.
698         * configure.ac: Add check for getpwuid_r.
699         * intrinsics/getlog.c (getlog): Use getpwuid_r() if available.
700
701 2011-01-22  Janne Blomqvist  <jb@gcc.gnu.org>
702
703         PR libfortran/46267
704         * config.h.in: Regenerated.
705         * configure: Regenerated.
706         * configure.ac: Check presence of strerror_r.
707         * intrinsics/gerror.c (gerror): Use gf_strerror, modify logic.
708         * io/unix.c (get_oserror): Remove.
709         * libgfortran.h (gf_strerror): Add prototype.
710         (get_oserror): Remove prototype.
711         * runtime/error.c (gf_strerror): New function.
712         (os_error): Use gf_strerror instead of get_oserror.
713         (generate_errror): Likewise.
714
715 2011-01-17  Janne Blomqvist  <jb@gcc.gnu.org>
716
717         PR libfortran/47296
718         * io/unix.c (tempfile): Set opp->file and opp->file_len also if an
719         error occurs.
720
721 2011-01-16  Jakub Jelinek  <jakub@redhat.com>
722
723         PR fortran/46625
724         * io/write_float.def (DTOAQ): Use quadmath_flt128tostr
725         instead of quadmath_dtoa.
726         * io/transfer128.c (tmp1, tmp2): New variables, bring in
727         strtoflt128 and quadmath_flt128tostr.
728         (transfer_real128, transfer_real128_write, transfer_complex128,
729         transfer_complex128_write): Remove tmp1/tmp2 variables.
730         * io/read.c (convert_real): Use strtoflt128 instead of
731         quadmath_strtopQ, adjust for the changed arguments and return
732         value.
733
734 2011-01-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
735
736         PR libgfortran/47296
737         * io/unix.c (unpack_filename): Return non-zero if the filename passed
738         in is NULL.
739
740 2011-01-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
741
742         PR libgfortran/47154
743         * io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the
744         duplicate calls via next_record.
745
746 \f
747 Copyright (C) 2011 Free Software Foundation, Inc.
748
749 Copying and distribution of this file, with or without modification,
750 are permitted in any medium without royalty provided the copyright
751 notice and this notice are preserved.