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