summaryrefslogtreecommitdiff
path: root/libgfortran
Commit message (Collapse)AuthorAgeFilesLines
* * intrinsics/access.c: Include <stdlib.h>.mpolacek2014-11-139-0/+19
| | | | | | | | | | | | | * intrinsics/chdir.c: Likewise. * intrinsics/chmod.c: Likewise. * intrinsics/link.c: Likewise. * intrinsics/perror.c: Likewise. * intrinsics/rename.c: Likewise. * intrinsics/symlnk.c: Likewise. * intrinsics/unlink.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217514 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 60324 Unbounded stack allocations in libgfortran.jb2014-11-1324-295/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-11-13 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/60324 * configure: Regenerated. * configure.ac (AM_CFLAGS): Add Werror=vla. * libgfortran.h (gfc_alloca): Remove macro. (fc_strdup_notrim): New prototype. * intrinsics/access.c (access_func): Use fc_strdup rather than stack allocation. * intrinsics/chdir.c (chdir_i4_sub): Likewise. (chdir_i8_sub): Likewise. * intrinsics/chmod.c (chmod_internal): New function, move logic here. (chmod_func): Call chmod_internal. * intrinsics/env.c (getenv): Use fc_strdup rather than stack allocation. (get_environment_variable_i4): Likewise. * intrinsics/execute_command_line.c (execute_command_line): Likewise. * intrinsics/hostnm.c (hostnm_0): New function, use static buffer rather than VLA. (hostnm_i4_sub): Call hostnm_0. (hostnm_i8_sub): Likewise. (hostnm): Likewise. * intrinsics/link.c (link_internal): New function, use fc_strdup rather than stack allocation. (link_i4_sub): Call link_internal. (link_i8_sub): Likewise. (link_i4): Likewise. (link_i8): Likewise. * intrinsics/perror.c (perror_sub): Use fc_strdup rather than stack allocation. * intrinsics/random.c (random_seed_i4): Use static buffer rather than VLA, use _Static_assert to make sure it's big enough. * intrinsics/rename.c (rename_internal): New function, use fc_strdup rather than stack allocation. (rename_i4_sub): Call rename_internal. (rename_i8_sub): Likewise. (rename_i4): Likewise. (rename_i8): Likewise. * intrinsics/stat.c (stat_i4_sub_0): Use fc_strdup rather than stack allocation. (stat_i8_sub_0): Likewise. * intrinsics/symlink.c (symlnk_internal): New function, use fc_strdup rather than stack allocation. (symlnk_i4_sub): Call symlnk_internal. (symlnk_i8_sub): Likewise. (symlnk_i4): Likewise. (symlnk_i8): Likewise. * intrinsics/system.c (system_sub): Use fc_strdup rather than stack allocation. * intrinsics/unlink.c (unlink_i4_sub): Likewise. * io/file_pos.c (READ_CHUNK): Make it a macro rather than variable. * io/list_read.c (nml_get_obj_data): Use fixed stack buffer, fall back to xmalloc/free for large sizes. * io/read.c (read_f): Likewise. * io/transfer.c (MAX_READ): Make it a macro rather than variable. (WRITE_CHUNK): Likewise. * io/write_float.def (write_float): Use fixed stack buffer, fall back to xmalloc/free for large sizes. * runtime/string.c (fc_strdup_notrim): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217480 138bc75d-0d04-0410-961f-82ee72b054a4
* toplevel:fxcoudert2014-11-112-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * libtool.m4: Fix globbing of darwin versions. boehm-gc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. gcc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libatomic/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libbacktrace/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libcc1/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libcilkrts/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libffi/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libgfortran/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libgomp/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libitm/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libobjc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libquadmath/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libsanitizer/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libssp/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libstdc++-v3/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libvtv/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. lto-plugin/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libjava/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libjava/classpath/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. zlib/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217366 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 47007 and 61847 Locale failures in libgfortran.jb2014-11-108-18/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-11-10 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/47007 PR libfortran/61847 * config.h.in: Regenerated. * configure: Regenerated. * configure.ac (AC_CHECK_HEADERS_ONCE): Check for xlocale.h. (AC_CHECK_FUNCS_ONCE): Check for newlocale, freelocale, uselocale, strerror_l. * io/io.h (locale.h): Include. (xlocale.h): Include if present. (c_locale): New variable. (old_locale): New variable. (old_locale_ctr): New variable. (old_locale_lock): New variable. (st_parameter_dt): Add old_locale member. * io/transfer.c (data_transfer_init): Set locale to "C" if doing formatted transfer. (finalize_transfer): Reset locale to previous. * io/unit.c (c_locale): New variable. (old_locale): New variable. (old_locale_ctr): New variable. (old_locale_lock): New variable. (init_units): Init c_locale, init old_locale_lock. (close_units): Free c_locale. * runtime/error.c (locale.h): Include. (xlocale.h): Include if present. (gf_strerror): Use strerror_l if available. Reset locale to LC_GLOBAL_LOCALE for strerror_r branch. 2014-11-10 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/47007 PR libfortran/61847 * gfortran.texi: Add note about locale issues to thread-safety section. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217273 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 63589 Fix splitting of PATH in find_addr2line.jb2014-10-205-19/+51
| | | | | | | | | | | | | | | 2014-10-20 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/63589 * configure.ac: Check for strtok_r. * runtime/main.c (gfstrtok_r): Fallback implementation of strtok_r. (find_addr2line): Use strtok_r to split PATH. * config.h.in: Regenerated. * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216449 138bc75d-0d04-0410-961f-82ee72b054a4
* * f95-lang.c (gfc_init_builtin_functions): Add more floating-pointfxcoudert2014-10-093-321/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | built-ins. * mathbuiltins.def (OTHER_BUILTIN): Define built-ins for logb, remainder, rint and signbit. * trans-decl.c (save_fp_state, restore_fp_state): Move to trans-intrinsic.c (gfc_generate_function_code): Use new names for these two functions. * trans-expr.c (gfc_conv_function_expr): Catch IEEE functions to emit code from the front-end. * trans-intrinsic.c (gfc_save_fp_state, gfc_restore_fp_state, conv_ieee_function_args, conv_intrinsic_ieee_builtin, conv_intrinsic_ieee_is_normal, conv_intrinsic_ieee_is_negative, conv_intrinsic_ieee_logb_rint, conv_intrinsic_ieee_rem, conv_intrinsic_ieee_next_after, conv_intrinsic_ieee_scalb, conv_intrinsic_ieee_copy_sign, gfc_conv_ieee_arithmetic_function): New functions. * trans.h (gfc_conv_ieee_arithmetic_function, gfc_save_fp_state, gfc_restore_fp_state): New prototypes. * ieee/ieee_helper.c (ieee_is_finite_*, ieee_is_nan_*, ieee_is_negative_*, ieee_is_normal_*, ieee_copy_sign_*, ieee_unordered_*, ieee_logb_*, ieee_rint_*, ieee_scalb_*, ieee_rem_*, ieee_next_after_*): Remove functions. * gfortran.map (GFORTRAN_1.5): Remove corresponding symbols. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216036 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-10-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2014-10-052-0/+8
| | | | | | | | | | PR libgfortran/63460 * io/unit.c (init_units): Initialize the DELIM flag to UNSPECIFIED for the STDIN unit so that the flag is correctly set later. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215908 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix typo in ChangeLogjb2014-09-301-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215743 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix -Wmaybe-uninitialized warnings.jb2014-09-3016-0/+67
| | | | | | | | | | | | | 2014-10-01 Janne Blomqvist <jb@gcc.gnu.org> * intrinsics/pack_generic.c (pack_s_internal): Fix -Wmaybe-uninitialized warning. * m4/unpack.m4 (unpack0_'rtype_code`): Likewise. (unpack1_'rtype_code`): Likewise. * generated/unpack_*.m4: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215742 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -Werror=implicit-function-declaration to AM_CFLAGS.jb2014-09-305-11/+50
| | | | | | | | | | | | | 2014-09-30 Janne Blomqvist <jb@gcc.gnu.org> * configure.ac (AM_CFLAGS): Add -Werror=implicit-function-declaration. * Makefile.in: Regenerated. * aclocal.m4: Regenerated. * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215741 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-09-25 Tobias Burnus <burnus@net-b.de>burnus2014-09-253-8/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/fortran * check.c (check_co_collective): Renamed from * check_co_minmaxsum, handle co_reduce. (gfc_check_co_minmax, gfc_check_co_sum): Update call. (gfc_check_co_broadcast, gfc_check_co_reduce): New. * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_BROADCAST and GFC_ISYM_CO_REDUCE. * intrinsic.c (add_subroutines): Add co_reduce and co_broadcast. * intrinsic.h (gfc_check_co_broadcast, gfc_check_co_reduce): Add proto types. * intrinsic.texi (CO_BROADCAST): Add. * trans.h (gfor_fndecl_co_broadcast): New. * trans-decl.c (gfor_fndecl_co_broadcast): Ditto. (gfc_build_builtin_function_decls): Add decl for it, * trans-intrinsic.c (conv_co_collective): Renamed from conv_co_minmaxsum. Handle co_reduce. (gfc_conv_intrinsic_subroutine): Handle co_reduce. gcc/testsuite/ * gfortran.dg/coarray/collectives_3.f90: New. * gfortran.dg/coarray_collectives_9.f90: New. * gfortran.dg/coarray_collectives_10.f90: New. * gfortran.dg/coarray_collectives_11.f90: New. * gfortran.dg/coarray_collectives_12.f90: New. libgfortran/ * caf/libcaf.h (_gfortran_caf_co_broadcast): New prototype. * caf/single.c (_gfortran_caf_co_broadcast): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215579 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix indentationjb2014-09-171-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215340 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/62768 Use gfc_unit.filename also when HAVE_TTYNAME{_R} is not ↵jb2014-09-172-2/+8
| | | | | | | | | | | | | defined. 2014-09-18 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/62768 * io/inquire.c (inquire_via_unit): Use gfc_unit.filename also when HAVE_TTYNAME{_R} is not defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215338 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/62768 Handle filenames with embedded null characters.jb2014-09-167-46/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | testsuite ChangeLog: 2014-09-17 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/62768 * gfortran.dg/filename_null.f90: New test. libgfortran ChangeLog: 2014-09-17 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/62768 * io/io.h (gfc_unit): Store C string for the filename. * io/close.c (st_close): Use gfc_unit.filename. * io/inquire.c (inquire_via_unit): Likewise. * io/open.c (new_unit): Likewise. (already_open): Likewise, unlink file before freeing filename. * io/unit.c (init_units): Likewise. (close_unit_1): Likewise. (filename_from_unit): Likewise. * io/unix.c (compare_file_filename): Likewise. (find_file0): Likewise. (delete_file): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215307 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix pad status check.jb2014-09-092-1/+6
| | | | | | | | | | 2014-09-10 Janne Blomqvist <jb@gcc.gnu.org> * io/transfer.c (read_block_form): Fix pad status check (found by Thomas Schwinge with -Wlogical-not-parentheses). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215092 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-31 Tobias Burnus <burnus@net-b.de>burnus2014-08-313-7/+177
| | | | | | | | | | | | | | | | | | | | | | | | gcc/fortran/ * trans-decl.c (gfc_build_builtin_function_decls): Add may_require_tmp dummy argument. * trans-intrinsic.c (gfc_conv_intrinsic_caf_get, conv_caf_send): Handle may_require_tmp argument. (gfc_conv_intrinsic_function): Update call. * gfortran.texi (_gfortran_caf_send, _gfortran_caf_get, _gfortran_caf_sendget): Update interface description. gcc/testsuite/ * gfortran.dg/coarray_lib_comm_1.f90: New. libgfortran/ * caf/libcaf.h (_gfortran_caf_send, _gfortran_caf_get, _gfortran_caf_sendget): Update prototype. * caf/single.c (_gfortran_caf_send, _gfortran_caf_get, _gfortran_caf_sendget): Handle may_require_tmp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214764 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-20 Steven G. Kargl <kargl@gcc.gnu.org>kargl2014-08-206-5/+14
| | | | | | | | | | | | | PR libgfortran/62188 * m4/bessel.m4: Avoid indexing off the end of an array. * generated/bessel_r10.c: Regenerated. * generated/bessel_r16.c: Ditto. * generated/bessel_r4.c: Ditto. * generated/bessel_r8.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214229 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran/burnus2014-08-143-16/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-08-14 Tobias Burnus <burnus@net-b.de> * gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL. (_gfortran_caf_register): Update for locking/critical. (_gfortran_caf_lock, _gfortran_caf_unlock): Add. * resolve.c (resolve_critical): New. (gfc_resolve_code): Call it. * trans-decl.c (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove. (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add. (gfc_build_builtin_function_decls): Remove critical, assign locking declarations. (generate_coarray_sym_init): Handle locking and critical variables. * trans-stmt.c (gfc_trans_critical): Add calls to lock/unlock libcaf functions. * trans.h (gfc_coarray_type): Update locking, add critical enum values. (gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical): Remove. (gfor_fndecl_caf_lock, gfor_fndecl_caf_unlock): Add. libgfortran/ 2014-08-14 Tobias Burnus <burnus@net-b.de> * caf/libcaf.h (caf_register_t): Update for critical. (_gfortran_caf_critical, _gfortran_caf_end_critical): Remove. (_gfortran_caf_lock, _gfortran_caf_unlock): Add. * caf/single.c (_gfortran_caf_register): Handle locking variables. (_gfortran_caf_sendget): Re-name args for consistency. (_gfortran_caf_lock, _gfortran_caf_unlock): Add. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213979 138bc75d-0d04-0410-961f-82ee72b054a4
* * runtime/memory.c (xmallocarray): Avoid division for the common case.jakub2014-08-042-1/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213593 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-07-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2014-07-202-10/+20
| | | | | | | | | | | PR libgfortran/61632 * io/format.c (format_error): Avoid invalid string pointer by using the fortran string length values to generate error string. (parse_format): Allocate the null terminator for the format string. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212875 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-07-12 Tobias Burnus <burnus@net-b.de>burnus2014-07-123-0/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/fortran/ * libgfortran.h (libcaf_atomic_codes): Add. * trans-decl.c (gfor_fndecl_caf_atomic_def, gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas, gfor_fndecl_caf_atomic_op): New variables. (gfc_build_builtin_function_decls): Initialize them. * trans.h (gfor_fndecl_caf_atomic_def, gfor_fndecl_caf_atomic_ref, gfor_fndecl_caf_atomic_cas, gfor_fndecl_caf_atomic_op): New variables. * trans-intrinsic.c (conv_intrinsic_atomic_op, conv_intrinsic_atomic_ref, conv_intrinsic_atomic_cas): Add library calls with -fcoarray=lib. libgfortran/ * caf/libcaf.h (_gfortran_caf_atomic_define, _gfortran_caf_atomic_ref, _gfortran_caf_atomic_op, _gfortran_caf_atomic_cas): New prototypes. * caf/single.c (_gfortran_caf_atomic_define, _gfortran_caf_atomic_ref, _gfortran_caf_atomic_op, _gfortran_caf_atomic_cas): New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212484 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/fpu-*.h (get_fpu_rounding_mode, set_fpu_rounding_mode,fxcoudert2014-07-105-25/+20
| | | | | | | support_fpu_rounding_mode): Clean up, mark unreachable code as such. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212423 138bc75d-0d04-0410-961f-82ee72b054a4
* * libgfortran.h (support_fpu_underflow_control,fxcoudert2014-07-098-27/+259
| | | | | | | | | | | | | get_fpu_underflow_mode, set_fpu_underflow_mode): New prototypes. * config/fpu-*.h (support_fpu_underflow_control, get_fpu_underflow_mode, set_fpu_underflow_mode): New functions. * ieee/ieee_arithmetic.F90: Support underflow control. * gfortran.dg/ieee/underflow_1.f90: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212407 138bc75d-0d04-0410-961f-82ee72b054a4
* Use FP_RN etc. unconditionallyro2014-07-082-42/+6
| | | | | | | | * config/fpu-sysv.h (get_fpu_rounding_mode): Use FP_RN, FP_RP, FP_RM, FP_RZ unconditionally. (set_fpu_rounding_mode): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212350 138bc75d-0d04-0410-961f-82ee72b054a4
* * libgfortran.h: Assume __GNUC__.fxcoudert2014-07-072-6/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212328 138bc75d-0d04-0410-961f-82ee72b054a4
* * runtime/stop.c: Use C11 _Noreturn.fxcoudert2014-07-074-23/+26
| | | | | | | | | * libgfortran.h: Use C11 _Noreturn in prototypes. Move REALPART, IMAGPART and COMPLEX_ASSIGN macros... * intrinsics/c99_functions.c: ... here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212327 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h,fxcoudert2014-07-075-30/+25
| | | | | | | config/fpu-glibc.h: Use static assertions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212323 138bc75d-0d04-0410-961f-82ee72b054a4
* Restore Solaris/SPARC bootstrapro2014-07-054-0/+29
| | | | | | | * configure, config.h.in: Regenerate. * config/fpu-sysv.h: Include <assert.h>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212307 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/fpu-sysv.h (void set_fpu): Remove stalled comment.uros2014-07-021-1/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212235 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/fpu-glibc.h: Fix comment about FE_DENORMAL.fxcoudert2014-07-022-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212226 138bc75d-0d04-0410-961f-82ee72b054a4
* libgfortran/ChangeLog:uros2014-07-024-1/+17
| | | | | | | | | | | | | | | | | * configure.host (ieee_flags): Add -mieee for alpha*. * config/fpu-glibc.h (support_fpu_rounding_mode): Correctly handle GFC_FPE_UPWARD, GFC_FPE_DOWNWARD and GFC_FPE_TOWARDZERO. * config/fpu-aix.h (support_fpu_rounding_mode): Ditto. testsuite/ChangeLog: * gfortran.dg/ieee/ieee_1.F90 (dg-additional-options): Remove -O0. * gfortran.dg/ieee/ieee_rounding_1.f90 (dg-additional-options): Add. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212224 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/fpu-387.h (my_fenv_t): Amend structure so it also worksfxcoudert2014-06-292-2/+6
| | | | | | | on mingw32. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212126 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-06-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2014-06-293-4/+12
| | | | | | | | | | | PR libgfortran/61640 * io/list_read.c (next_char_internal): Adjust the read length to a single wide character. (eat_spaces): Add missing paren. * io/unix.c (mem_read4): Use the correct mem_alloc function for wide character internal reads. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212118 138bc75d-0d04-0410-961f-82ee72b054a4
* PR fortran/29383fxcoudert2014-06-2817-190/+2924
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/fortran/ * gfortran.h (gfc_simplify_ieee_selected_real_kind): New prototype. * libgfortran.h (GFC_FPE_*): Use simple integer values, valid in both C and Fortran. * expr.c (gfc_check_init_expr): Simplify IEEE_SELECTED_REAL_KIND. * simplify.c (gfc_simplify_ieee_selected_real_kind): New function. * module.c (mio_symbol): Keep track of symbols which came from intrinsic modules. (gfc_use_module): Keep track of the IEEE modules. * trans-decl.c (gfc_get_symbol_decl): Adjust code since we have new intrinsic modules. (gfc_build_builtin_function_decls): Build decls for ieee_procedure_entry and ieee_procedure_exit. (is_from_ieee_module, is_ieee_module_used, save_fp_state, restore_fp_state): New functions. (gfc_generate_function_code): Save and restore floating-point state on procedure entry/exit, when IEEE modules are used. * intrinsic.texi: Document the IEEE modules. libgfortran/ * configure.host: Add checks for IEEE support, rework priorities. * configure.ac: Define IEEE_SUPPORT, check for fpsetsticky and fpresetsticky. * configure: Regenerate. * Makefile.am: Build new ieee files, install IEEE_* modules. * Makefile.in: Regenerate. * gfortran.map (GFORTRAN_1.6): Add new symbols. * libgfortran.h (get_fpu_trap_exceptions, set_fpu_trap_exceptions, support_fpu_trap, set_fpu_except_flags, support_fpu_flag, support_fpu_rounding_mode, get_fpu_state, set_fpu_state): New prototypes. * config/fpu-*.h (get_fpu_trap_exceptions, set_fpu_trap_exceptions, support_fpu_trap, set_fpu_except_flags, support_fpu_flag, support_fpu_rounding_mode, get_fpu_state, set_fpu_state): New functions. * ieee/ieee_features.F90: New file. * ieee/ieee_exceptions.F90: New file. * ieee/ieee_arithmetic.F90: New file. * ieee/ieee_helper.c: New file. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_fortran_ieee): New function. * gfortran.dg/ieee/ieee.exp: New file. * gfortran.dg/ieee/ieee_1.F90: New file. * gfortran.dg/ieee/ieee_2.f90: New file. * gfortran.dg/ieee/ieee_3.f90: New file. * gfortran.dg/ieee/ieee_4.f90: New file. * gfortran.dg/ieee/ieee_5.f90: New file. * gfortran.dg/ieee/ieee_6.f90: New file. * gfortran.dg/ieee/ieee_7.f90: New file. * gfortran.dg/ieee/ieee_rounding_1.f90: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212102 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-06-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2014-06-272-29/+25
| | | | | | | | | | PR libgfortran/61499 * io/list_read.c (eat_spaces): Use a 'for' loop instead of 'while' loop to skip the loop if there are no bytes left in the string. Only seek if actual spaces can be skipped. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212059 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-06-25 Tobias Burnus <burnus@net-b.de>burnus2014-06-252-75/+389
| | | | | | | | | | | | | | | | | | | | | | fortran/ * resolve.c (resolve_ordinary_assign): Don't invoke caf_send when assigning a coindexed RHS scalar to a noncoindexed LHS array. * trans-intrinsic.c (conv_caf_send): Do numeric type conversion for a noncoindexed scalar RHS. gcc/testsuite/ * gfortran.dg/coarray/coindexed_1.f90: New. libgfortran/ * caf/single.c (assign_char4_from_char1, * assign_char1_from_char4, convert_type): New static functions. (_gfortran_caf_get, _gfortran_caf_send): Use them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211993 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran/burnus2014-06-192-3/+8
| | | | | | | | | | | | | | | | | | | | | | | 2014-06-19 Tobias Burnus <burnus@net-b.de> * trans-intrinsic.c (conv_co_minmaxsum): Fix argument passing. gcc/testsuite/ 2014-06-19 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray/collectives_2.f90: Extend and make valid. libgfortran/ 2014-06-19 Tobias Burnus <burnus@net-b.de> * caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max, _gfortran_caf_co_min): Fix stat setting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211816 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/fortran/burnus2014-06-173-14/+274
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-06-17 Tobias Burnus <burnus@net-b.de> * check.c (gfc_check_atomic, gfc_check_atomic_def): Use argument for GFC_ISYM_CAF_GET. * resolve.c (resolve_variable): Enable CAF_GET insertion. (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET. (resolve_ordinary_assign): Enable CAF_SEND insertion. * trans-const.c (gfc_build_string_const, gfc_build_wide_string_const): Set TYPE_STRING_FLAG. * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send, gfor_fndecl_caf_sendget): New global variables. (gfc_build_builtin_function_decls): Initialize them; update co_min/max/sum initialization. * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from get_tree_for_caf_expr and removed static. (gfc_conv_procedure_call): Update call. * trans-intrinsic.c (caf_get_image_index, conv_caf_vector_subscript_elem, conv_caf_vector_subscript, get_caf_token_offset, gfc_conv_intrinsic_caf_get, conv_caf_send): New. (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine, gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND. (conv_co_minmaxsum): Update call for remove unused vector subscript. (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref): Skip a CAF_GET of the argument. * trans-types.c (gfc_get_caf_vector_type): New. * trans-types.h (gfc_get_caf_vector_type): New. * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send, gfor_fndecl_caf_sendget): New global variables. (gfc_get_tree_for_caf_expr): New prototypes. libgfortran/ 2014-06-17 Tobias Burnus <burnus@net-b.de> * caf/libcaf.h (gfc_descriptor_t): New typedef. (caf_vector_t): Update. (_gfortran_caf_co_sum, _gfortran_caf_co_max, _gfortran_caf_co_min): Remove vector-subscript argument. (_gfortran_caf_co_send, _gfortran_caf_co_get, _gfortran_caf_co_sendget): New. * caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max, _gfortran_caf_co_min): Remove vector-subscript argument. (_gfortran_caf_co_send, _gfortran_caf_co_get, _gfortran_caf_co_sendget): New. gcc/testsuite/ 2014-06-17 Tobias Burnus <burnus@net-b.de> Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com> * gfortran.dg/coarray/send_array.f90: New. * gfortran.dg/coarray/get_array.f90: New. * gfortran.dg/coarray/sendget_array.f90: New. * gfortran.dg/coarray/collectives_1.f90: Correct subroutine names. * gfortran.dg/coarray/collectives_2.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211748 138bc75d-0d04-0410-961f-82ee72b054a4
* Rotate ChangeLog for 2013.jb2014-06-172-400/+405
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211722 138bc75d-0d04-0410-961f-82ee72b054a4
* Introduce xmallocarray, an overflow checking variant of xmalloc.jb2014-06-17332-1511/+1238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-06-17 Janne Blomqvist <jb@gcc.gnu.org> * libgfortran.h (xmallocarray): New prototype. * runtime/memory.c (xmallocarray): New function. (xcalloc): Check for nonzero separately instead of multiplying. * generated/*.c: Regenerated. * intrinsics/cshift0.c (cshift0): Call xmallocarray instead of xmalloc. * intrinsics/eoshift0.c (eoshift0): Likewise. * intrinsics/eoshift2.c (eoshift2): Likewise. * intrinsics/pack_generic.c (pack_internal): Likewise. (pack_s_internal): Likewise. * intrinsics/reshape_generic.c (reshape_internal): Likewise. * intrinsics/spread_generic.c (spread_internal): Likewise. (spread_internal_scalar): Likewise. * intrinsics/string_intrinsics_inc.c (string_trim): Likewise. (string_minmax): Likewise. * intrinsics/transpose_generic.c (transpose_internal): Likewise. * intrinsics/unpack_generic.c (unpack_internal): Likewise. * io/list_read.c (nml_touch_nodes): Don't cast xmalloc return value. * io/transfer.c (st_set_nml_var): Call xmallocarray instead of xmalloc. * io/unit.c (get_internal_unit): Likewise. (filename_from_unit): Don't cast xmalloc return value. * io/write.c (nml_write_obj): Likewise, formatting. * m4/bessel.m4 (bessel_jn_r'rtype_kind`): Call xmallocarray instead of xmalloc. (besse_yn_r'rtype_kind`): Likewise. * m4/cshift1.m4 (cshift1): Likewise. * m4/eoshift1.m4 (eoshift1): Likewise. * m4/eoshift3.m4 (eoshift3): Likewise. * m4/iforeach.m4: Likewise. * m4/ifunction.m4: Likewise. * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Likewise. * m4/in_pack.m4 (internal_pack_'rtype_ccode`): Likewise. * m4/matmul.m4 (matmul_'rtype_code`): Likewise. * m4/matmull.m4 (matmul_'rtype_code`): Likewise. * m4/pack.m4 (pack_'rtype_code`): Likewise. * m4/reshape.m4 (reshape_'rtype_ccode`): Likewise. * m4/shape.m4 (shape_'rtype_kind`): Likewise. * m4/spread.m4 (spread_'rtype_code`): Likewise. (spread_scalar_'rtype_code`): Likewise. * m4/transpose.m4 (transpose_'rtype_code`): Likewise. * m4/unpack.m4 (unpack0_'rtype_code`): Likewise. (unpack1_'rtype_code`): Likewise. * runtime/convert_char.c (convert_char1_to_char4): Likewise. (convert_char4_to_char1): Simplify. * runtime/environ.c (init_unformatted): Call xmallocarray instead of xmalloc. * runtime/in_pack_generic.c (internal_pack): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211721 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libfortran/60468fxcoudert2014-06-153-6/+31
| | | | | | | | | * configure.ac: Include <math.h> when checking for fp_except_t and fp_rnd_t types. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211685 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 56981 Flush buffer at record boundary if possible.jb2014-06-084-23/+56
| | | | | | | | | | | | | | | | | | | | | | 2014-06-08 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/56981 * io/unix.h (struct stream_vtable): Add new member function, markeor. (smarkeor): New inline function. (flush_if_unbuffered): Remove prototype. * io/unix.c (raw_markeor): New function. (raw_vtable): Initialize markeor member. (buf_markeor): New function. (buf_vtable): Initialize markeor member. (mem_vtable): Likewise. (mem4_vtable): Likewise. (flush_if_unbuffered): Remove function. * io/transfer.c (next_record): Call smarkeor instead of flush_if_unbuffered. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211353 138bc75d-0d04-0410-961f-82ee72b054a4
* * intrinsics/getcwd.c: Include stdlib.h.uros2014-05-272-2/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210962 138bc75d-0d04-0410-961f-82ee72b054a4
* Introduce xrealloc, use it.jb2014-05-265-14/+30
| | | | | | | | | | | | | 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org> * libgfortran.h (xrealloc): New prototype. * runtime/memory.c (xrealloc): New function. * io/fbuf.c (fbuf_alloc): Use xrealloc. * io/list_read.c (push_char_default): Likewise. (push_char4): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210948 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 61310 Rewrite implementation of CTIME and FDATE intrinsics.jb2014-05-262-28/+54
| | | | | | | | | | | | | | | | | | | | | 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/61310 * intrinsics.texi (CTIME): Remove mention of locale-dependent behavior. 2014-05-26 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/61310 * intrinsics/ctime.c (strctime): Rename to gf_ctime, use snprintf instead of strftime. (fdate): Use gf_ctime. (fdate_sub): Likewise. (ctime): Likewise. (ctime_sub): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210938 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-05-26 Tobias Burnus <burnus@net-b.de>jvdelisle2014-05-262-0/+47
| | | | | | | | | | | | | | | | | | | | PR fortran/55117 * trans-io.c (nml_full_name, transfer_namelist_element): Insert a '+' rather then '%' to differentiate namelist variable names that are based on extended derived types. 2014-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/55117 * io/list_read.c (extended_look_ahead): New helper function to scan the namelist name and look for matches with the new '+' extended type parent indicator. (str_comp_extended): New helper function to compare the namelist name with the varname namelist. (find_nml_name): Use the new helper functions to match the extended type varnames. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210934 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-05-23 Jerry DeLisle <jvdelisle@gcc.gnu>jvdelisle2014-05-242-7/+17
| | | | | | | | | PR libfortran/61173 * io/list_read.c (eat_spaces): If the next character pointed to is a space, don't seek, must be at the end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210898 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define.hp2014-05-233-0/+13
| | | | | | | * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210841 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 60324 Handle long path names, don't use PATH_MAX.jb2014-05-222-0/+6
| | | | | | | | | | 2014-05-23 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/60324 * runtime/string.c: Include stdlib.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210827 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 60324 Handle long path names, don't use PATH_MAX.jb2014-05-2212-135/+238
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210738 138bc75d-0d04-0410-961f-82ee72b054a4