aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
AgeCommit message (Collapse)AuthorFilesLines
2014-10-09f95-lang.c (gfc_init_builtin_functions): Add more floating-point built-ins.Francois-Xavier Coudert3-321/+8
* f95-lang.c (gfc_init_builtin_functions): Add more floating-point 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. From-SVN: r216036
2014-10-05re PR libfortran/63460 (Some namelists cannot be read from stdin (unit 5): ↵Jerry DeLisle2-0/+8
Fortran runtime error: End of file) 2014-10-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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. From-SVN: r215908
2014-10-01Fix typo in ChangeLogJanne Blomqvist1-1/+1
From-SVN: r215743
2014-10-01Fix -Wmaybe-uninitialized warnings.Janne Blomqvist16-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. From-SVN: r215742
2014-09-30Add -Werror=implicit-function-declaration to AM_CFLAGS.Janne Blomqvist5-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. From-SVN: r215741
2014-09-25check.c (check_co_collective): Renamed fromTobias Burnus3-8/+21
2014-09-25 Tobias Burnus <burnus@net-b.de> 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. From-SVN: r215579
2014-09-18Fix indentationJanne Blomqvist1-1/+1
From-SVN: r215340
2014-09-18PR libfortran/62768 Use gfc_unit.filename also when HAVE_TTYNAME{_R} is not ↵Janne Blomqvist2-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. From-SVN: r215338
2014-09-17PR libfortran/62768 Handle filenames with embedded null characters.Janne Blomqvist7-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. From-SVN: r215307
2014-09-10Fix pad status check.Janne Blomqvist2-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). From-SVN: r215092
2014-08-31trans-decl.c (gfc_build_builtin_function_decls): Add may_require_tmp dummy ↵Tobias Burnus3-7/+177
argument. 2014-08-31 Tobias Burnus <burnus@net-b.de> 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. From-SVN: r214764
2014-08-20re PR libfortran/62188 (Array bounds overrun in bessel_yn_r4/8/16 and other ↵Steven G. Kargl6-5/+14
functions) 2014-08-20 Steven G. Kargl <kargl@gcc.gnu.org> 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. From-SVN: r214229
2014-08-14gfortran.texi (caf_register_t): Add CAF_REGTYPE_CRITICAL.Tobias Burnus3-16/+104
gcc/fortran/ 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. From-SVN: r213979
2014-08-04* runtime/memory.c (xmallocarray): Avoid division for the common case.Jakub Jelinek2-1/+7
From-SVN: r213593
2014-07-20re PR fortran/61632 (Improve error locus on large format strings)Jerry DeLisle2-10/+20
2014-07-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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. From-SVN: r212875
2014-07-12libgfortran.h (libcaf_atomic_codes): Add.Tobias Burnus3-0/+108
2014-07-12 Tobias Burnus <burnus@net-b.de> 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. From-SVN: r212484
2014-07-10fpu-*.h (get_fpu_rounding_mode, [...]): Clean up, mark unreachable code as such.Francois-Xavier Coudert5-25/+20
* config/fpu-*.h (get_fpu_rounding_mode, set_fpu_rounding_mode, support_fpu_rounding_mode): Clean up, mark unreachable code as such. From-SVN: r212423
2014-07-09libgfortran.h (support_fpu_underflow_control, [...]): New prototypes.Francois-Xavier Coudert8-27/+259
* libgfortran.h (support_fpu_underflow_control, 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. From-SVN: r212407
2014-07-08Use FP_RN etc. unconditionallyRainer Orth2-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. From-SVN: r212350
2014-07-07* libgfortran.h: Assume __GNUC__.Francois-Xavier Coudert2-6/+4
From-SVN: r212328
2014-07-07stop.c: Use C11 _Noreturn.Francois-Xavier Coudert4-23/+26
* runtime/stop.c: Use C11 _Noreturn. * libgfortran.h: Use C11 _Noreturn in prototypes. Move REALPART, IMAGPART and COMPLEX_ASSIGN macros... * intrinsics/c99_functions.c: ... here. From-SVN: r212327
2014-07-07fpu-387.h, [...]: Use static assertions.Francois-Xavier Coudert5-30/+25
* config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h, config/fpu-glibc.h: Use static assertions. From-SVN: r212323
2014-07-05Restore Solaris/SPARC bootstrapRainer Orth4-0/+29
* configure, config.h.in: Regenerate. * config/fpu-sysv.h: Include <assert.h>. From-SVN: r212307
2014-07-02* config/fpu-sysv.h (void set_fpu): Remove stalled comment.Uros Bizjak1-1/+0
From-SVN: r212235
2014-07-02* config/fpu-glibc.h: Fix comment about FE_DENORMAL.Francois-Xavier Coudert2-1/+5
From-SVN: r212226
2014-07-02configure.host (ieee_flags): Add -mieee for alpha*.Uros Bizjak4-1/+17
libgfortran/ChangeLog: * 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. From-SVN: r212224
2014-06-29fpu-387.h (my_fenv_t): Amend structure so it also works on mingw32.Francois-Xavier Coudert2-2/+6
* config/fpu-387.h (my_fenv_t): Amend structure so it also works on mingw32. From-SVN: r212126
2014-06-29re PR libfortran/61640 (KIND=4 Character Array Internal Unit Read Fail)Jerry DeLisle3-4/+12
2014-06-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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. From-SVN: r212118
2014-06-28re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point ↵Francois-Xavier Coudert17-190/+2924
exception (IEEE) support) PR fortran/29383 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. From-SVN: r212102
2014-06-27re PR libfortran/61499 (Internal read of negative integer broken)Jerry DeLisle2-29/+25
2014-06-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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. From-SVN: r212059
2014-06-25resolve.c (resolve_ordinary_assign): Don't invoke caf_send when assigning a ↵Tobias Burnus2-75/+389
coindexed RHS scalar to a noncoindexed... 2014-06-25 Tobias Burnus <burnus@net-b.de> 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. From-SVN: r211993
2014-06-19trans-intrinsic.c (conv_co_minmaxsum): Fix argument passing.Tobias Burnus2-3/+8
gcc/fortran/ 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. From-SVN: r211816
2014-06-17check.c (gfc_check_atomic, [...]): Use argument for GFC_ISYM_CAF_GET.Tobias Burnus3-14/+274
gcc/fortran/ 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. Co-Authored-By: Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com> From-SVN: r211748
2014-06-17Rotate ChangeLog for 2013.Richard Sandiford2-400/+405
From-SVN: r211722
2014-06-17Introduce xmallocarray, an overflow checking variant of xmalloc.Janne Blomqvist332-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. From-SVN: r211721
2014-06-15re PR libfortran/60468 (./fpu-target.h:93:3: error: unknown type name 'choke')Francois-Xavier Coudert3-6/+31
PR libfortran/60468 * configure.ac: Include <math.h> when checking for fp_except_t and fp_rnd_t types. * configure: Regenerate. From-SVN: r211685
2014-06-08PR 56981 Flush buffer at record boundary if possible.Janne Blomqvist4-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. From-SVN: r211353
2014-05-27getcwd.c: Include stdlib.h.Uros Bizjak2-2/+7
* intrinsics/getcwd.c: Include stdlib.h. From-SVN: r210962
2014-05-26Introduce xrealloc, use it.Janne Blomqvist5-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. From-SVN: r210948
2014-05-26PR 61310 Rewrite implementation of CTIME and FDATE intrinsics.Janne Blomqvist2-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. From-SVN: r210938
2014-05-26[multiple changes]Jerry DeLisle2-0/+47
2014-05-26 Tobias Burnus <burnus@net-b.de> 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. From-SVN: r210934
2014-05-24re PR libfortran/61173 (Erroneous "end of file" with internal read)Jerry DeLisle2-7/+17
2014-05-23 Jerry DeLisle <jvdelisle@gcc.gnu> 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. From-SVN: r210898
2014-05-23configure.ac [...] (HAVE_STRNLEN, [...]): Define.Hans-Peter Nilsson3-0/+13
* configure.ac [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define. * configure: Regenerate. From-SVN: r210841
2014-05-23PR 60324 Handle long path names, don't use PATH_MAX.Janne Blomqvist2-0/+6
2014-05-23 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/60324 * runtime/string.c: Include stdlib.h. From-SVN: r210827
2014-05-22PR 60324 Handle long path names, don't use PATH_MAX.Janne Blomqvist12-135/+238
From-SVN: r210738
2014-05-18re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and ↵Jerry DeLisle3-142/+195
namelist read and nml write) 2014-05-17 Jerry DeLisle <jvdelisle@gcc.gnu> PR libfortran/52539 * io/io.h (gfc_unit): New function pointers *next_char_fn_ptr and *push_char_fn_ptr. *io/list_read.c (next_char): Create macro with this name to call the new function pointer. Split the original next_char function into three new functions. (next_char_default, next_char_internal, next_char_utf8): New functions. (push_char): Create macro with this name to call new function pointer. Split the original push_char into three new functions. (push_char_default, push_char_internal, push_char4): New functions. (set_workers): New function to initilize the function pointers depending on the type of IO to be performed. (list_formatted_read_scalar): Use set_workers function. (finish_list_read): Likewise. (namelist_read): Likewise. (nml_get_obj_data): Use push_char_default. From-SVN: r210574
2014-05-16PR 61187 Fix use of uninitialized memory.Janne Blomqvist2-2/+18
2014-05-16 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/61187 * io/unix.c (raw_close): Check if s->fd is -1. (fd_to_stream): Check return value of fstat(), handle error. From-SVN: r210527
2014-05-12Fix stack overflow crash in getcwd intrinsic.Janne Blomqvist2-11/+32
2014-05-12 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/61035 * intrinsics/getcwd.c (getcwd_i4_sub): Avoid potentially large stack allocation, avoid extra copying in the common case. From-SVN: r210335
2014-05-12Use -std=gnu11 instead of -std=gnu99 for libgfortran C code.Janne Blomqvist3-8/+16
2014-05-12 Janne Blomqvist <jb@gcc.gnu.org> * configure.ac (AM_CFLAGS): Use -std=gnu11. (CFLAGS): Likewise. * configure: Regenerated. From-SVN: r210334
2014-05-11trans-intrinsic.c (gfc_build_builtin_function_decls): Change type of second ↵Tobias Burnus4-3/+10
argument to int. 2014-05-11 Tobias Burnus <burnus@net-b.de> * trans-intrinsic.c (gfc_build_builtin_function_decls): Change type of second argument to int. 2014-05-11 Tobias Burnus <burnus@net-b.de> * caf/libcaf.h (_gfortran_caf_num_images): Change type of second argument to int. * caf/mpi.c (_gfortran_caf_num_images): Ditto. * caf/single.c (_gfortran_caf_num_images): Ditto. From-SVN: r210311