OSDN Git Service

PR 49214 fd_gets should return NULL if nothing was read
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
index bae9d3c..f0e3078 100644 (file)
@@ -1,3 +1,310 @@
+2011-05-29  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/49214
+       * runtime/backtrace.c (fd_gets): Return NULL if nothing was read.
+
+2011-05-29  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/19155
+       * io/read.c (convert_real): Check for invalid input by comparing
+       endptr instead of EINVAL.
+       (read_f): Fixup floating point input without significand.
+
+2011-05-22  Tobias Burnus  <burnus@net-b.de>
+
+       * runtime/stop.c (stop_string,error_stop_string): Minor cleanup.
+
+2011-05-22  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/48931
+       * configure.ac: Check for backtrace_symbols_fd instead of
+       backtrace_symbols, check for readlink.
+       * config.h.in: Regenerated.
+       * configure: Regenerated.
+       * runtime/backtrace.c (local_strcasestr): Remove.
+       (bt_header): New function.
+       (dump_glibc_backtrace): Remove.
+       (fd_gets): New function.
+       (show_backtrace): Rework to use backtrace_symbols_fd and pipes
+       avoiding functions that are not async-signal-safe, reformat
+       output.
+       * runtime/main.c (store_exe_path): Try to check /proc/self/exe
+       first.
+
+2011-05-20  Janne Blomqvist  <jb@gcc.gnu.org>
+           Uros Bizjak  <ubizjak@gmail.com>
+
+       PR libfortran/48977
+       * configure.host: Swap order of glibc and x86 tests.
+
+2011-05-20  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * config/fpu-387.h (set_fpu): Use renamed inexact macro.
+       * config/fpu-aix.h (set_fpu): Clarify error messages, use renamed
+       inexact macro, set TRP_INEXACT for inexact exception instead of
+       TRP_UNDERFLOW.
+       * config/fpu-generic.h (set_fpu): Clarify error messages, use
+       renamed inexact macro.
+       * config/fpu-glibc.h (set_fpu): Likewise.
+       * config/fpu-sysv.h (set_fpu): Likewise.
+
+2011-05-14  Tobias Burnus  <burnus@net-b.de>
+
+       * runtime/stop.c (error_stop_string, error_stop_numeric):
+       Do not backtrace for ERROR STOP.
+
+2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/48915
+       * intrinsics/abort.c (abort): Call sys_abort().
+       * io/unix.c (st_vprintf): Call sys_abort().
+       * libgfortran.h (options_t): Remove dump_core member.
+       (handler): Rename to backtrace_handler.
+       (compile_options_t): Remove dump_core member.
+       (sys_exit): Remove.
+       (sys_abort): New function.
+       * runtime/backtrace.c (show_backtrace): Print a message if
+       backtrace is not available on target, update filter symbol name
+       due to backtrace_handler renaming.
+       * runtime/compile_options.c (backtrace_handler): New
+       implementation based on example in Glibc manual.
+       (set_options): Remove dump_core handling, make signal handler
+       handle more signals.
+       (init_compile_options): Remove dump_core.
+       * runtime/environ.c (variable_table[]): Remove
+       GFORTRAN_ERROR_DUMPCORE element.
+       (show_variables): Update name, call exit().
+       * runtime/error.c (sys_exit): Remove.
+       (sys_abort): New function.
+       (recursion_check): Call sys_abort().
+       (os_error): Call exit().
+       (runtime_error): Likewise.
+       (runtime_error_at): Likewise.
+       (internal_error): Likewise.
+       (generate_error): Likewise.
+       (notify_std): Likewise.
+       * runtime/stop.c (stop_numeric): Call exit().
+       (stop_numeric_f08): Likewise.
+       (stop_string): Likewise.
+       (error_stop_string): Call sys_abort().
+       (error_stop_numeric): Print backtrace, exit with provided code.
+
+2011-05-14  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * io/unix.c (st_vprintf,st_printf): Move to runtime/error.c.
+       * libgfortran.h (struct options_t): Remove use_stderr field.
+       (st_vprintf,st_printf): Move prototypes.
+       (estr_write): New prototype.
+       * runtime/error.c (sys_exit): Use estr_write instead of st_printf.
+       (estr_write): New function.
+       (st_vprintf): Move from io/unix.c, use stack allocated buffer,
+       always output to stderr.
+       (st_printf): Move from io/unix.c.
+       (show_locus): Use a local variable instead of static.
+       (os_error): Use estr_write instead of st_printf.
+       (runtime_error): Likewise.
+       (runtime_error_at): Likewise.
+       (runtime_warning_at): Likewise.
+       (internal_error): Likewise.
+       (generate_error): Likewise.
+       (generate_warning): Likewise.
+       (notify_std): Likewise.
+       * runtime/pause.c (do_pause): Likewise.
+       (pause_string): Likewise.
+       * runtime/stop.c (stop_string): Likewise.
+       (error_stop_string): Likewise.
+       * config/fpu_aix.h (set_fpu): Likewise.
+       * config/fpu_generic.h (set_fpu): Likewise.
+       * config/fpu_glibc.h (set_fpu): Likewise.
+       * config/fpu-sysv.h (set_fpu): Likewise.
+       * runtime/backtrace.c (dump_glibc_backtrace): Likewise.
+       (show_backtrace): Likewise.
+       * runtime/environ.c (print_spaces): Likewise.
+       (show_string): Likewise.
+       (show_variables): Likewise.
+       (variable_table[]): Remove GFORTRAN_USE_STDERR entry.
+
+2011-05-14  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/48961
+       * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if
+       synchronously executing with WAIT=.false.
+       (execute_command_line): Fix setting of cmdstat and exitstat.
+
+2011-05-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/18918
+       * caf/libcaf.h: Cleanup headers.
+       (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub.
+       (caf_register_t): New enum.
+       (_gfortran_caf_register, _gfortran_caf_deregister): New prototype.
+       * caf/single.c (_gfortran_caf_critical,
+       _gfortran_caf_end_critical): Remove.
+       (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
+       * caf/mpi.c (_gfortran_caf_critical,
+       _gfortran_caf_end_critical): Remove.
+       (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
+       (caf_world_window): Remove global variable.
+       (_gfortran_caf_init): Fix off-by-one error of this_image.
+
+2011-05-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/48787
+       * io/write_float.def (output_float): Adjust up and down rounding for
+       cases where 'd' = 0. Gather common code to one location.
+
+2011-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/48787
+       * io/write_float.def (output_float): Gather up integer declarations and
+       add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference
+       everywhere. For ROUND_UP scan the digit string and only perform
+       rounding if something other than '0' is found.
+
+2011-04-29  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * io/unix.c (min): New macro.
+       (unpack_filename): Return errno number for errors.
+       (regular_file): Use appropriately sized buffer for path.
+       (compare_file_filename): Likewise.
+       (find_file): Likewise.
+       (delete_file): Likewise.
+       (file_exists): Likewise.
+       (file_size): Likewise.
+       (inquire_sequential): Likewise.
+       (inquire_direct): Likewise.
+       (inquire_formatted): Likewise.
+       (inquire_access): Likewise.
+
+2011-04-29  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/48488
+       * io/write.c (write_real, write_real_g0): Update comments.
+
+2011-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+           Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libgfortran/48488
+       PR libgfortran/48602
+       PR libgfortran/48615
+       PR libgfortran/48684
+       PR libgfortran/48787
+       * io/write.c (write_d, write_e, write_f, write_en,
+       write_es): Add precision compemsation parameter to call.
+       (set_fnode_default): Adjust default widths to assure
+       round trip on write and read. (write_real): Adjust call to write_float.
+       (write_real_g0): Calculate compensation for extra precision and adjust
+       call to write_float.
+       * io/write_float.def (output_float_FMT_G_): Use volatile rather than
+       asm volatile to avoid optimization issue. Correctly calculate the
+       number of blanks (nb) to be appended and simplify calculation logic.
+       (write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
+       default widths. Eliminate the code that attempted to reduce the
+       the precision used in later sprintf functions.  Add call parameter to
+       compensate for extra precision.
+
+2011-04-20  Jim Meyering  <meyering@redhat.com>
+
+       * intrinsics/move_alloc.c (move_alloc): Remove useless
+       if-before-free test.
+       * io/fbuf.c (fbuf_destroy): Likewise.
+       * io/format.c (save_parsed_format): Likewise.
+       * io/open.c (already_open): Likewise.
+       * io/unit.c (free_internal_unit, close_unit_1): Likewise.
+       * io/unix.c (mem_close): Likewise.
+
+2011-04-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/48602
+       * io/write_float.def (output_float_FMT_G): Fix reversal in conditional.
+       Use asm volatile to mark temp variable, avoiding optimization errors.
+
+2011-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/48602
+       * io/write_float.def (output_float_FMT_G): Use current rounding mode
+       to set the rounding parameters. (output_float): Skip rounding
+       if value is zero.
+
+2011-04-16  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * intrinsics/date_and_time.c (date_and_time): Remove sprintf CPP
+       branch.
+       * io/format.c (format_error): Use snprintf instead of sprintf.
+       * io/list_read.c: Move snprintf fallback macro to libgfortran.h.
+       (convert_integer): Use snprintf instead of sprintf.
+       (parse_repeat): Likewise.
+       (read_logical): Likewise.
+       (read_integer): Likewise.
+       (read_character): Likewise.
+       (parse_real): Likewise.
+       (read_complex): Likewise.
+       (read_real): Likewise.
+       (check_type): Likewise.
+       (nml_parse_qualifier): Add string length argument, use snprintf
+       instead of sprintf.
+       (nml_get_obj_data): Use snprintf instead of sprintf.
+       * io/open.c (new_unit): Remove sprintf CPP branch, use snprintf
+       instead of sprintf.
+       * io/transfer.c (require_type): Use snprintf instead of sprintf.
+       * io/unix.c (tempfile): Likewise.
+       * io/write.c (nml_write_obj): Likewise.
+       * io/write_float.def (output_float): Remove sprintf CPP branch,
+       use snprintf instead of sprintf.
+       * libgfortran.h: Add fallback snprintf macro from io/list_read.c.
+       * runtime/backtrace.c (show_backtrace): Remove sprintf CPP branch.
+       * runtime/main.c (store_exe_path): Use snprintf instead of
+       sprintf.
+
+2011-04-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/48589
+       * io/write_float.def (write_infnan): Set width properly for G0.
+
+2011-04-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/18918
+       * Makefile.am: Build and install caf/single.c as
+       libcaf_single.a.
+       * Makefile.in: Regenerate.
+
+2011-04-15  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/47571
+       * configure: Regenerated.
+       * config.h.in: Regenerated.
+       * acinclude.m4: Add alpha*-dec-osf* to gthread blacklist.
+       * configure.ac: Use separate symbol for clock_gettime in librt.
+       * intrinsics/system_clock.c: Use weakrefs only when needed and
+       supported.
+
+2011-04-12  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t,
+       check for ptrdiff_t.
+       * libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for
+       index_type, change cshift0* prototypes.
+       * config.h.in: Regenerated.
+       * configure: Regenerated.
+       * intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t.
+       * io/io.h (array_loop_spec): Use index_type instead of ssize_t.
+       * io/list_read.c (nml_parse_qualifier): Likewise.
+       * io/write.c (nml_write_obj): Likewise.
+       * m4/cshift0.c (cshift0_'rtype_code`): Likewise.
+       * generated/cshift0_*.c: Regenerated.
+
+2011-04-12  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS.
+       * Makefile.in: Regenerated.
+
+2011-04-06  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/18918
+       * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
+       Add global variable caf_mpi_initialized and use it for when
+       finalizing.
+
 2011-04-04  Tobias Burnus  <burnus@net-b.de>
 
        * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.