OSDN Git Service

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