OSDN Git Service

PR 48931 Make backtrace async-signal-safe, reformat output
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
index deb15ea..6f5b058 100644 (file)
@@ -1,3 +1,708 @@
+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.
+       (fallback_access, open_internal4, compare_file_filename,
+       find_file, file_size, inquire_sequential, inquire_direct,
+       inquire_formatted): Use "struct stat" instead of gfstat_t.
+
+2011-03-27  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/18918
+       * caf/libcaf.h: New - coarray communication library.
+       * caf/mpi.c: New.
+       * caf/single.c: New.
+
+2011-03-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/48030
+       * io/read.c (read_x): Re-implement using fbuf_getc.
+
+2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR bootstrap/48135
+       * configure.ac (gfortran_use_symver): Handle --disable-symvers.
+       * configure: Regenerate.
+
+2011-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR fortran/35667
+       * io/io.h (convert_infnan): Declare.
+       * io/read.c (convert_infnan): New.
+       (read_f): Use convert_infnan to convert INFs and NANs.
+       * list_read.c (parse_real, read_real): Likewise.
+
+2011-03-19  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libfortran/47439
+       * io/unix.c (tempfile): Work around poor mktemp() implementations.
+
+2011-03-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libfortran/47883
+       * acinclude.m4: Don't use AC_TRY_ macros.
+       * configure.ac: Likewise.
+       * configure: Regenerate.
+
+2011-03-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       PR libfortran/48066
+       * m4/ifunction.m4:  If return array is empty, return.
+       * m4/ifunction_logical.m4:  Likewise.
+       * generated/all_l16.c: Regenerated.
+       * generated/all_l1.c: Regenerated.
+       * generated/all_l2.c: Regenerated.
+       * generated/all_l4.c: Regenerated.
+       * generated/all_l8.c: Regenerated.
+       * generated/any_l16.c: Regenerated.
+       * generated/any_l1.c: Regenerated.
+       * generated/any_l2.c: Regenerated.
+       * generated/any_l4.c: Regenerated.
+       * generated/any_l8.c: Regenerated.
+       * generated/count_16_l.c: Regenerated.
+       * generated/count_1_l.c: Regenerated.
+       * generated/count_2_l.c: Regenerated.
+       * generated/count_4_l.c: Regenerated.
+       * generated/count_8_l.c: Regenerated.
+       * generated/maxloc1_16_i16.c: Regenerated.
+       * generated/maxloc1_16_i1.c: Regenerated.
+       * generated/maxloc1_16_i2.c: Regenerated.
+       * generated/maxloc1_16_i4.c: Regenerated.
+       * generated/maxloc1_16_i8.c: Regenerated.
+       * generated/maxloc1_16_r10.c: Regenerated.
+       * generated/maxloc1_16_r16.c: Regenerated.
+       * generated/maxloc1_16_r4.c: Regenerated.
+       * generated/maxloc1_16_r8.c: Regenerated.
+       * generated/maxloc1_4_i16.c: Regenerated.
+       * generated/maxloc1_4_i1.c: Regenerated.
+       * generated/maxloc1_4_i2.c: Regenerated.
+       * generated/maxloc1_4_i4.c: Regenerated.
+       * generated/maxloc1_4_i8.c: Regenerated.
+       * generated/maxloc1_4_r10.c: Regenerated.
+       * generated/maxloc1_4_r16.c: Regenerated.
+       * generated/maxloc1_4_r4.c: Regenerated.
+       * generated/maxloc1_4_r8.c: Regenerated.
+       * generated/maxloc1_8_i16.c: Regenerated.
+       * generated/maxloc1_8_i1.c: Regenerated.
+       * generated/maxloc1_8_i2.c: Regenerated.
+       * generated/maxloc1_8_i4.c: Regenerated.
+       * generated/maxloc1_8_i8.c: Regenerated.
+       * generated/maxloc1_8_r10.c: Regenerated.
+       * generated/maxloc1_8_r16.c: Regenerated.
+       * generated/maxloc1_8_r4.c: Regenerated.
+       * generated/maxloc1_8_r8.c: Regenerated.
+       * generated/maxval_i16.c: Regenerated.
+       * generated/maxval_i1.c: Regenerated.
+       * generated/maxval_i2.c: Regenerated.
+       * generated/maxval_i4.c: Regenerated.
+       * generated/maxval_i8.c: Regenerated.
+       * generated/maxval_r10.c: Regenerated.
+       * generated/maxval_r16.c: Regenerated.
+       * generated/maxval_r4.c: Regenerated.
+       * generated/maxval_r8.c: Regenerated.
+       * generated/minloc1_16_i16.c: Regenerated.
+       * generated/minloc1_16_i1.c: Regenerated.
+       * generated/minloc1_16_i2.c: Regenerated.
+       * generated/minloc1_16_i4.c: Regenerated.
+       * generated/minloc1_16_i8.c: Regenerated.
+       * generated/minloc1_16_r10.c: Regenerated.
+       * generated/minloc1_16_r16.c: Regenerated.
+       * generated/minloc1_16_r4.c: Regenerated.
+       * generated/minloc1_16_r8.c: Regenerated.
+       * generated/minloc1_4_i16.c: Regenerated.
+       * generated/minloc1_4_i1.c: Regenerated.
+       * generated/minloc1_4_i2.c: Regenerated.
+       * generated/minloc1_4_i4.c: Regenerated.
+       * generated/minloc1_4_i8.c: Regenerated.
+       * generated/minloc1_4_r10.c: Regenerated.
+       * generated/minloc1_4_r16.c: Regenerated.
+       * generated/minloc1_4_r4.c: Regenerated.
+       * generated/minloc1_4_r8.c: Regenerated.
+       * generated/minloc1_8_i16.c: Regenerated.
+       * generated/minloc1_8_i1.c: Regenerated.
+       * generated/minloc1_8_i2.c: Regenerated.
+       * generated/minloc1_8_i4.c: Regenerated.
+       * generated/minloc1_8_i8.c: Regenerated.
+       * generated/minloc1_8_r10.c: Regenerated.
+       * generated/minloc1_8_r16.c: Regenerated.
+       * generated/minloc1_8_r4.c: Regenerated.
+       * generated/minloc1_8_r8.c: Regenerated.
+       * generated/minval_i16.c: Regenerated.
+       * generated/minval_i1.c: Regenerated.
+       * generated/minval_i2.c: Regenerated.
+       * generated/minval_i4.c: Regenerated.
+       * generated/minval_i8.c: Regenerated.
+       * generated/minval_r10.c: Regenerated.
+       * generated/minval_r16.c: Regenerated.
+       * generated/minval_r4.c: Regenerated.
+       * generated/minval_r8.c: Regenerated.
+       * generated/product_c10.c: Regenerated.
+       * generated/product_c16.c: Regenerated.
+       * generated/product_c4.c: Regenerated.
+       * generated/product_c8.c: Regenerated.
+       * generated/product_i16.c: Regenerated.
+       * generated/product_i1.c: Regenerated.
+       * generated/product_i2.c: Regenerated.
+       * generated/product_i4.c: Regenerated.
+       * generated/product_i8.c: Regenerated.
+       * generated/product_r10.c: Regenerated.
+       * generated/product_r16.c: Regenerated.
+       * generated/product_r4.c: Regenerated.
+       * generated/product_r8.c: Regenerated.
+       * generated/sum_c10.c: Regenerated.
+       * generated/sum_c16.c: Regenerated.
+       * generated/sum_c4.c: Regenerated.
+       * generated/sum_c8.c: Regenerated.
+       * generated/sum_i16.c: Regenerated.
+       * generated/sum_i1.c: Regenerated.
+       * generated/sum_i2.c: Regenerated.
+       * generated/sum_i4.c: Regenerated.
+       * generated/sum_i8.c: Regenerated.
+       * generated/sum_r10.c: Regenerated.
+       * generated/sum_r16.c: Regenerated.
+       * generated/sum_r4.c: Regenerated.
+       * generated/sum_r8.c: Regenerated.
+
+2011-03-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/48047
+       * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.
+
+2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/47802
+       * intrinsics/ctime.c (strctime): Use builtins to check localtime_r
+       return type.
+
+2011-03-04  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/47802
+       * intrinsics/ctime.c (strctime): Don't use return value of
+       localtime_r.
+
+2011-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/47567
+       * io/write_float.def (output_float): Move handling of w = 0 to after
+       output rounding. Check for zero and set zero_flag accordingly. Set
+       width according to zero_flag. Add better comments.
+
+2011-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/47778
+       * io/list_read.c (namelist_read): Intialize the error string buffere.
+       If pprev_nl was used during the previous namelist read and the rank
+       was zero, reset the pointer to NULL for the next namelist read.
+
+2011-02-26  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libfortran/45165
+       * unix.c (fallback_access): Fix file descriptor leaks.
+
+2011-02-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable
+       tested in configure.host.
+       * configure: Regenerate.
+
+2011-02-24  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/47802
+       * config.h.in: Regenerated.
+       * configure: Regenerated.
+       * configure.ac: Remove checks for ctime and ctime_r, add check for
+       strftime.
+       * intrinsics/date_and_time.c (localtime_r): Move fallback
+       implementation to time_1.h.
+       * intrinsics/time_1.h (localtime_r): Fallback implementation.
+       * intrinsics/ctime.c: Include time_1.h.
+       (ctime_r): Remove fallback implementation.
+       (strctime): New function.
+       (fdate): Use strctime instead of ctime_r.
+       (fdate_sub): Likewise.
+       (ctime): Likewise.
+       (ctime_sub): Likewise.
+
+2011-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/47878
+       * io/transfer.c (read_sf): Call fbuf_getptr only at the end,
+       and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it.
+
+2011-02-24  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/47802
+       * configure.ac: Add test for POSIX getpwuid_r.
+       * intrinsics/getlog.c (getlog): CPP test for
+       HAVE_POSIX_GETPWUID_R.
+       * config.h.in: Regenerated.
+       * configure: Regenerated.
+
+2011-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/47567
+       * io/write_float.def (output_float): Remove special case handling of
+       zero with width 1.
+
+2011-02-23  Janne Blomqvist  <jb@gcc.gnu.org>
+           Jerry DeLisle    <jvdelisle@gcc.gnu.org>
+
+       PR libfortran/47694
+       * io/fbuf.h (fbuf_getptr): New inline function.
+       * io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan
+       through the string instead of fbuf_read.
+
+2011-02-22  Tobias Burnus  <burnus@net-b.de>
+           Kai-Uwe Eckhardt  <kuehro@gmx.de>
+
+       PR libfortran/47830
+       * intrinsics/c99_functions.c (roundl): Make C valid for
+       HAVE_NEXTAFTERL.
+
+2011-02-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/47567
+       * io/write_float.def (output_float): Adjust width for F0.d to
+       allow space for negative signs on zero.
+
+2011-02-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/47667
+       * io/list_read.c (read_logical): Check for end of line before calling
+       eat_line. (read_integer): Likewise. (parse_real): Don't unget the
+       separator. Check for end of line before calling eat_line.
+       (read_complex): Allow line-end before and after parenthesis and comma.
+       Check for end of line before calling eat_line. (read_real): Check for
+       end of line before calling eat_line.
+
+2011-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libfortran/47757
+       * gfortran.map (GFORTRAN_1.4): Export
+       _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and
+       _gfortran_{cshift0,eoshift{0,2}}_16_char4.
+
+2011-02-15  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/47716
+       PR fortran/47648
+       * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from
+       libquadmath, which uses more features.
+       * configure: Regenerate.
+
+2011-02-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/47642
+       * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of
+       quadmath_flt128tostr.
+       * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead
+       of quadmath_flt128tostr.
+
+2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * Makefile.in: Regenerate.
+       * aclocal.m4: Likewise.
+       * configure: Likewise.
+
+2011-02-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/47567
+       * io/write_float.def (output_float): Eliminate some redundant code.
+       Adjust width for case of F0.X for values of zero and all other values.
+       Expand cases where '*' is set to give cleaner results.
+
+2011-02-05  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/47571
+       * intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c.
+       (weak_gettime): Likewise.
+       (gf_gettime): Change API, move weak_gettime() usage to
+       system_clock.c
+       * intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define.
+       (gf_gettime_mono): New function.
+       (system_clock_4): Use gf_gettime_mono().
+       (system_clock_8): Likewise.
+       * intrinsics/date_and_time.c (date_and_time): Update gf_gettime()
+       usage.
+
+2011-02-02  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/47571
+       * configure: Regenerated.
+       * configure.ac: Don't add librt to LIBS.
+       * intrinsics/time_1.h (weak_gettime): Weakref trickery for
+       clock_gettime().
+       (gf_gettime): Use weak_gettime() instead of clock_gettime().
+
+2011-02-01  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * intrinsics/time_1.h: Include errno.h needed by fallbacks.
+
+2011-01-31  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro.
+
+2011-01-31  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       * configure.ac: Check for clock_gettime().
+       * configure: Regenerated.
+       * config.h.in: Regenerated.
+       * intrinsics/time_1.h (__time_1): Rename to gf_cputime, add
+       times() fallback.
+       (gf_gettime): New function.
+       * intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime.
+       * intrinsics/date_and_time.c (date_and_time): Use gf_gettime.
+       * intrinsics/dtime.c (dtime_sub): Use gf_cputime.
+       * intrinsics/etime.c (etime_sub): Use gf_cputime.
+       * intrinsics/system_clock.c (system_clock_4): Use gf_gettime.
+       (system_clock_8): Use gf_gettime, increase count rate to allow
+       nanosecond precision, remove overflow prone branch.
+
+2011-01-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/47434
+       * io/write_float.def (write_infnan): Use calculate_sign to determine
+       if the sign should be given and check field widths accordingly.
+
+2011-01-29  Kai Tietz  <kai.tietz@onevision.com>
+
+       * intrinsics/ctime.c (ctime_r): Improve implementation.
+
+2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/47431
+       * config.h.in: Regenerated.
+       * configure: Regenerated.
+       * configure.ac: Add check for ctime_r().
+       * intrinsics/ctime.c (ctime_r): Fallback implementation.
+       (fdate): Use ctime_r() instead of ctime().
+       (fdate_sub): Likewise.
+       (ctime): Likewise.
+       (ctime_sub): Likewise.
+
+2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/47432
+       * config.h.in: Regenerated.
+       * configure: Regenerated.
+       * configure.ac: Add check for ttyname_r.
+       * io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype.
+       * io/unix.c (stream_ttyname): Use ttyname_r if available, conform
+       to new prototype.
+       * io/inquire.c (inquire_via_unit): Use changed stream_ttyname.
+       * io/intrinsics.c (ttynam_sub): Likewise.
+       (ttynam): Likewise.
+
+2011-01-27  Janne Blomqvist  <jb@gcc.gnu.org>
+
+       PR libfortran/47491
+       * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common
+       extensions.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+
+2011-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/47285
+       * io/write_float.def (write_infnan): Adjust processor selected width
+       to 3 if NaN.
+
+2011-01-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/47285
+       * io/write_float.def (output_float): Return SUCCESS or FAILURE and use
+       the result to set the padding.
+
 2011-01-26  Kai Tietz  <kai.tietz@onevision.com>
 
        * intrinsics/getlog.c (getlog): Fix label/statement issue.