2015-08-23 Francois-Xavier Coudert PR libfortran/54572 * Makefile.am (libgfortran_la_LDFLAGS): Link in libbacktrace. (AM_CPPFLAGS): Add libbacktrace directories to include paths. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * configure.ac: Remove checks for strtok_r, wait, execve, pipe, and dup2. Remove call to GCC_CHECK_UNWIND_GETIPINFO. * libgfortran.h (full_exe_path, find_addr2line, backtrace): Remove prototypes. (show_backtrace): Add prototype. * runtime/backtrace.c: Rework file entirely. * runtime/compile_options.c (backtrace_handler): Rename backtrace to show_backtrace. (maybe_find_addr2line): Remove function. (set_options): Remove call to maybe_find_addr2line. * runtime/error.c (sys_abort): Rename backtrace to show_backtrace. * runtime/main.c (store_exe_path): Empty function body. (full_exe_path, gfstrtok_r, find_addr2line): Remove functions. (cleanup): Don't free removed variables. * runtime/minimal.c (full_exe_path): Remove function. (set_args): Don't set exe_path. 2015-08-23 Francois-Xavier Coudert PR libfortran/62296 * intrinsics/execute_command_line.c (EXEC_INVALIDCOMMAND): New error code. (cmdmsg_values): New error message. (set_cmdstat): Rework runtime error. (execute_command_line): Handle invalid command line error status. 2015-08-10 Steven G. Kargl PR libfortran/67140 * intrinsics/mvbits.c: Fix build for platforms without c_int128_t. 2015-08-10 Steven G. Kargl PR libfortran/67140 * gfortran.map: Add _gfortran_mvbits_i16. * intrinsics/mvbits.c: Generate mvbits for c_int128_t. 2015-08-09 Francois-Xavier Coudert PR libfortran/66936 * io/unix.c (__MINGW32__): Undefine HAVE_UMASK. 2015-08-07 Francois-Xavier Coudert PR libfortran/66458 * runtime/main.c (init): Only call set_fpu() if requested by user. 2015-08-06 Francois-Xavier Coudert * runtime/compile_options.c (set_options): Fix typos. 2015-08-04 Uros Bizjak * config/fpu-387.h (get_fpu_trap_exceptions): Add temporary variable to improve generated code. 2015-08-04 Francois-Xavier Coudert PR fortran/64022 * ieee/ieee_exceptions.F90: Support all real kinds. * ieee/ieee_arithmetic.F90: Likewise. * ieee/ieee_helper.c (ieee_class_helper_10, ieee_class_helper_16): New functions * gfortran.map (GFORTRAN_1.7): Add entries. 2015-07-29 Uros Bizjak PR libgfortran/66650 * libgfortran.h (GFC_DTYPE_SIZE_MASK): Rewrite to avoid "left shift of negative value" warning. 2015-07-14 Janne Blomqvist PR libfortran/66861 * io/unix.c (compare_file_filename): Verify that u->filename is non-NULL before strcmp. (find_file0): Likewise. 2015-07-06 Francois-Xavier Coudert PR libfortran/40267 * Makefile.am: Remove libgfortranbegin targets. * Makefile.in: Regenerate. * fmain.c: Remove. 2015-04-22 Szabolcs Nagy * acinclude.m4 (GTHREAD_USE_WEAK): Define as 0 for *-*-musl*. * configure: Regenerate. 2015-04-21 Jerry DeLisle PR libgfortran/65234 * io/format.c (parse_format_list): Set the seen_dd flag in all cases where a data descriptor has been seen. 2015-04-21 Jerry DeLisle PR libgfortran/56743 * io/list_read.c (CASE_SEPARATORS): Add case for '!'. (is_separator): Add condition for '!'. (eat_separator): Use notify_std to warn or errord if '!' is encountered before a proper separator. 2015-04-14 Jerry DeLisle PR libgfortran/65089 * io/format.h (free_format): New function to free memory allocated for building format error messages. * io/format.c (format_error): Add checks before freeing memory to avoid potential segfaults and free formatting data when needed on error conditions. Always allocate and NULL terminate the string. * io/transfer.c (st_read_done, st_write_done): Use new free_format function to clean up memory allocations when done. 2015-03-28 Jerry DeLisle PR libgfortran/65596 * io/transfer.c (data_transfer_init): If in namelist mode and delimiter is not specified, set it to DELIM_QUOTE, independent of -std. * io/unit.c (init_units): Set flags.delim to the correct initial value of DELIM_UNSPECIFIED. 2015-03-25 Jerry DeLisle PR libgfortran/65541 * io/write.c (nml_write_obj): Convert '+' to '%' before emitting object names in namelists. 2015-03-22 Jerry DeLisle PR libgfortran/59513 * io/transfer.c (data_transfer_init): Do not error for -std=legacy. 2015-03-16 Jerry DeLisle PR libgfortran/64432 * intrinsics/system_clock.c (system_clock4, system_clock8): Cleanup some whitespace. 2015-03-11 Thomas Schwinge * caf/single.c (caf_runtime_error): Revert 2014-11-28 changes. * runtime/minimal.c (STRERR_MAXSZ): Don't define. (runtime_error_at, sys_abort): Bring more in line with the non-LIBGFOR_MINIMAL code. (runtime_warning_at, internal_error): New functions. 2015-03-11 Janne Blomqvist PR libfortran/65200 * io/open.c (new_unit): Use gf_strerror rather than hardcoding error messages for different errno values. * io/unix.c (regular_file2): Handle EPERM in addition to EACCES. 2015-03-10 Alessandro Fanfarillo Tobias Burnus * caf/libcaf.h (_gfortran_caf_sync_memory): New prototype. * caf/single.c (_gfortran_caf_sync_memory): Implement. (_gfortran_caf_sync_all, _gfortran_caf_sync_image): Add __asm__ __volatile___ ("":::"memory"). 2015-02-10 Jerry DeLisle PR libgfortran/57822 * io/write_float.def (output_float): Apply fix of previous patch to correctly calculate the exponent number of digits and take care of wide character output. 2015-02-09 Jerry DeLisle PR libgfortran/57822 * io/write_float.def (output_float): If doing g0 editing and exponent is zero, do not emit exponent. 2015-02-07 Jerry DeLisle PR libgfortran/60956 * io/fbuf.c (fbuf_flush_list): New function that only flushes if current fbuf position exceeds a limit. * io/fbuf.h: Declare the new function. * io/io.h (enum unit_mode): Add two new modes. * io/list_read.c (list_formatted_read_scalar): Call new function. * io/write.c: Include fbuf.h. (list_formatted_write_scalar): Call new function. 2015-01-24 Janne Blomqvist PR libfortran/64770 * io/unit.c (filename_from_unit): Check that u->filename != NULL before calling strdup. 2015-01-22 Jerry DeLisle PR libgfortran/61933 * io/inquire.c (inquire_via_unit): Set existing to true for any negative unit that is currently connected and any positive units within range of KIND=4 value. The unit value for any out of range case that may occur if the user is using a KIND=8 will have been set to -2 which is reserved and can never be opened, and therefore the unit does not exist. 2015-01-14 Jerry DeLisle PR libgfortran/61933 * io/inquire.c (inquire_via_unit): Set existing to true if a gfc_unit stucture was found for the given unit number. * runtime/error.c (translate_error): Add case for LIBERROR_INQUIRE_INTERNAL_UNIT. 2015-01-05 Jakub Jelinek Update copyright years. 2015-01-02 Tobias Burnus * caf/single.c (_gfortran_caf_co_reduce): New function. * caf/libcaf.h (_gfortran_caf_co_reduce): New prototype. ^L Copyright (C) 2015 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.