OSDN Git Service

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