2014-07-20 22:03:41 +02:00
|
|
|
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.
|
|
|
|
|
libgfortran.h (libcaf_atomic_codes): Add.
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-12 21:02:57 +02:00
|
|
|
2014-07-12 Tobias Burnus <burnus@net-b.de>
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
2014-07-10 10:45:38 +02:00
|
|
|
2014-07-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
|
|
|
|
|
|
|
* config/fpu-*.h (get_fpu_rounding_mode, set_fpu_rounding_mode,
|
|
|
|
support_fpu_rounding_mode): Clean up, mark unreachable code as such.
|
|
|
|
|
2014-07-09 22:32:12 +02:00
|
|
|
2014-07-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
2014-07-08 11:08:49 +02:00
|
|
|
2014-07-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
* config/fpu-sysv.h (get_fpu_rounding_mode): Use FP_RN, FP_RP,
|
|
|
|
FP_RM, FP_RZ unconditionally.
|
|
|
|
(set_fpu_rounding_mode): Likewise.
|
|
|
|
|
2014-07-07 13:59:27 +02:00
|
|
|
2014-07-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
|
|
|
|
|
|
|
* libgfortran.h: Assume __GNUC__.
|
|
|
|
|
2014-07-07 11:13:48 +02:00
|
|
|
2014-07-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
2014-07-07 09:47:41 +02:00
|
|
|
2014-07-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
|
|
|
|
|
|
|
* config/fpu-387.h, config/fpu-aix.h, config/fpu-sysv.h,
|
|
|
|
config/fpu-glibc.h: Use static assertions.
|
|
|
|
|
2014-07-05 22:43:07 +02:00
|
|
|
2014-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
* configure, config.h.in: Regenerate.
|
|
|
|
* config/fpu-sysv.h: Include <assert.h>.
|
|
|
|
|
2014-07-02 11:17:04 +02:00
|
|
|
2014-07-02 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
|
|
|
|
|
|
|
* config/fpu-glibc.h: Fix comment about FE_DENORMAL.
|
|
|
|
|
2014-07-02 10:45:08 +02:00
|
|
|
2014-07-02 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
2014-06-29 21:51:59 +02:00
|
|
|
2014-06-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
|
|
|
|
|
|
|
* config/fpu-387.h (my_fenv_t): Amend structure so it also works
|
|
|
|
on mingw32.
|
|
|
|
|
2014-06-29 04:49:45 +02:00
|
|
|
2014-06-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
|
|
|
|
|
|
|
PR libgfortran/61640
|
|
|
|
* io/list_read.c (next_char_internal): Adjust the read length to
|
2014-07-02 10:45:08 +02:00
|
|
|
a single wide character. (eat_spaces): Add missing paren.
|
2014-06-29 04:49:45 +02:00
|
|
|
* io/unix.c (mem_read4): Use the correct mem_alloc function for
|
|
|
|
wide character internal reads.
|
|
|
|
|
re PR fortran/29383 (Fortran 2003/F95[TR15580:1999]: Floating point 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-28 16:17:41 +02:00
|
|
|
2014-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
|
|
|
|
|
|
|
PR fortran/29383
|
|
|
|
* 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.
|
|
|
|
|
2014-06-27 06:23:36 +02:00
|
|
|
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.
|
|
|
|
|
2014-06-25 22:31:32 +02:00
|
|
|
2014-06-25 Tobias Burnus <burnus@net-b.de>
|
|
|
|
|
|
|
|
* caf/single.c (assign_char4_from_char1, assign_char1_from_char4,
|
|
|
|
convert_type): New static functions.
|
|
|
|
(_gfortran_caf_get, _gfortran_caf_send): Use them.
|
|
|
|
|
2014-06-19 09:16:34 +02:00
|
|
|
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.
|
|
|
|
|
check.c (gfc_check_atomic, [...]): Use argument for GFC_ISYM_CAF_GET.
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-17 22:54:14 +02:00
|
|
|
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.
|
|
|
|
|
2014-06-17 05:50:34 +02:00
|
|
|
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.
|
|
|
|
|
2014-06-15 11:44:04 +02:00
|
|
|
2014-06-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
|
|
|
|
|
|
|
|
PR libfortran/60468
|
|
|
|
* configure.ac: Include <math.h> when checking for fp_except_t
|
|
|
|
and fp_rnd_t types.
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
2014-06-08 07:43:29 +02:00
|
|
|
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.
|
|
|
|
|
2014-05-27 11:15:52 +02:00
|
|
|
2014-05-27 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
|
|
|
|
* intrinsics/getcwd.c: Include stdlib.h.
|
|
|
|
|
2014-05-26 22:56:45 +02:00
|
|
|
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.
|
|
|
|
|
2014-05-26 20:17:13 +02:00
|
|
|
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.
|
|
|
|
|
2014-05-26 17:19:36 +02:00
|
|
|
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
|
2014-05-26 20:17:13 +02:00
|
|
|
the extended type varnames.
|
2014-05-26 17:19:36 +02:00
|
|
|
|
2014-05-24 21:26:02 +02:00
|
|
|
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.
|
|
|
|
|
2014-05-23 04:06:40 +02:00
|
|
|
2014-05-23 Hans-Peter Nilsson <hp@axis.com>
|
|
|
|
|
|
|
|
* configure.ac [with_newlib] (HAVE_STRNLEN, HAVE_STRNDUP): Define.
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
2014-05-22 23:17:29 +02:00
|
|
|
2014-05-23 Janne Blomqvist <jb@gcc.gnu.org>
|
|
|
|
|
|
|
|
PR libfortran/60324
|
|
|
|
* runtime/string.c: Include stdlib.h.
|
|
|
|
|
2014-05-22 05:51:25 +02:00
|
|
|
2014-05-22 Janne Blomqvist <jb@gcc.gnu.org>
|
|
|
|
|
|
|
|
PR libfortran/60324
|
|
|
|
* config.h.in: Regenerated.
|
|
|
|
* configure: Regenerated.
|
|
|
|
* configure.ac (AC_CHECK_FUNCS_ONCE): Check for strnlen and
|
|
|
|
strndup.
|
|
|
|
* libgfortran.h (fc_strdup): New prototype.
|
|
|
|
* runtime/string.c (strnlen): New fallback function.
|
|
|
|
(strndup): New fallback function.
|
|
|
|
(fc_strdup): New function.
|
|
|
|
* io/close.c (st_close): Use fc_strdup.
|
|
|
|
* io/open.c (new_unit): Likewise.
|
|
|
|
(already_open): Likewise.
|
|
|
|
* io/unit.c (filename_from_unit): Likewise.
|
|
|
|
* io/unix.c (unpack_filename): Remove function.
|
|
|
|
(regular_file): Rename to regular_file2, add path argument.
|
|
|
|
(regular_file): New function calling regular_file2.
|
|
|
|
(compare_file_filename): Use fc_strdup.
|
|
|
|
(find_file): Likewise.
|
|
|
|
(delete_file): Likewise.
|
|
|
|
(file_exists): Likewise.
|
|
|
|
(file_size): Likewise.
|
|
|
|
(inquire_sequential): Likewise.
|
|
|
|
(inquire_direct): Likewise.
|
|
|
|
(inquire_formatted): Likewise.
|
|
|
|
(inquire_access): Likewise.
|
|
|
|
* io/unix.h (unpack_filename): Remove prototype.
|
|
|
|
* runtime/main.c (please_free_exe_path_when_done): Change type to
|
|
|
|
bool.
|
|
|
|
(store_exe_path): Use malloced buffer, grow as needed.
|
|
|
|
|
2014-05-18 04:29:27 +02:00
|
|
|
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.
|
|
|
|
|
2014-05-16 22:37:13 +02:00
|
|
|
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.
|
|
|
|
|
2014-05-12 21:23:11 +02:00
|
|
|
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.
|
|
|
|
|
2014-05-12 21:20:50 +02:00
|
|
|
2014-05-12 Janne Blomqvist <jb@gcc.gnu.org>
|
|
|
|
|
|
|
|
* configure.ac (AM_CFLAGS): Use -std=gnu11.
|
|
|
|
(CFLAGS): Likewise.
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
2014-05-11 20:25:55 +02:00
|
|
|
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.
|
|
|
|
|
check.c (check_co_minmaxsum, [...]): New.
gcc/fortran/
2014-05-08 Tobias Burnus <burnus@net-b.de>
* check.c (check_co_minmaxsum, gfc_check_co_minmax,
gfc_check_co_sum): New.
* error.c (gfc_notify_std): Update -std=f2008ts.
* gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
* intrinsic.h (gfc_check_co_minmax,
gfc_check_co_sum): Declare.
* intrinsic.c (add_subroutines): Add co_min, co_max
and co_sum.
(gfc_check_intrinsic_standard): Update text for
-std=f2008ts.
* intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
them.
* invoke.texi (-std=f2008ts): Update wording.
* trans.h (gfor_fndecl_co_max,
gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
* trans-decl.c (gfor_fndecl_co_max,
gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
(gfc_build_builtin_function_decls): Assign to it.
* trans-intrinsic.c (conv_co_minmaxsum): New.
(gfc_conv_intrinsic_subroutine): Call it.
libgfortran/
2014-05-08 Tobias Burnus <burnus@net-b.de>
* caf/libcaf.h (caf_vector_t, _gfortran_caf_co_sum,
_gfortran_caf_co_min, _gfortran_caf_co_max): Declare
* caf/single.c
gcc/testsuite/
2014-05-08 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_collectives_1.f90: New.
* gfortran.dg/coarray_collectives_2.f90: New.
* gfortran.dg/coarray_collectives_3.f90: New.
* gfortran.dg/coarray_collectives_4.f90: New.
* gfortran.dg/coarray_collectives_5.f90: New.
* gfortran.dg/coarray_collectives_6.f90: New.
* gfortran.dg/coarray/collectives_1.f90: New.
* gfortran.dg/assumed_rank_5.f90: Update dg-error.
* gfortran.dg/assumed_type_4.f90: Update dg-error.
* gfortran.dg/bind_c_array_params.f03: Update dg-error.
* gfortran.dg/bind_c_usage_28.f90: Update dg-error.
* gfortran.dg/c_funloc_tests_5.f03: Update dg-error.
* gfortran.dg/c_funloc_tests_6.f90: Update dg-error.
* gfortran.dg/c_loc_tests_11.f03: Update dg-error.
From-SVN: r210223
2014-05-08 18:55:23 +02:00
|
|
|
2014-05-08 Tobias Burnus <burnus@net-b.de>
|
|
|
|
|
|
|
|
* caf/libcaf.h (caf_vector_t, _gfortran_caf_co_sum,
|
|
|
|
_gfortran_caf_co_min, _gfortran_caf_co_max): Declare
|
|
|
|
* caf/single.c
|
|
|
|
|
2014-05-07 03:31:42 +02:00
|
|
|
2014-05-06 Jerry DeLisle <jvdelisle@gcc.gnu>
|
|
|
|
|
|
|
|
PR libfortran/61049
|
|
|
|
* io/list_read.c (list_formatted_read_scalar): Use eat_separator
|
|
|
|
and delete extraneous code.
|
|
|
|
|
gfortran.h (gfc_init_coarray_decl): Remove.
2014-04-30 Tobias Burnus <burnus@net-b.de>
* gfortran.h (gfc_init_coarray_decl): Remove.
* parse.c (translate_all_program_units): Remove call to it.
(gfc_parse_file): Update call.
* trans.h (gfor_fndecl_caf_this_image,
gfor_fndecl_caf_num_images): Add.
(gfort_gvar_caf_num_images,
gfort_gvar_caf_this_image): Remove.
* trans-decl.c (gfor_fndecl_caf_this_image,
gfor_fndecl_caf_num_images): Add.
(gfort_gvar_caf_num_images,
gfort_gvar_caf_this_image): Remove.
(gfc_build_builtin_function_decls): Init new decl.
(gfc_init_coarray_dec): Remove.
(create_main_function): Change calls.
* trans-intrinsic.c (trans_this_image, trans_image_index,
conv_intrinsic_cobound): Generate call to new library function
instead of to a static variable.
* trans-stmt.c (gfc_trans_sync): Ditto.
2014-04-30 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_lib_this_image_1.f90: New.
* gfortran.dg/coarray_lib_this_image_2.f90: New.
2014-04-30 Tobias Burnus <burnus@net-b.de>
* caf/libcaf.h (_gfortran_caf_this_image,
* _gfortran_caf_num_images):
New prototypes.
(_gfortran_caf_init): Change prototype.
(mpi_token_t): New typedef.
(TOKEN): New define.
* caf/mpi.c (_gfortran_caf_this_image,
* _gfortran_caf_num_images):
New functions.
(_gfortran_caf_init): Update.
(_gfortran_caf_finalize, _gfortran_caf_register,
_gfortran_caf_deregister): Use mpi_token_t.
* caf/single.c (_gfortran_caf_this_image,
* _gfortran_caf_num_images):
New functions.
(_gfortran_caf_init): Update.
(_gfortran_caf_finalize, _gfortran_caf_register,
_gfortran_caf_deregister): Use mpi_token_t, simplify.
From-SVN: r209951
2014-04-30 21:02:23 +02:00
|
|
|
2014-04-30 Tobias Burnus <burnus@net-b.de>
|
|
|
|
|
|
|
|
* caf/libcaf.h (_gfortran_caf_this_image, _gfortran_caf_num_images):
|
|
|
|
New prototypes.
|
|
|
|
(_gfortran_caf_init): Change prototype.
|
|
|
|
(mpi_token_t): New typedef.
|
|
|
|
(TOKEN): New define.
|
|
|
|
* caf/mpi.c (_gfortran_caf_this_image, _gfortran_caf_num_images):
|
|
|
|
New functions.
|
|
|
|
(_gfortran_caf_init): Update.
|
|
|
|
(_gfortran_caf_finalize, _gfortran_caf_register,
|
|
|
|
_gfortran_caf_deregister): Use mpi_token_t.
|
|
|
|
* caf/single.c (_gfortran_caf_this_image, _gfortran_caf_num_images):
|
|
|
|
New functions.
|
|
|
|
(_gfortran_caf_init): Update.
|
|
|
|
(_gfortran_caf_finalize, _gfortran_caf_register,
|
|
|
|
_gfortran_caf_deregister): Use mpi_token_t, simplify.
|
|
|
|
|
2014-04-26 23:52:26 +02:00
|
|
|
2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu>
|
|
|
|
|
|
|
|
PR libfortran/52539
|
|
|
|
* io/list_read.c: Add uchar typedef. (push_char4): New function
|
|
|
|
to save kind=4 character. (next_char_utf8): New function to read
|
|
|
|
a single UTF-8 encoded character value. (read_chracter): Update
|
|
|
|
to use the new functions for reading UTF-8 strings.
|
|
|
|
(list_formatted_read_scalar): Update to handle list directed
|
|
|
|
reads of UTF-8 strings. (nml_read_obj): Likewise update for
|
|
|
|
UTF-8 strings in namelists.
|
|
|
|
* io/write.c (nml_write_obj): Add kind=4 character support for
|
|
|
|
namelist writes.
|
|
|
|
|
2014-04-24 13:03:56 +02:00
|
|
|
2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
|
|
|
|
|
|
|
* configure.ac: Quote usage of ac_cv_func_clock_gettime in if test.
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
2014-04-22 14:30:59 +02:00
|
|
|
2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
* config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
|
|
|
|
check.
|
|
|
|
|
2014-04-12 02:04:41 +02:00
|
|
|
2014-04-11 Jerry DeLisle <jvdelisle@gcc.gnu>
|
|
|
|
|
|
|
|
PR libfortran/60810
|
|
|
|
io/unit.c (is_trim_ok): If internal unit is array, do not trim.
|
|
|
|
|
2014-03-21 23:19:44 +01:00
|
|
|
2014-03-21 Jerry DeLisle <jvdelisle@gcc.gnu>
|
|
|
|
|
|
|
|
PR libfortran/60148
|
|
|
|
* io/transfer.c (data_transfer_init): If std= was specified, set
|
|
|
|
delim status to DELIM_NONE of no other was specified.
|
|
|
|
|
2014-03-18 10:58:17 +01:00
|
|
|
2014-03-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
|
|
|
|
|
|
|
|
* configure.ac: Check for presence of fcntl.
|
|
|
|
* configure: Regenerate.
|
|
|
|
* config.h.in: Regenerate.
|
|
|
|
* io/unix.c (set_close_on_exec): Check for HAVE_FCNTL.
|
|
|
|
|
2014-03-18 02:20:02 +01:00
|
|
|
2014-03-17 Jerry DeLisle <jvdelisle@gcc.gnu>
|
|
|
|
|
2014-03-18 02:30:46 +01:00
|
|
|
PR libfortran/48600
|
2014-03-18 02:20:02 +01:00
|
|
|
* io/list_read.c (list_formatted_read_scalar): Do not use
|
|
|
|
eat_separator. Explicitly set the comma and end-of-line flags.
|
|
|
|
Check for END condition from finish_separator.
|
|
|
|
|
2014-03-15 16:12:01 +01:00
|
|
|
2014-03-15 Jerry DeLisle <jvdelisle@gcc.gnu>
|
|
|
|
|
|
|
|
PR libfortran/58324
|
|
|
|
* io/list_read.c (finish_list_read): Read one character to check
|
|
|
|
for the end of the file. If it is the end, then issue the file
|
|
|
|
end error message. If not, use eat_line to reach the end
|
|
|
|
without giving error. The next attempt to read will then
|
|
|
|
issue the error as described above.
|
|
|
|
|
2014-03-13 06:06:57 +01:00
|
|
|
2014-03-12 Jerry DeLisle <jvdelisle@gcc.gnu>
|
|
|
|
|
|
|
|
PR libfortran/38199
|
|
|
|
* io/read.c (read_decimal): Quickly skip spaces to avoid calls
|
|
|
|
to next_char.
|
|
|
|
* io/unit.c (is_trim_ok): New helper function to check various
|
|
|
|
conditions to see if its OK to trim the internal unit string.
|
|
|
|
(get_internal_unit): Use LEN_TRIM to shorten selected internal
|
|
|
|
unit strings for optimizing READ. Enable this optimization for
|
|
|
|
formatted READ.
|
|
|
|
* io/list_read.c (finish_list_read): Don't call eat_line for
|
|
|
|
internal units.
|
2014-03-15 16:12:01 +01:00
|
|
|
|
2014-03-09 04:17:16 +01:00
|
|
|
2014-03-08 Jerry DeLisle <jvdelisle@gcc.gnu>
|
|
|
|
|
|
|
|
PR libfortran/38199
|
2014-03-09 06:34:34 +01:00
|
|
|
* io/list_read.c (next_char): Mark unlikely error checks.
|
2014-03-09 04:17:16 +01:00
|
|
|
(eat_spaces): For character array reading, skip ahead over
|
|
|
|
spaces rather than call next_char multiple times.
|
|
|
|
|
2014-03-08 23:13:26 +01:00
|
|
|
2014-03-08 Tobias Burnus <burnus@net-b.de>
|
|
|
|
|
|
|
|
* libgfortran.h (unlikely, likely): Add usage comment.
|
|
|
|
|
2014-03-08 07:04:34 +01:00
|
|
|
2014-03-08 Dominique d'Humieres <dominiq@lps.ens.fr>
|
|
|
|
|
|
|
|
PR libgfortran/60128
|
|
|
|
* io/write_float.def (output_float): Remove unused variable
|
|
|
|
nzero_real. Replace a double space with a single one.
|
|
|
|
(determine_en_precision): Fix wrong handling of the EN format.
|
|
|
|
|
2014-03-04 05:33:40 +01:00
|
|
|
2014-03-03 Jerry DeLisle <jvdelisle@gcc.gnu>
|
|
|
|
|
|
|
|
PR libfortran/60148
|
|
|
|
* io/inquire.c (inquire_via_unit): In the case of
|
|
|
|
DELIM_UNSPECIFIED set inquire return string to "NONE".
|
|
|
|
* io/list_read.c (read_character): In the case of DELIM_NONE and
|
|
|
|
namelists, complete the character read using the namelist
|
|
|
|
variable length.
|
|
|
|
* io/open.c (new_unit): Don't set delim status to none if not
|
|
|
|
specified so that DELIM_UNSPECIFIED can be used later.
|
|
|
|
* io/transfer.c (data_transfer_init): For namelist I/O, if the
|
|
|
|
unit delim status is unspecified set the current status to quote.
|
|
|
|
Otherwise, set current status to the unit status.
|
|
|
|
* io/unit.c (get_internel_unit, init_unit): Remember to set
|
|
|
|
flags_delim initially to DELIM_UNSPECIFIED so defaults come out
|
|
|
|
correctly.
|
|
|
|
* io/write.c (write_character): Add a new function argument
|
|
|
|
"mode" to signify that raw output is to be used vs output with
|
|
|
|
delimiters. If the mode is set to DELIM (1) proceed with
|
|
|
|
delimiters. (list_formatted_write_scalar): Write the separator
|
|
|
|
only if a delimiter was previously specified. Update the call to
|
|
|
|
write_character with the mode argument given.
|
|
|
|
(namelist_write_newline): Use the mode argument. (nml_write_obj):
|
|
|
|
Use the mode argument. Remove use of tmp_delim. Write the
|
|
|
|
semi-colon or comma correctly only when needed with using
|
|
|
|
delimiters. Cleanup whitespace.
|
|
|
|
(namelist_write): If delim is not specified in namelist I/O,
|
|
|
|
default to using quotes. Get rid of the tmp_delim variable and
|
|
|
|
use the new mode argument in write_character.
|
|
|
|
|
2014-02-21 08:37:06 +01:00
|
|
|
2014-02-21 Tobias Burnus <burnus@net-b.de>
|
|
|
|
|
|
|
|
PR fortran/60286
|
|
|
|
* libgfortran/io/inquire.c (yes, no): New static const char vars.
|
|
|
|
(inquire_via_unit): Use them. Use OPEN mode instead of using
|
|
|
|
POSIX's access to query about write=, read= and readwrite=.
|
|
|
|
|
2014-01-21 03:39:53 +01:00
|
|
|
2014-01-20 Jerry DeLisle <jvdelisle@gcc.gnu>
|
|
|
|
Dominique d'Humieres <dominiq@lps.ens.fr>
|
|
|
|
|
|
|
|
* io/write_float.def (output_float): Remove inadvertent test
|
|
|
|
code from previous patch.
|
|
|
|
|
2014-01-20 00:17:43 +01:00
|
|
|
2014-01-19 Jerry DeLisle <jvdelisle@gcc.gnu>
|
|
|
|
Dominique d'Humieres <dominiq@lps.ens.fr>
|
|
|
|
|
|
|
|
PR libfortran/59771
|
|
|
|
PR libfortran/59774
|
|
|
|
PR libfortran/59836
|
|
|
|
* io/write_float.def (output_float): Fix wrong handling of the
|
|
|
|
Fw.0 format.
|
|
|
|
(output_float_FMT_G_): Fixes rounding issues with -m32.
|
|
|
|
|
2014-01-11 19:57:20 +01:00
|
|
|
2014-01-11 Jerry DeLisle <jvdelisle@gcc.gnu>
|
|
|
|
Dominique d'Humieres <dominiq@lps.ens.fr>
|
|
|
|
Steven G. Kargl <kargl@gcc.gnu.org>
|
|
|
|
|
|
|
|
PR libfortran/59700
|
|
|
|
PR libfortran/59764
|
|
|
|
* io/io.h (struct st_parameter_dt): Assign expanded_read flag to
|
|
|
|
unused bit. Define new variable line_buffer_pos.
|
|
|
|
* io/list_read.c (free_saved, next_char, l_push_char,
|
|
|
|
read_logical, read_real): Replace use of item_count with
|
|
|
|
line_buffer_pos for line_buffer look ahead.
|
|
|
|
(read_logical, read_integer, parse_real, read_real, check_type):
|
|
|
|
Adjust location of free_line to after generating error messages
|
2014-05-27 11:15:52 +02:00
|
|
|
to retain the correct item count for the message.
|
2014-01-11 19:57:20 +01:00
|
|
|
|
2014-01-02 23:25:45 +01:00
|
|
|
2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
|
|
|
|
|
|
|
|
Update copyright years
|
2014-06-17 05:55:59 +02:00
|
|
|
^L
|
2014-01-02 23:25:45 +01:00
|
|
|
Copyright (C) 2013-2014 Free Software Foundation, Inc.
|
2010-01-04 09:59:59 +01:00
|
|
|
|
|
|
|
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.
|