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