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