aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
AgeCommit message (Collapse)AuthorFilesLines
2015-09-12re PR libfortran/67527 (io.h sanitizer complains on 1 << 31)Francois-Xavier Coudert4-4/+20
PR libfortran/67527 PR libfortran/67535 PR libfortran/67536 * io/io.h: Use unsigned values for 31-bit left shifts. * io/unix.c (buf_read): Do not call memcpy() with NULL pointer arg. * io/write.c (nml_write_obj): Likewise. From-SVN: r227705
2015-09-05PR 53379 Print backtrace on error termination.Janne Blomqvist4-17/+53
2015-09-05 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/53379 * libgfortran.h (exit_error): New prototype. * runtime/error.c (exit_error): New function. (os_error): Call exit_error instead of exit. (runtime_error): Likewise. (runtime_error_at): Likewise. (internal_error): Likewise. (generate_error): Likewise. (notify_std): Likewise. * runtime/stop.c (error_stop_string): Likewise. (error_stop_numeric): Likewise. From-SVN: r227503
2015-09-04libgfortran: Use remove(3) instead of unlink(2) when deleting files.Janne Blomqvist5-16/+11
testsuite: 2015-09-04 Janne Blomqvist <jb@gcc.gnu.org> * gfortran.dg/read_dir.f90: Delete empty directory when closing rather than calling rmdir, cleanup if open fails. libgfortran: 2015-09-04 Janne Blomqvist <jb@gcc.gnu.org> * io/unix.h (delete_file): Remove prototype. * io/unix.c (delete_file): Remove function. * io/close.c (st_close): Replace delete_file and unlink with remove. * io/open.c (already_open): Replace unlink with remove. From-SVN: r227472
2015-09-02PR 67414 Better diagnostics on backtrace failure, gf_strerror bugfixJanne Blomqvist7-56/+113
2015-09-02 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/67414 * io/write.c (gfc_itoa): Move to runtime/string.c. * libgfortran.h (show_backtrace): Make arg bool. (gfc_itoa): New prototype. * runtime/backtrace.c (struct mystate): Change type of try_simple field, add in_signal_handler field. (error_callback): Print out error number, or if not in a signal handler, the error message. (show_backtrace): Change type of arg, change initialization of struct mystate. (backtrace): Call show_backtrace with correct arg type. * runtime/compile_options.c (backtrace_handler): Call with correct arg type. * runtime/error.c (sys_abort): Likewise. (gf_strerror): Handle newlocale() failure. * runtime/string.c (gfc_itoa): Function moved here from io/write.c. From-SVN: r227404
2015-08-31re PR fortran/47571 (undefined reference to clock_gettime in Linux build of ↵Francois-Xavier Coudert5-0/+85
02/01/2011) PR libfortran/47571 * acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Reinstate. * configure.ac: Call LIBGFOR_GTHREAD_WEAK again. * config.h.in: Regenerate. * configure: Regenerate. From-SVN: r227347
2015-08-31re PR fortran/47571 (undefined reference to clock_gettime in Linux build of ↵Francois-Xavier Coudert6-64/+56
02/01/2011) PR libfortran/47571 * acinclude.m4 (LIBGFOR_GTHREAD_WEAK): Remove. (LIBGFOR_CHECK_WEAKREF): New test. * configure.ac: Call LIBGFOR_CHECK_WEAKREF instead of LIBGFOR_GTHREAD_WEAK. * config.h.in: Regenerate. * configure: Regenerate. * intrinsics/system_clock.c: Use SUPPORTS_WEAKREF instead of SUPPORTS_WEAK and GTHREAD_USE_WEAK. From-SVN: r227335
2015-08-29re PR fortran/67367 (Program crashes on READ(IOSTAT=IOS, ...) on directory ↵Jerry DeLisle2-6/+22
OPEN()ed without error) 2015-08-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/67367 * io/unix.c (buf_read): Check for error condition and if found return the error code. From-SVN: r227320
2015-08-29acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT.Francois-Xavier Coudert5-515/+14
* acinclude.m4: Remove LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT. * configure.ac: Remove checks for strcasestr, execl, close, getrlimit, readlink, getppid, powl, erfl, j0l, j1l, y0l, y1l, tgammal, and lgammal. * config.h.in: Regenerate. * configure: Regenerate. From-SVN: r227319
2015-08-29* io/unix.c (min): Remove unused macro.Francois-Xavier Coudert2-11/+4
From-SVN: r227317
2015-08-28re PR fortran/53668 (Cray-pointer diagnostic enhancement)Francois-Xavier Coudert2-0/+9
PR fortran/53668 * intrinsic.c (add_functions, add_subroutines): Remove resolution functions for FREE and MALLOC. * intrinsic.h (gfc_resolve_malloc, gfc_resolve_free): Remove. * iresolve.c (gfc_resolve_malloc, gfc_resolve_free): Remove. * trans-intrinsic.c (conv_intrinsic_free, gfc_conv_intrinsic_malloc): New functions. * intrinsics/malloc.c: Adapt comments. From-SVN: r227311
2015-08-28[Patch] Add to the libgfortran/newlib bodge to "detect" ftruncate support in ↵James Greenhalgh3-2/+18
ARM/AArch64/SH * configure.ac: Auto-detect newlib function support unless we know there are issues when configuring for a host. * configure: Regenerate. From-SVN: r227301
2015-08-26re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument)Francois-Xavier Coudert10-9/+179
PR fortran/29600 * Makefile.am: Add generated/shape_i{1,2}.c * Makefile.in: Regenerate. * generated/shape_i1.c: New generated file. * generated/shape_i2.c: New generated file. * generated/shape_i4.c: Regenerate. * generated/shape_i8.c: Regenerate. * generated/shape_i16.c: Regenerate. * gfortran.map (GFORTRAN_1.7): Add _gfortran_shape_{1,2}. * m4/shape.m4: Fix parameter type. * gfortran.dg/shape_8.f90: New test. From-SVN: r227210
2015-08-26libgfortran.h (show_variables): Remove prototype.Francois-Xavier Coudert4-252/+74
* libgfortran.h (show_variables): Remove prototype. * runtime/environ.c (print_spaces, var_source, show_integer, show_boolean, show_sep, show_string): Remove functions. * runtime/main.c (init): Remove dead code. From-SVN: r227208
2015-08-25unit.c (get_internal_unit): Make default sign mode unspecified.Francois-Xavier Coudert2-4/+9
* io/unit.c (get_internal_unit): Make default sign mode unspecified. (init_units): Make default sign mode unspecified. From-SVN: r227178
2015-08-25* libgfortran.h (check_buffered): Remove unused prototype.Francois-Xavier Coudert2-3/+4
From-SVN: r227174
2015-08-24re PR libfortran/57496 (I/O: WRITE(*,*) HUGE(0._10) gives SIGFPE with ↵Francois-Xavier Coudert2-31/+10
-ffpe-trap=overflow) PR libfortran/57496 * io/write_float.def: Use built-in type-generic functions defined by libgfortran.h for isfinite, isnan, and signbit. From-SVN: r227136
2015-08-23re PR libfortran/54572 (Use libbacktrace library)Francois-Xavier Coudert13-498/+137
PR libfortran/54572 * Makefile.def: Make libgfortran depend on libbacktrace. * Makefile.in: Regenerate. * config-lang.in: Add libbacktrace to target_libs. * 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. * gfortran.dg/backtrace_1.f90: New test. From-SVN: r227106
2015-08-23re PR libfortran/62296 (EXECUTE_COMMAND_LINE not F2008 conforming)François-Xavier Coudert2-4/+28
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. * gfortran.dg/execute_command_line_2.f90: New test. From-SVN: r227105
2015-08-10re PR libfortran/67140 (undefined reference to _gfortran_mvbits_i16)Steven G. Kargl2-0/+7
2015-08-10 Steven G. Kargl <kargl@gcc.gnu.org> PR libfortran/67140 * intrinsics/mvbits.c: Fix build for paltforms without c_int128_t. From-SVN: r226769
2015-08-10[multiple changes]Steven G. Kargl3-0/+15
2015-08-10 Steven G. Kargl <kargl@gcc.gnu.org> PR libfortran/67140 * gfortran.map: Add _gfortran_mvbits_i16. * intrinsics/mvbits.c: Generate mvbits for c_int128_t. 2015-08-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR libfortran/67140 * gfortran.dg/pr67140.f90: New test. From-SVN: r226764
2015-08-09re PR libfortran/66936 (io/unix.c gratuitously uses S_IRWXG and S_IRWXO on ↵Francois-Xavier Coudert2-0/+11
the basis that umask() is available) PR libfortran/66936 * io/unix.c (__MINGW32__): Undefine HAVE_UMASK. From-SVN: r226750
2015-08-07re PR libfortran/66458 (Loading libgfortran.so changes the FPU exception flags)Francois-Xavier Coudert2-1/+10
PR libfortran/66458 * runtime/main.c (init): Only call set_fpu() if requested by user. From-SVN: r226725
2015-08-06* runtime/compile_options.c (set_options): Fix typos.Francois-Xavier Coudert2-2/+6
From-SVN: r226686
2015-08-04* config/fpu-387.h: Remove unwanted whitespace.Uros Bizjak1-1/+1
From-SVN: r226550
2015-08-04fpu-387.h (get_fpu_trap_exceptions): Add temporary variable to improve ↵Uros Bizjak2-18/+26
generated code. * config/fpu-387.h (get_fpu_trap_exceptions): Add temporary variable to improve generated code. From-SVN: r226549
2015-08-04re PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 ↵Francois-Xavier Coudert5-181/+646
and kind=16 REAL variables) PR fortran/64022 * simplify.c (gfc_simplify_ieee_selected_real_kind): Extend IEEE support to all real kinds. * 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. * gfortran.dg/ieee/ieee_7.f90: Adjust test. * gfortran.dg/ieee/large_1.f90: New test. From-SVN: r226548
2015-07-29re PR libfortran/66650 (libgfortran: warning: left shift of negative value ↵Uros Bizjak2-2/+7
[-Wshift-negative-value]) PR libgfortran/66650 * libgfortran.h (GFC_DTYPE_SIZE_MASK): Rewrite to avoid "left shift of negative value" warning. From-SVN: r226355
2015-07-14PR 66861 Fix null pointer crash on mingw.Janne Blomqvist2-2/+12
2015-07-14 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/66861 * io/unix.c (compare_file_filename): Verify that u->filename is non-NULL before strcmp. (find_file0): Likewise. From-SVN: r225788
2015-07-06re PR libfortran/40267 (Eventually get rid of libgfortranbegin.a)Francois-Xavier Coudert4-95/+23
PR libfortran/40267 * Makefile.am: Remove libgfortranbegin targets. * Makefile.in: Regenerate. * fmain.c: Remove. From-SVN: r225445
2015-04-22libstdc++, libgfortran gthr workaround for muslSzabolcs Nagy3-2/+7
On behalf of szabolcs.nagy@arm.com [libstdc++-v3/] 2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define. * configure.host (os_include_dir): Set to "os/generic" for linux-musl*. [libgfortran/] 2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> * acinclude.m4 (GTHREAD_USE_WEAK): Define as 0 for *-*-musl*. * configure: Regenerate. From-SVN: r222329
2015-04-21re PR libfortran/65234 (Output descriptor (*(1E15.7)) not accepted)Jerry DeLisle2-2/+17
2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/65234 * io/format.c (parse_format_list): Set the seen_dd flag in all cases where a data descriptor has been seen. From-SVN: r222274
2015-04-21re PR fortran/56743 (Namelist bug with comment and no blank)Jerry DeLisle2-2/+13
2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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. From-SVN: r222271
2015-04-15re PR fortran/65089 (FAIL: gfortran.dg/io_real_boz(2|_[45]).f90 when tested ↵Jerry DeLisle4-19/+67
with -fsanitize=address) 2015-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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. From-SVN: r222111
2015-03-28re PR fortran/65596 (NAMELIST bug with f2003: reads too far)Jerry DeLisle3-3/+11
2015-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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. From-SVN: r221753
2015-03-26re PR fortran/65541 (namelist regression)Jerry DeLisle2-1/+13
2015-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/65541 * io/write.c (nml_write_obj): Convert '+' to '%' before emitting object names in namelists. From-SVN: r221682
2015-03-22re PR libfortran/59513 (Fortran runtime error: Sequential READ or WRITE not ↵Jerry DeLisle2-1/+8
allowed after EOF marker, possibly use REWIND or BACKSPACE) 2015-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/59513 * io/transfer.c (data_transfer_init): Do not error for -std=legacy. From-SVN: r221572
2015-03-17re PR fortran/64432 (SYSTEM_CLOCK(COUNT_RATE=rate) wrong result for ↵Jerry DeLisle2-5/+15
integer(4)::rate) 2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/64432 * intrinsics/system_clock.c (system_clock4, system_clock8): Cleanup some whitespace. From-SVN: r221472
2015-03-11libgfortran LIBGFOR_MINIMAL enhancements.Thomas Schwinge3-5/+64
Based on GCC trunk r220892, for nvptx-none: === gfortran Summary === # of expected passes [-31320-]{+32117+} # of unexpected failures [-7222-]{+6821+} # of expected failures 78 # of unresolved testcases [-6441-]{+6158+} # of untested testcases [-432-]{+391+} # of unsupported tests 639 libgfortran/ * 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. From-SVN: r221363
2015-03-11PR 65200 Handle EPERM in addition to EACCES.Janne Blomqvist3-28/+13
gcc/fortran ChangeLog: 2015-03-11 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/65200 * gfortran.texi: Document behavior when opening files without explicit ACTION= specifier. libgfortran ChangeLog: 2015-03-11 Janne Blomqvist <jb@gcc.gnu.org> 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. gcc/testsuite ChangeLog: 2015-03-11 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/65200 * gfortran.dg/open_errors.f90: Update checks for iomsg string. * gfortran.dg/open_new_segv.f90: Fix error message pattern. From-SVN: r221361
2015-03-10trans.h (caf_sync_memory): New function decl tree.Alessandro Fanfarillo3-0/+22
2015-03-10 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> Tobias Burnus <burnus@net-b.de> * trans.h (caf_sync_memory): New function decl tree. * trans-decl.c (gfc_build_builtin_function_decls): Define it. (create_main_function): Don't call sync_synchronize and leave it to the CAF library. * trans-stmt.c (gfc_trans_stop): Ditto. (gfc_trans_sync): Ditto; add call library call for sync memory. * gfortran.dg/coarray_sync_memory.f90: New. * 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"). Co-Authored-By: Tobias Burnus <burnus@net-b.de> From-SVN: r221329
2015-02-11re PR fortran/57822 (I/O: "(g0)" wrongly prints "E+0000")Jerry DeLisle2-2/+9
2015-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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. From-SVN: r220606
2015-02-10re PR fortran/57822 (I/O: "(g0)" wrongly prints "E+0000")Jerry DeLisle2-1/+7
2015-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/57822 * io/write_float.def (output_float): If doing g0 editing and exponent is zero, do not emit exponent. From-SVN: r220564
2015-02-07re PR fortran/60956 (error reading (and writing) large text files in gfortran)Jerry DeLisle6-1/+54
2015-02-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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. From-SVN: r220505
2015-01-24PR libfortran/64770 Segfault when trying to open existing file with ↵Janne Blomqvist2-1/+7
status="new". libgfortran ChangeLog: 2015-01-24 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/64770 * io/unit.c (filename_from_unit): Check that u->filename != NULL before calling strdup. testsuite ChangeLog: 2015-01-24 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/64770 * gfortran.dg/open_new_segv.f90: New test. From-SVN: r220086
2015-01-23re PR fortran/61933 (Inquire on internal units)Jerry DeLisle2-2/+12
2015-01-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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. From-SVN: r220024
2015-01-15re PR fortran/61933 (Inquire on internal units)Jerry DeLisle3-12/+16
2015-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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. From-SVN: r219631
2015-01-05Update copyright years.Jakub Jelinek674-673/+677
From-SVN: r219188
2015-01-02single.c (_gfortran_caf_co_reduce): New function.Tobias Burnus4-774/+801
2015-01-02 Tobias Burnus <burnus@net-b.de> * caf/single.c (_gfortran_caf_co_reduce): New function. * caf/libcaf.h (_gfortran_caf_co_reduce): New prototype. 2015-01-02 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray/collectives_4.f90: New. From-SVN: r219148
2014-11-28Add support for a minimal version of libgfortran for accelerator targets.Bernd Schmidt8-408/+690
* Makefile.am (AM_CFLAGS): Add -DLIBGFOR_MINIMAL if LIBGFOR_MINIMAL. (gfor_io_src, gfor_heper_src, gfor_src): Split into minimal and always included sources. * Makefile.in: Regenerate. * configure.ac (LIBGFOR_MINIMAL): New AM_CONDITIONAL. * configure: Regenerate. * caf/single.c (caf_runtime_error): Don't print messages if LIBGFOR_MINIMAL. * runtime/compile_options.c (fatal_error_in_progress, show_signal, backtrace_handler, maybe_find_addr2line): Guard with !defined LIBGFOR_MINIMAL. (set_options): Likewise for the backtrace code. * runtime/minimal.c: New file. From-SVN: r218170
2014-11-25env.c (getenv): Remove unused variable res_len.Uros Bizjak2-1/+4
* intrinsics/env.c (getenv): Remove unused variable res_len. From-SVN: r218057