Age | Commit message (Collapse) | Author | Files | Lines |
|
2017-01-31 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/79305
* c99_protos.h: Spell HAVE_EXPL correctly.
* intrinsics/c99_functions.c: Ditto.
From-SVN: r245068
|
|
PR target/78478
* config/ax_check_define.m4: New file.
libgfortran/ChangeLog:
PR target/78478
* acinclude.m4: Include ../config/ax_check_define.m4
* configure.ac: Check if _SOFT_FLOAT is defined.
* configure.host (i?86 | x86_64): Use fpu-generic when
have_soft_float is set.
* configure: Regenerate.
From-SVN: r244651
|
|
PR target/79127
* acinclude.m4 (LIBGFOR_CHECK_AVX512F): Ensure the test clobbers
some zmm16+ registers to verify they are handled by unwind info
properly if needed.
* configure: Regenerated.
From-SVN: r244636
|
|
PR other/79046
* configure: Regenerated.
config/
* acx.m4 (GCC_BASE_VER): New m4 function.
(ACX_TOOL_DIRS): Require GCC_BASE_VER, for
--with-gcc-major-version-only use just major number from BASE-VER.
gcc/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
(CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
(gcc.o): Depend on $(BASEVER).
* common.opt (dumpfullversion): New option.
* gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
* doc/invoke.texi: Document -dumpfullversion.
* doc/install.texi: Document --with-gcc-major-version-only.
* configure: Regenerated.
libatomic/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
libgomp/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
libgcc/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
* configure: Regenerated.
libssp/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
liboffloadmic/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* aclocal.m4: Include ../config/acx.m4.
* configure: Regenerated.
* Makefile.in: Regenerated.
libquadmath/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
libmpx/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
libada/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
version from BASE-VER file.
* configure: Regenerated.
lto-plugin/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
libitm/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
fixincludes/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
libcilkrts/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* aclocal.m4: Include ../config/acx.m4.
* configure: Regenerated.
* Makefile.in: Regenerated.
libcc1/
* configure.ac: Add GCC_BASE_VER. For --with-gcc-major-version-only
use just major number from BASE-VER.
* configure: Regenerated.
* Makefile.in: Regenerated.
libobjc/
* configure.ac: Add GCC_BASE_VER.
* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
libstdc++-v3/
* configure.ac: Add GCC_BASE_VER.
* fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* po/Makefile.in: Regenerated.
* libsupc++/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* src/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* doc/Makefile.in: Regenerated.
* python/Makefile.in: Regenerated.
* src/c++11/Makefile.in: Regenerated.
* src/c++98/Makefile.in: Regenerated.
* src/filesystem/Makefile.in: Regenerated.
libvtv/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* testsuite/Makefile.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
libsanitizer/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* libbacktrace/Makefile.in: Regenerated.
* interception/Makefile.in: Regenerated.
* asan/Makefile.in: Regenerated.
* ubsan/Makefile.in: Regenerated.
* configure: Regenerated.
* sanitizer_common/Makefile.in: Regenerated.
* lsan/Makefile.in: Regenerated.
* Makefile.in: Regenerated.
* tsan/Makefile.in: Regenerated.
libgfortran/
* configure.ac: Add GCC_BASE_VER.
* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
get version from BASE-VER file.
* configure: Regenerated.
* Makefile.in: Regenerated.
From-SVN: r244521
|
|
From-SVN: r244454
|
|
In order to handle large character lengths on (L)LP64 targets, switch
the GFortran character length from an int to a size_t.
This is an ABI change, as procedures with character arguments take
hidden arguments with the character length.
I also changed the _size member in vtables from int to size_t, as
there were some cases where character lengths and sizes were
apparently mixed up and caused regressions otherwise. Although I
haven't tested, this might enable very large derived types as well.
Also, as there are some places in the frontend were negative character
lengths are used as special flag values, in the frontend the character
length is handled as a signed variable of the same size as a size_t,
although in the runtime library it really is size_t.
I haven't changed the character length variables for the co-array
intrinsics, as this is something that may need to be synchronized with
OpenCoarrays.
This is v4 of the patch. v3 was applied but had to reverted due to
breaking bootstrap. The fix is in resolve.c:resolve_charlen, where
it's necessary to check that an expression is constant before using
mpz_sgn.
Overview of v3 of the patch: All the issues pointed out by FX's review
of v2 have been fixed. In particular, there are now new functions
gfc_mpz_get_hwi and gfc_mpz_set_hwi, similar to the GMP functions
mpz_get_si and mpz_set_si, except that they get/set a HOST_WIDE_INT
instead of a long value. Similarly, gfc_get_int_expr now takes a
HOST_WIDE_INT instead of a long, gfc_extract_long is replaced by
gfc_extract_hwi. Also, the preliminary work to handle
gfc_charlen_type_node being unsigned has been removed.
Regtested on x86_64-pc-linux-gnu and i686-pc-linux-gnu.
frontend:
2017-01-13 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/78534
PR fortran/66310
* class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of
hardcoded kind.
(find_intrinsic_vtab): Likewise.
* expr.c (gfc_get_character_expr): Length parameter of type
gfc_charlen_t.
(gfc_get_int_expr): Value argument of type HOST_WIDE_INT.
(gfc_extract_hwi): New function.
(simplify_const_ref): Make string_len of type gfc_charlen_t.
(gfc_simplify_expr): Use HOST_WIDE_INT for substring refs.
* gfortran.h (gfc_mpz_get_hwi): New prototype.
(gfc_mpz_set_hwi): Likewise.
(gfc_charlen_t): New typedef.
(gfc_expr): Use gfc_charlen_t for character lengths.
(gfc_size_kind): New extern variable.
(gfc_extract_hwi): New prototype.
(gfc_get_character_expr): Use gfc_charlen_t for character length.
(gfc_get_int_expr): Use HOST_WIDE_INT type for value argument.
* iresolve.c (gfc_resolve_repeat): Pass string length directly without
temporary, use gfc_charlen_int_kind.
* match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen.
* misc.c (gfc_mpz_get_hwi): New function.
(gfc_mpz_set_hwi): New function.
* module.c (atom_int): Change type from int to HOST_WIDE_INT.
(parse_integer): Don't complain about large integers.
(write_atom): Use HOST_WIDE_INT for integers.
(mio_integer): Handle integer type mismatch.
(mio_hwi): New function.
(mio_intrinsic_op): Use HOST_WIDE_INT.
(mio_array_ref): Likewise.
(mio_expr): Likewise.
* resolve.c (resolve_select_type): Use HOST_WIDE_INT for charlen,
use snprintf.
(resolve_substring_charlen): Use gfc_charlen_int_kind.
(resolve_charlen): Use mpz_sgn to determine sign.
* simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t
instead of long.
* target-memory.c (size_character): Length argument of type
gfc_charlen_t.
(gfc_encode_character): Likewise.
(gfc_interpret_character): Use gfc_charlen_t.
* target-memory.h (gfc_encode_character): Modify prototype.
* trans-array.c (get_array_ctor_var_strlen): Use
gfc_conv_mpz_to_tree_type.
* trans-const.c (gfc_conv_mpz_to_tree_type): New function.
* trans-const.h (gfc_conv_mpz_to_tree_type): New prototype.
* trans-expr.c (gfc_class_len_or_zero_get): Build const of type
gfc_charlen_type_node.
(gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of
4, fold_convert to correct type.
(gfc_conv_class_to_class): Build const of type size_type_node for
size.
(gfc_copy_class_to_class): Likewise.
(gfc_conv_string_length): Use same type in expression.
(gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen.
(gfc_conv_string_tmp): Make sure len is of the right type.
(gfc_conv_concat_op): Use same type in expression.
(gfc_conv_procedure_call): Likewise.
(alloc_scalar_allocatable_for_subcomponent_assignment):
fold_convert to right type.
(gfc_trans_subcomponent_assign): Likewise.
(trans_class_vptr_len_assignment): Build const of correct type.
(gfc_trans_pointer_assignment): Likewise.
(alloc_scalar_allocatable_for_assignment): fold_convert to right
type in expr.
(trans_class_assignment): Build const of correct type.
* trans-intrinsic.c (gfc_conv_associated): Likewise.
(gfc_conv_intrinsic_repeat): Do calculation in sizetype.
* trans-io.c (gfc_build_io_library_fndecls): Use
gfc_charlen_type_node for character lengths.
* trans-stmt.c (gfc_trans_label_assign): Build const of
gfc_charlen_type_node.
(gfc_trans_character_select): Likewise.
(gfc_trans_allocate): Likewise, don't typecast strlen result.
(gfc_trans_deallocate): Don't typecast strlen result.
* trans-types.c (gfc_size_kind): New variable.
(gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind
from size_type_node.
testsuite:
2017-01-13 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/78534
PR fortran/66310
* gfortran.dg/repeat_4.f90: Use integers of kind C_SIZE_T.
* gfortran.dg/repeat_7.f90: New test for PR 66310.
* gfortran.dg/scan_2.f90: Handle potential cast in assignment.
* gfortran.dg/string_1.f90: Limit to ilp32 targets.
* gfortran.dg/string_1_lp64.f90: New test.
* gfortran.dg/string_3.f90: Limit to ilp32 targets.
* gfortran.dg/string_3_lp64.f90: New test.
libgfortran:
2017-01-13 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/78534
* intrinsics/args.c (getarg_i4): Use gfc_charlen_type.
(get_command_argument_i4): Likewise.
(get_command_i4): Likewise.
* intrinsics/chmod.c (chmod_internal): Likewise.
* intrinsics/env.c (get_environment_variable_i4): Likewise.
* intrinsics/extends_type_of.c (struct vtype): Use size_t for size
member.
* intrinsics/gerror.c (gerror): Use gfc_charlen_type.
* intrinsics/getlog.c (getlog): Likewise.
* intrinsics/hostnm.c (hostnm_0): Likewise.
* intrinsics/string_intrinsics_inc.c (string_len_trim): Rework to
work if gfc_charlen_type is unsigned.
(string_scan): Likewise.
* io/transfer.c (transfer_character): Modify prototype.
(transfer_character_write): Likewise.
(transfer_character_wide): Likewise.
(transfer_character_wide_write): Likewise.
(transfer_array): Typecast to avoid signed-unsigned comparison.
* io/unit.c (is_trim_ok): Use gfc_charlen_type.
* io/write.c (namelist_write): Likewise.
* libgfortran.h (gfc_charlen_type): Change typedef to size_t.
From-SVN: r244448
|
|
EVENT_TYPE coarray)
gcc/testsuite/ChangeLog:
2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70696
* gfortran.dg/coarray/event_3.f08: New test.
gcc/fortran/ChangeLog:
2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70696
* trans-expr.c (gfc_get_tree_for_caf_expr): Ensure the backend_decl
is valid before accessing it.
libgfortran/ChangeLog:
2017-01-13 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70696
* caf/single.c (_gfortran_caf_register): Allocate enough memory for
the event counter.
From-SVN: r244407
|
|
fortran/trans.c:1588)
gcc/fortran/ChangeLog:
2017-01-07 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/78781
PR fortran/78935
* expr.c (gfc_check_pointer_assign): Return the same error message for
rewritten coarray pointer assignments like for plain ones.
* gfortran.h: Change prototype.
* primary.c (caf_variable_attr): Set attributes used ones only only
ones. Add setting of pointer_comp attribute.
(gfc_caf_attr): Add setting of pointer_comp attribute.
* trans-array.c (gfc_array_allocate): Add flag that the component to
allocate is not an ultimate coarray component. Add allocation of
pointer arrays.
(structure_alloc_comps): Extend nullify to treat pointer components in
coarrays correctly. Restructure nullify to remove redundant code.
(gfc_nullify_alloc_comp): Allow setting caf_mode flags.
* trans-array.h: Change prototype of gfc_nullify_alloc_comp ().
* trans-decl.c (generate_coarray_sym_init): Call nullify_alloc_comp for
derived type coarrays with pointer components.
* trans-expr.c (gfc_trans_structure_assign): Also treat pointer
components.
(trans_caf_token_assign): Handle assignment of token of scalar pointer
components.
(gfc_trans_pointer_assignment): Call above routine.
* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Add treating pointer
components.
(gfc_conv_intrinsic_caf_get): Likewise.
(conv_caf_send): Likewise.
* trans-stmt.c (gfc_trans_allocate): After allocating a derived type in
a coarray pre-register the tokens.
(gfc_trans_deallocate): Simply determining the coarray type (scalar or
array) and deregistering it correctly.
* trans-types.c (gfc_typenode_for_spec): Replace in_coarray flag by the
actual codim to allow lookup of array types in the cache.
(gfc_build_array_type): Likewise.
(gfc_get_array_descriptor_base): Likewise.
(gfc_get_array_type_bounds): Likewise.
(gfc_get_derived_type): Likewise.
* trans-types.h: Likewise.
* trans.c (gfc_deallocate_with_status): Enable deregistering of all kind
of coarray components.
(gfc_deallocate_scalar_with_status): Use free() in fcoarray_single mode
instead of caf_deregister.
libgfortran/ChangeLog:
2017-01-07 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/78781
PR fortran/78935
* caf/single.c (send_by_ref): Fix addressing of non-allocatable scalar
destination components.
gcc/testsuite/ChangeLog:
2017-01-07 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray/ptr_comp_1.f08: New test.
* gfortran.dg/coarray/ptr_comp_2.f08: New test.
* gfortran.dg/coarray/ptr_comp_3.f08: New test.
* gfortran.dg/coarray/ptr_comp_4.f08: New test.
* gfortran.dg/coarray_ptr_comp_1.f08: New test.
* gfortran.dg/coarray_ptr_comp_2.f08: New test.
* gfortran.dg/coarray_ptr_comp_3.f08: New test.
From-SVN: r244196
|
|
r244011 caused regressions on 32-bit hosts.
From-SVN: r244027
|
|
In order to handle large character lengths on (L)LP64 targets, switch
the GFortran character length from an int to a size_t.
This is an ABI change, as procedures with character arguments take
hidden arguments with the character length.
I also changed the _size member in vtables from int to size_t, as
there were some cases where character lengths and sizes were
apparently mixed up and caused regressions otherwise. Although I
haven't tested, this might enable very large derived types as well.
Also, as there are some places in the frontend were negative character
lengths are used as special flag values, in the frontend the character
length is handled as a signed variable of the same size as a size_t,
although in the runtime library it really is size_t.
I haven't changed the character length variables for the co-array
intrinsics, as this is something that may need to be synchronized with
OpenCoarrays.
This is v3 of the patch. All the issues pointed out by FX's review of
v2 have been fixed. In particular, there are now new functions
gfc_mpz_get_hwi and gfc_mpz_set_hwi, similar to the GMP functions
mpz_get_si and mpz_set_si, except that they get/set a HOST_WIDE_INT
instead of a long value. Similarly, gfc_get_int_expr now takes a
HOST_WIDE_INT instead of a long, gfc_extract_long is replaced by
gfc_extract_hwi. Also, the preliminary work to handle
gfc_charlen_type_node being unsigned has been removed.
Regtested on x86_64-pc-linux-gnu.
frontend:
2017-01-03 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/78534
PR fortran/66310
* class.c (gfc_find_derived_vtab): Use gfc_size_kind instead of
hardcoded kind.
(find_intrinsic_vtab): Likewise.
* expr.c (gfc_get_character_expr): Length parameter of type
gfc_charlen_t.
(gfc_get_int_expr): Value argument of type HOST_WIDE_INT.
(gfc_extract_hwi): New function.
(simplify_const_ref): Make string_len of type gfc_charlen_t.
(gfc_simplify_expr): Use HOST_WIDE_INT for substring refs.
* gfortran.h (gfc_mpz_get_hwi): New prototype.
(gfc_mpz_set_hwi): Likewise.
(gfc_charlen_t): New typedef.
(gfc_expr): Use gfc_charlen_t for character lengths.
(gfc_size_kind): New extern variable.
(gfc_extract_hwi): New prototype.
(gfc_get_character_expr): Use gfc_charlen_t for character length.
(gfc_get_int_expr): Use HOST_WIDE_INT type for value argument.
* iresolve.c (gfc_resolve_repeat): Pass string length directly without
temporary, use gfc_charlen_int_kind.
* match.c (select_intrinsic_set_tmp): Use HOST_WIDE_INT for charlen.
* misc.c (gfc_mpz_get_hwi): New function.
(gfc_mpz_set_hwi): New function.
* module.c (atom_int): Change type from int to HOST_WIDE_INT.
(parse_integer): Don't complain about large integers.
(write_atom): Use HOST_WIDE_INT for integers.
(mio_integer): Handle integer type mismatch.
(mio_hwi): New function.
(mio_intrinsic_op): Use HOST_WIDE_INT.
(mio_array_ref): Likewise.
(mio_expr): Likewise.
* resolve.c (resolve_select_type): Use HOST_WIDE_INT for charlen,
use snprintf.
(resolve_charlen): Use mpz_sgn to determine sign.
* simplify.c (gfc_simplify_repeat): Use HOST_WIDE_INT/gfc_charlen_t
instead of long.
* target-memory.c (size_character): Length argument of type
gfc_charlen_t.
(gfc_encode_character): Likewise.
(gfc_interpret_character): Use gfc_charlen_t.
* target-memory.h (gfc_encode_character): Modify prototype.
* trans-array.c (get_array_ctor_var_strlen): Use
gfc_conv_mpz_to_tree_type.
* trans-const.c (gfc_conv_mpz_to_tree_type): New function.
* trans-const.h (gfc_conv_mpz_to_tree_type): New prototype.
* trans-expr.c (gfc_class_len_or_zero_get): Build const of type
gfc_charlen_type_node.
(gfc_conv_intrinsic_to_class): Use gfc_charlen_int_kind instead of
4, fold_convert to correct type.
(gfc_conv_class_to_class): Build const of type size_type_node for
size.
(gfc_copy_class_to_class): Likewise.
(gfc_conv_string_length): Use same type in expression.
(gfc_conv_substring): Likewise, use HOST_WIDE_INT for charlen.
(gfc_conv_string_tmp): Make sure len is of the right type.
(gfc_conv_concat_op): Use same type in expression.
(gfc_conv_procedure_call): Likewise.
(alloc_scalar_allocatable_for_subcomponent_assignment):
fold_convert to right type.
(gfc_trans_subcomponent_assign): Likewise.
(trans_class_vptr_len_assignment): Build const of correct type.
(gfc_trans_pointer_assignment): Likewise.
(alloc_scalar_allocatable_for_assignment): fold_convert to right
type in expr.
(trans_class_assignment): Build const of correct type.
* trans-intrinsic.c (gfc_conv_associated): Likewise.
(gfc_conv_intrinsic_repeat): Do calculation in sizetype.
* trans-io.c (gfc_build_io_library_fndecls): Use
gfc_charlen_type_node for character lengths.
* trans-stmt.c (gfc_trans_label_assign): Build const of
gfc_charlen_type_node.
(gfc_trans_character_select): Likewise.
(gfc_trans_allocate): Likewise, don't typecast strlen result.
(gfc_trans_deallocate): Don't typecast strlen result.
* trans-types.c (gfc_size_kind): New variable.
(gfc_init_types): Determine gfc_charlen_int_kind and gfc_size_kind
from size_type_node.
testsuite:
2017-01-03 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/78534
PR fortran/66310
* gfortran.dg/dependency_49.f90: Change scan-tree-dump-times
due to gfc_trans_string_copy change to avoid
-Wstringop-overflow.
* gfortran.dg/repeat_4.f90: Use integers of kind C_SIZE_T.
* gfortran.dg/repeat_7.f90: New test for PR 66310.
* gfortran.dg/scan_2.f90: Handle potential cast in assignment.
* gfortran.dg/string_1.f90: Limit to ilp32 targets.
* gfortran.dg/string_1_lp64.f90: New test.
* gfortran.dg/string_3.f90: Limit to ilp32 targets.
* gfortran.dg/string_3_lp64.f90: New test.
* gfortran.dg/transfer_intrinsic_1.f90: Change
scan-tree-dump-times due to gfc_trans_string_copy change to
avoid -Wstringop-overflow.
libgfortran:
2017-01-03 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/78534
* intrinsics/args.c (getarg_i4): Use gfc_charlen_type.
(get_command_argument_i4): Likewise.
(get_command_i4): Likewise.
* intrinsics/chmod.c (chmod_internal): Likewise.
* intrinsics/env.c (get_environment_variable_i4): Likewise.
* intrinsics/extends_type_of.c (struct vtype): Use size_t for size
member.
* intrinsics/gerror.c (gerror): Use gfc_charlen_type.
* intrinsics/getlog.c (getlog): Likewise.
* intrinsics/hostnm.c (hostnm_0): Likewise.
* intrinsics/string_intrinsics_inc.c (string_len_trim): Rework to
work if gfc_charlen_type is unsigned.
(string_scan): Likewise.
* io/transfer.c (transfer_character): Modify prototype.
(transfer_character_write): Likewise.
(transfer_character_wide): Likewise.
(transfer_character_wide_write): Likewise.
(transfer_array): Typecast to avoid signed-unsigned comparison.
* io/unit.c (is_trim_ok): Use gfc_charlen_type.
* io/write.c (namelist_write): Likewise.
* libgfortran.h (gfc_charlen_type): Change typedef to size_t.
From-SVN: r244011
|
|
From-SVN: r243994
|
|
* intrinsics/random.c: Do not include <sys/types.h> header.
* m4/maxloc0.m4: Do not include <limits.h> header.
* m4/maxloc1.m4: Do not include <limits.h> header.
* m4/minloc0.m4: Do not include <limits.h> header.
* m4/minloc1.m4: Do not include <limits.h> header.
* m4/norm2.m4: Do not include <math.h> header.
* m4/parity.m4: Do not include <math.h> header.
* runtime/minimal.c: Remove <limits.h> and <errno.h> headers.
* generated/maxloc0_16_i1.c: Regenerate.
* generated/maxloc0_16_i16.c: Regenerate.
* generated/maxloc0_16_i2.c: Regenerate.
* generated/maxloc0_16_i4.c: Regenerate.
* generated/maxloc0_16_i8.c: Regenerate.
* generated/maxloc0_16_r10.c: Regenerate.
* generated/maxloc0_16_r16.c: Regenerate.
* generated/maxloc0_16_r4.c: Regenerate.
* generated/maxloc0_16_r8.c: Regenerate.
* generated/maxloc0_4_i1.c: Regenerate.
* generated/maxloc0_4_i16.c: Regenerate.
* generated/maxloc0_4_i2.c: Regenerate.
* generated/maxloc0_4_i4.c: Regenerate.
* generated/maxloc0_4_i8.c: Regenerate.
* generated/maxloc0_4_r10.c: Regenerate.
* generated/maxloc0_4_r16.c: Regenerate.
* generated/maxloc0_4_r4.c: Regenerate.
* generated/maxloc0_4_r8.c: Regenerate.
* generated/maxloc0_8_i1.c: Regenerate.
* generated/maxloc0_8_i16.c: Regenerate.
* generated/maxloc0_8_i2.c: Regenerate.
* generated/maxloc0_8_i4.c: Regenerate.
* generated/maxloc0_8_i8.c: Regenerate.
* generated/maxloc0_8_r10.c: Regenerate.
* generated/maxloc0_8_r16.c: Regenerate.
* generated/maxloc0_8_r4.c: Regenerate.
* generated/maxloc0_8_r8.c: Regenerate.
* generated/maxloc1_16_i1.c: Regenerate.
* generated/maxloc1_16_i16.c: Regenerate.
* generated/maxloc1_16_i2.c: Regenerate.
* generated/maxloc1_16_i4.c: Regenerate.
* generated/maxloc1_16_i8.c: Regenerate.
* generated/maxloc1_16_r10.c: Regenerate.
* generated/maxloc1_16_r16.c: Regenerate.
* generated/maxloc1_16_r4.c: Regenerate.
* generated/maxloc1_16_r8.c: Regenerate.
* generated/maxloc1_4_i1.c: Regenerate.
* generated/maxloc1_4_i16.c: Regenerate.
* generated/maxloc1_4_i2.c: Regenerate.
* generated/maxloc1_4_i4.c: Regenerate.
* generated/maxloc1_4_i8.c: Regenerate.
* generated/maxloc1_4_r10.c: Regenerate.
* generated/maxloc1_4_r16.c: Regenerate.
* generated/maxloc1_4_r4.c: Regenerate.
* generated/maxloc1_4_r8.c: Regenerate.
* generated/maxloc1_8_i1.c: Regenerate.
* generated/maxloc1_8_i16.c: Regenerate.
* generated/maxloc1_8_i2.c: Regenerate.
* generated/maxloc1_8_i4.c: Regenerate.
* generated/maxloc1_8_i8.c: Regenerate.
* generated/maxloc1_8_r10.c: Regenerate.
* generated/maxloc1_8_r16.c: Regenerate.
* generated/maxloc1_8_r4.c: Regenerate.
* generated/maxloc1_8_r8.c: Regenerate.
* generated/minloc0_16_i1.c: Regenerate.
* generated/minloc0_16_i16.c: Regenerate.
* generated/minloc0_16_i2.c: Regenerate.
* generated/minloc0_16_i4.c: Regenerate.
* generated/minloc0_16_i8.c: Regenerate.
* generated/minloc0_16_r10.c: Regenerate.
* generated/minloc0_16_r16.c: Regenerate.
* generated/minloc0_16_r4.c: Regenerate.
* generated/minloc0_16_r8.c: Regenerate.
* generated/minloc0_4_i1.c: Regenerate.
* generated/minloc0_4_i16.c: Regenerate.
* generated/minloc0_4_i2.c: Regenerate.
* generated/minloc0_4_i4.c: Regenerate.
* generated/minloc0_4_i8.c: Regenerate.
* generated/minloc0_4_r10.c: Regenerate.
* generated/minloc0_4_r16.c: Regenerate.
* generated/minloc0_4_r4.c: Regenerate.
* generated/minloc0_4_r8.c: Regenerate.
* generated/minloc0_8_i1.c: Regenerate.
* generated/minloc0_8_i16.c: Regenerate.
* generated/minloc0_8_i2.c: Regenerate.
* generated/minloc0_8_i4.c: Regenerate.
* generated/minloc0_8_i8.c: Regenerate.
* generated/minloc0_8_r10.c: Regenerate.
* generated/minloc0_8_r16.c: Regenerate.
* generated/minloc0_8_r4.c: Regenerate.
* generated/minloc0_8_r8.c: Regenerate.
* generated/minloc1_16_i1.c: Regenerate.
* generated/minloc1_16_i16.c: Regenerate.
* generated/minloc1_16_i2.c: Regenerate.
* generated/minloc1_16_i4.c: Regenerate.
* generated/minloc1_16_i8.c: Regenerate.
* generated/minloc1_16_r10.c: Regenerate.
* generated/minloc1_16_r16.c: Regenerate.
* generated/minloc1_16_r4.c: Regenerate.
* generated/minloc1_16_r8.c: Regenerate.
* generated/minloc1_4_i1.c: Regenerate.
* generated/minloc1_4_i16.c: Regenerate.
* generated/minloc1_4_i2.c: Regenerate.
* generated/minloc1_4_i4.c: Regenerate.
* generated/minloc1_4_i8.c: Regenerate.
* generated/minloc1_4_r10.c: Regenerate.
* generated/minloc1_4_r16.c: Regenerate.
* generated/minloc1_4_r4.c: Regenerate.
* generated/minloc1_4_r8.c: Regenerate.
* generated/minloc1_8_i1.c: Regenerate.
* generated/minloc1_8_i16.c: Regenerate.
* generated/minloc1_8_i2.c: Regenerate.
* generated/minloc1_8_i4.c: Regenerate.
* generated/minloc1_8_i8.c: Regenerate.
* generated/minloc1_8_r10.c: Regenerate.
* generated/minloc1_8_r16.c: Regenerate.
* generated/minloc1_8_r4.c: Regenerate.
* generated/minloc1_8_r8.c: Regenerate.
* generated/norm2_r10.c: Regenerate.
* generated/norm2_r16.c: Regenerate.
* generated/norm2_r4.c: Regenerate.
* generated/norm2_r8.c: Regenerate.
* generated/parity_l1.c: Regenerate.
* generated/parity_l16.c: Regenerate.
* generated/parity_l2.c: Regenerate.
* generated/parity_l4.c: Regenerate.
* generated/parity_l8.c: Regenerate.
From-SVN: r243847
|
|
* libgfortran.h: Include <stdlib.h> header.
* intrinsics/access.c: Do not include <stdlib.h> header.
* intrinsics/chdir.c: Do not include <stdlib.h> header.
* intrinsics/chmod.c: Do not include <stdlib.h> header.
* intrinsics/date_and_time.c: Do not include <stdlib.h> header.
* intrinsics/env.c: Do not include <stdlib.h> header.
* intrinsics/execute_command_line.c: Do not include <stdlib.h> header.
* intrinsics/exit.c: Do not include <stdlib.h> header.
* intrinsics/getcwd.c: Do not include <stdlib.h> header.
* intrinsics/getlog.c: Do not include <stdlib.h> header.
* intrinsics/link.c: Do not include <stdlib.h> header.
* intrinsics/move_alloc.c: Do not include <stdlib.h> header.
* intrinsics/perror.c: Do not include <stdlib.h> header.
* intrinsics/random.c: Do not include <stdlib.h> header.
* intrinsics/rename.c: Do not include <stdlib.h> header.
* intrinsics/reshape_generic.c: Do not include <stdlib.h> header.
* intrinsics/stat.c: Do not include <stdlib.h> header.
* intrinsics/symlnk.c: Do not include <stdlib.h> header.
* intrinsics/system.c: Do not include <stdlib.h> header.
* intrinsics/unlink.c: Do not include <stdlib.h> header.
* io/fbuf.c: Do not include <stdlib.h> header.
* io/format.c: Do not include <stdlib.h> header.
* io/intrinsics.c: Do not include <stdlib.h> header.
* io/list_read.c: Do not include <stdlib.h> header.
* io/lock.c: Do not include <stdlib.h> header.
* io/open.c: Do not include <stdlib.h> header.
* io/read.c: Do not include <stdlib.h> header.
* io/transfer.c: Do not include <stdlib.h> header.
* io/unit.c: Do not include <stdlib.h> header.
* io/unix.c: Do not include <stdlib.h> header.
* io/write.c: Do not include <stdlib.h> header.
* m4/all.m4: Do not include <stdlib.h> header.
* m4/any.m4: Do not include <stdlib.h> header.
* m4/bessel.m4: Do not include <stdlib.h> header.
* m4/count.m4: Do not include <stdlib.h> header.
* m4/cshift0.m4: Do not include <stdlib.h> header.
* m4/cshift1.m4: Do not include <stdlib.h> header.
* m4/eoshift1.m4: Do not include <stdlib.h> header.
* m4/eoshift3.m4: Do not include <stdlib.h> header.
* m4/iall.m4: Do not include <stdlib.h> header.
* m4/iany.m4: Do not include <stdlib.h> header.
* m4/in_pack.m4: Do not include <stdlib.h> header.
* m4/in_unpack.m4: Do not include <stdlib.h> header.
* m4/iparity.m4: Do not include <stdlib.h> header.
* m4/matmul.m4: Do not include <stdlib.h> header.
* m4/matmull.m4: Do not include <stdlib.h> header.
* m4/maxloc0.m4: Do not include <stdlib.h> header.
* m4/maxloc1.m4: Do not include <stdlib.h> header.
* m4/maxval.m4: Do not include <stdlib.h> header.
* m4/minloc0.m4: Do not include <stdlib.h> header.
* m4/minloc1.m4: Do not include <stdlib.h> header.
* m4/minval.m4: Do not include <stdlib.h> header.
* m4/norm2.m4: Do not include <stdlib.h> header.
* m4/pack.m4: Do not include <stdlib.h> header.
* m4/parity.m4: Do not include <stdlib.h> header.
* m4/product.m4: Do not include <stdlib.h> header.
* m4/reshape.m4: Do not include <stdlib.h> header.
* m4/shape.m4: Do not include <stdlib.h> header.
* m4/spread.m4: Do not include <stdlib.h> header.
* m4/sum.m4: Do not include <stdlib.h> header.
* m4/unpack.m4: Do not include <stdlib.h> header.
* runtime/environ.c: Do not include <stdlib.h> header.
* runtime/error.c: Do not include <stdlib.h> header.
* runtime/memory.c: Do not include <stdlib.h> header.
* runtime/minimal.c: Do not include <stdlib.h> header.
* runtime/string.c: Do not include <stdlib.h> header.
* generated/all_l1.c: Regenerate.
* generated/all_l16.c: Regenerate.
* generated/all_l2.c: Regenerate.
* generated/all_l4.c: Regenerate.
* generated/all_l8.c: Regenerate.
* generated/any_l1.c: Regenerate.
* generated/any_l16.c: Regenerate.
* generated/any_l2.c: Regenerate.
* generated/any_l4.c: Regenerate.
* generated/any_l8.c: Regenerate.
* generated/bessel_r10.c: Regenerate.
* generated/bessel_r16.c: Regenerate.
* generated/bessel_r4.c: Regenerate.
* generated/bessel_r8.c: Regenerate.
* generated/count_16_l.c: Regenerate.
* generated/count_1_l.c: Regenerate.
* generated/count_2_l.c: Regenerate.
* generated/count_4_l.c: Regenerate.
* generated/count_8_l.c: Regenerate.
* generated/cshift0_c10.c: Regenerate.
* generated/cshift0_c16.c: Regenerate.
* generated/cshift0_c4.c: Regenerate.
* generated/cshift0_c8.c: Regenerate.
* generated/cshift0_i1.c: Regenerate.
* generated/cshift0_i16.c: Regenerate.
* generated/cshift0_i2.c: Regenerate.
* generated/cshift0_i4.c: Regenerate.
* generated/cshift0_i8.c: Regenerate.
* generated/cshift0_r10.c: Regenerate.
* generated/cshift0_r16.c: Regenerate.
* generated/cshift0_r4.c: Regenerate.
* generated/cshift0_r8.c: Regenerate.
* generated/cshift1_16.c: Regenerate.
* generated/cshift1_4.c: Regenerate.
* generated/cshift1_8.c: Regenerate.
* generated/eoshift1_16.c: Regenerate.
* generated/eoshift1_4.c: Regenerate.
* generated/eoshift1_8.c: Regenerate.
* generated/eoshift3_16.c: Regenerate.
* generated/eoshift3_4.c: Regenerate.
* generated/eoshift3_8.c: Regenerate.
* generated/iall_i1.c: Regenerate.
* generated/iall_i16.c: Regenerate.
* generated/iall_i2.c: Regenerate.
* generated/iall_i4.c: Regenerate.
* generated/iall_i8.c: Regenerate.
* generated/iany_i1.c: Regenerate.
* generated/iany_i16.c: Regenerate.
* generated/iany_i2.c: Regenerate.
* generated/iany_i4.c: Regenerate.
* generated/iany_i8.c: Regenerate.
* generated/in_pack_c10.c: Regenerate.
* generated/in_pack_c16.c: Regenerate.
* generated/in_pack_c4.c: Regenerate.
* generated/in_pack_c8.c: Regenerate.
* generated/in_pack_i1.c: Regenerate.
* generated/in_pack_i16.c: Regenerate.
* generated/in_pack_i2.c: Regenerate.
* generated/in_pack_i4.c: Regenerate.
* generated/in_pack_i8.c: Regenerate.
* generated/in_pack_r10.c: Regenerate.
* generated/in_pack_r16.c: Regenerate.
* generated/in_pack_r4.c: Regenerate.
* generated/in_pack_r8.c: Regenerate.
* generated/in_unpack_c10.c: Regenerate.
* generated/in_unpack_c16.c: Regenerate.
* generated/in_unpack_c4.c: Regenerate.
* generated/in_unpack_c8.c: Regenerate.
* generated/in_unpack_i1.c: Regenerate.
* generated/in_unpack_i16.c: Regenerate.
* generated/in_unpack_i2.c: Regenerate.
* generated/in_unpack_i4.c: Regenerate.
* generated/in_unpack_i8.c: Regenerate.
* generated/in_unpack_r10.c: Regenerate.
* generated/in_unpack_r16.c: Regenerate.
* generated/in_unpack_r4.c: Regenerate.
* generated/in_unpack_r8.c: Regenerate.
* generated/iparity_i1.c: Regenerate.
* generated/iparity_i16.c: Regenerate.
* generated/iparity_i2.c: Regenerate.
* generated/iparity_i4.c: Regenerate.
* generated/iparity_i8.c: Regenerate.
* generated/matmul_c10.c: Regenerate.
* generated/matmul_c16.c: Regenerate.
* generated/matmul_c4.c: Regenerate.
* generated/matmul_c8.c: Regenerate.
* generated/matmul_i1.c: Regenerate.
* generated/matmul_i16.c: Regenerate.
* generated/matmul_i2.c: Regenerate.
* generated/matmul_i4.c: Regenerate.
* generated/matmul_i8.c: Regenerate.
* generated/matmul_l16.c: Regenerate.
* generated/matmul_l4.c: Regenerate.
* generated/matmul_l8.c: Regenerate.
* generated/matmul_r10.c: Regenerate.
* generated/matmul_r16.c: Regenerate.
* generated/matmul_r4.c: Regenerate.
* generated/matmul_r8.c: Regenerate.
* generated/maxloc0_16_i1.c: Regenerate.
* generated/maxloc0_16_i16.c: Regenerate.
* generated/maxloc0_16_i2.c: Regenerate.
* generated/maxloc0_16_i4.c: Regenerate.
* generated/maxloc0_16_i8.c: Regenerate.
* generated/maxloc0_16_r10.c: Regenerate.
* generated/maxloc0_16_r16.c: Regenerate.
* generated/maxloc0_16_r4.c: Regenerate.
* generated/maxloc0_16_r8.c: Regenerate.
* generated/maxloc0_4_i1.c: Regenerate.
* generated/maxloc0_4_i16.c: Regenerate.
* generated/maxloc0_4_i2.c: Regenerate.
* generated/maxloc0_4_i4.c: Regenerate.
* generated/maxloc0_4_i8.c: Regenerate.
* generated/maxloc0_4_r10.c: Regenerate.
* generated/maxloc0_4_r16.c: Regenerate.
* generated/maxloc0_4_r4.c: Regenerate.
* generated/maxloc0_4_r8.c: Regenerate.
* generated/maxloc0_8_i1.c: Regenerate.
* generated/maxloc0_8_i16.c: Regenerate.
* generated/maxloc0_8_i2.c: Regenerate.
* generated/maxloc0_8_i4.c: Regenerate.
* generated/maxloc0_8_i8.c: Regenerate.
* generated/maxloc0_8_r10.c: Regenerate.
* generated/maxloc0_8_r16.c: Regenerate.
* generated/maxloc0_8_r4.c: Regenerate.
* generated/maxloc0_8_r8.c: Regenerate.
* generated/maxloc1_16_i1.c: Regenerate.
* generated/maxloc1_16_i16.c: Regenerate.
* generated/maxloc1_16_i2.c: Regenerate.
* generated/maxloc1_16_i4.c: Regenerate.
* generated/maxloc1_16_i8.c: Regenerate.
* generated/maxloc1_16_r10.c: Regenerate.
* generated/maxloc1_16_r16.c: Regenerate.
* generated/maxloc1_16_r4.c: Regenerate.
* generated/maxloc1_16_r8.c: Regenerate.
* generated/maxloc1_4_i1.c: Regenerate.
* generated/maxloc1_4_i16.c: Regenerate.
* generated/maxloc1_4_i2.c: Regenerate.
* generated/maxloc1_4_i4.c: Regenerate.
* generated/maxloc1_4_i8.c: Regenerate.
* generated/maxloc1_4_r10.c: Regenerate.
* generated/maxloc1_4_r16.c: Regenerate.
* generated/maxloc1_4_r4.c: Regenerate.
* generated/maxloc1_4_r8.c: Regenerate.
* generated/maxloc1_8_i1.c: Regenerate.
* generated/maxloc1_8_i16.c: Regenerate.
* generated/maxloc1_8_i2.c: Regenerate.
* generated/maxloc1_8_i4.c: Regenerate.
* generated/maxloc1_8_i8.c: Regenerate.
* generated/maxloc1_8_r10.c: Regenerate.
* generated/maxloc1_8_r16.c: Regenerate.
* generated/maxloc1_8_r4.c: Regenerate.
* generated/maxloc1_8_r8.c: Regenerate.
* generated/maxval_i1.c: Regenerate.
* generated/maxval_i16.c: Regenerate.
* generated/maxval_i2.c: Regenerate.
* generated/maxval_i4.c: Regenerate.
* generated/maxval_i8.c: Regenerate.
* generated/maxval_r10.c: Regenerate.
* generated/maxval_r16.c: Regenerate.
* generated/maxval_r4.c: Regenerate.
* generated/maxval_r8.c: Regenerate.
* generated/minloc0_16_i1.c: Regenerate.
* generated/minloc0_16_i16.c: Regenerate.
* generated/minloc0_16_i2.c: Regenerate.
* generated/minloc0_16_i4.c: Regenerate.
* generated/minloc0_16_i8.c: Regenerate.
* generated/minloc0_16_r10.c: Regenerate.
* generated/minloc0_16_r16.c: Regenerate.
* generated/minloc0_16_r4.c: Regenerate.
* generated/minloc0_16_r8.c: Regenerate.
* generated/minloc0_4_i1.c: Regenerate.
* generated/minloc0_4_i16.c: Regenerate.
* generated/minloc0_4_i2.c: Regenerate.
* generated/minloc0_4_i4.c: Regenerate.
* generated/minloc0_4_i8.c: Regenerate.
* generated/minloc0_4_r10.c: Regenerate.
* generated/minloc0_4_r16.c: Regenerate.
* generated/minloc0_4_r4.c: Regenerate.
* generated/minloc0_4_r8.c: Regenerate.
* generated/minloc0_8_i1.c: Regenerate.
* generated/minloc0_8_i16.c: Regenerate.
* generated/minloc0_8_i2.c: Regenerate.
* generated/minloc0_8_i4.c: Regenerate.
* generated/minloc0_8_i8.c: Regenerate.
* generated/minloc0_8_r10.c: Regenerate.
* generated/minloc0_8_r16.c: Regenerate.
* generated/minloc0_8_r4.c: Regenerate.
* generated/minloc0_8_r8.c: Regenerate.
* generated/minloc1_16_i1.c: Regenerate.
* generated/minloc1_16_i16.c: Regenerate.
* generated/minloc1_16_i2.c: Regenerate.
* generated/minloc1_16_i4.c: Regenerate.
* generated/minloc1_16_i8.c: Regenerate.
* generated/minloc1_16_r10.c: Regenerate.
* generated/minloc1_16_r16.c: Regenerate.
* generated/minloc1_16_r4.c: Regenerate.
* generated/minloc1_16_r8.c: Regenerate.
* generated/minloc1_4_i1.c: Regenerate.
* generated/minloc1_4_i16.c: Regenerate.
* generated/minloc1_4_i2.c: Regenerate.
* generated/minloc1_4_i4.c: Regenerate.
* generated/minloc1_4_i8.c: Regenerate.
* generated/minloc1_4_r10.c: Regenerate.
* generated/minloc1_4_r16.c: Regenerate.
* generated/minloc1_4_r4.c: Regenerate.
* generated/minloc1_4_r8.c: Regenerate.
* generated/minloc1_8_i1.c: Regenerate.
* generated/minloc1_8_i16.c: Regenerate.
* generated/minloc1_8_i2.c: Regenerate.
* generated/minloc1_8_i4.c: Regenerate.
* generated/minloc1_8_i8.c: Regenerate.
* generated/minloc1_8_r10.c: Regenerate.
* generated/minloc1_8_r16.c: Regenerate.
* generated/minloc1_8_r4.c: Regenerate.
* generated/minloc1_8_r8.c: Regenerate.
* generated/minval_i1.c: Regenerate.
* generated/minval_i16.c: Regenerate.
* generated/minval_i2.c: Regenerate.
* generated/minval_i4.c: Regenerate.
* generated/minval_i8.c: Regenerate.
* generated/minval_r10.c: Regenerate.
* generated/minval_r16.c: Regenerate.
* generated/minval_r4.c: Regenerate.
* generated/minval_r8.c: Regenerate.
* generated/norm2_r10.c: Regenerate.
* generated/norm2_r16.c: Regenerate.
* generated/norm2_r4.c: Regenerate.
* generated/norm2_r8.c: Regenerate.
* generated/pack_c10.c: Regenerate.
* generated/pack_c16.c: Regenerate.
* generated/pack_c4.c: Regenerate.
* generated/pack_c8.c: Regenerate.
* generated/pack_i1.c: Regenerate.
* generated/pack_i16.c: Regenerate.
* generated/pack_i2.c: Regenerate.
* generated/pack_i4.c: Regenerate.
* generated/pack_i8.c: Regenerate.
* generated/pack_r10.c: Regenerate.
* generated/pack_r16.c: Regenerate.
* generated/pack_r4.c: Regenerate.
* generated/pack_r8.c: Regenerate.
* generated/parity_l1.c: Regenerate.
* generated/parity_l16.c: Regenerate.
* generated/parity_l2.c: Regenerate.
* generated/parity_l4.c: Regenerate.
* generated/parity_l8.c: Regenerate.
* generated/product_c10.c: Regenerate.
* generated/product_c16.c: Regenerate.
* generated/product_c4.c: Regenerate.
* generated/product_c8.c: Regenerate.
* generated/product_i1.c: Regenerate.
* generated/product_i16.c: Regenerate.
* generated/product_i2.c: Regenerate.
* generated/product_i4.c: Regenerate.
* generated/product_i8.c: Regenerate.
* generated/product_r10.c: Regenerate.
* generated/product_r16.c: Regenerate.
* generated/product_r4.c: Regenerate.
* generated/product_r8.c: Regenerate.
* generated/reshape_c10.c: Regenerate.
* generated/reshape_c16.c: Regenerate.
* generated/reshape_c4.c: Regenerate.
* generated/reshape_c8.c: Regenerate.
* generated/reshape_i16.c: Regenerate.
* generated/reshape_i4.c: Regenerate.
* generated/reshape_i8.c: Regenerate.
* generated/reshape_r10.c: Regenerate.
* generated/reshape_r16.c: Regenerate.
* generated/reshape_r4.c: Regenerate.
* generated/reshape_r8.c: Regenerate.
* generated/shape_i1.c: Regenerate.
* generated/shape_i16.c: Regenerate.
* generated/shape_i2.c: Regenerate.
* generated/shape_i4.c: Regenerate.
* generated/shape_i8.c: Regenerate.
* generated/spread_c10.c: Regenerate.
* generated/spread_c16.c: Regenerate.
* generated/spread_c4.c: Regenerate.
* generated/spread_c8.c: Regenerate.
* generated/spread_i1.c: Regenerate.
* generated/spread_i16.c: Regenerate.
* generated/spread_i2.c: Regenerate.
* generated/spread_i4.c: Regenerate.
* generated/spread_i8.c: Regenerate.
* generated/spread_r10.c: Regenerate.
* generated/spread_r16.c: Regenerate.
* generated/spread_r4.c: Regenerate.
* generated/spread_r8.c: Regenerate.
* generated/sum_c10.c: Regenerate.
* generated/sum_c16.c: Regenerate.
* generated/sum_c4.c: Regenerate.
* generated/sum_c8.c: Regenerate.
* generated/sum_i1.c: Regenerate.
* generated/sum_i16.c: Regenerate.
* generated/sum_i2.c: Regenerate.
* generated/sum_i4.c: Regenerate.
* generated/sum_i8.c: Regenerate.
* generated/sum_r10.c: Regenerate.
* generated/sum_r16.c: Regenerate.
* generated/sum_r4.c: Regenerate.
* generated/sum_r8.c: Regenerate.
* generated/unpack_c10.c: Regenerate.
* generated/unpack_c16.c: Regenerate.
* generated/unpack_c4.c: Regenerate.
* generated/unpack_c8.c: Regenerate.
* generated/unpack_i1.c: Regenerate.
* generated/unpack_i16.c: Regenerate.
* generated/unpack_i2.c: Regenerate.
* generated/unpack_i4.c: Regenerate.
* generated/unpack_i8.c: Regenerate.
* generated/unpack_r10.c: Regenerate.
* generated/unpack_r16.c: Regenerate.
* generated/unpack_r4.c: Regenerate.
* generated/unpack_r8.c: Regenerate.
From-SVN: r243846
|
|
* intrinsics/abort.c: Remove unused headers.
* intrinsics/access.c: Remove unused headers.
* intrinsics/chdir.c: Remove unused headers.
* intrinsics/chmod.c: Remove unused headers.
* intrinsics/cshift0.c: Remove unused headers.
* intrinsics/ctime.c: Remove unused headers.
* intrinsics/eoshift0.c: Remove unused headers.
* intrinsics/eoshift2.c: Remove unused headers.
* intrinsics/extends_type_of.c: Remove unused headers.
* intrinsics/link.c: Remove unused headers.
* intrinsics/pack_generic.c: Remove unused headers.
* intrinsics/perror.c: Remove unused headers.
* intrinsics/rename.c: Remove unused headers.
* intrinsics/reshape_generic.c: Remove unused headers.
* intrinsics/sleep.c: Remove unused headers.
* intrinsics/spread_generic.c: Remove unused headers.
* intrinsics/stat.c: Remove unused headers.
* intrinsics/string_intrinsics.c: Remove unused headers.
* intrinsics/symlnk.c: Remove unused headers.
* intrinsics/system.c: Remove unused headers.
* intrinsics/umask.c: Remove unused headers.
* intrinsics/unlink.c: Remove unused headers.
* intrinsics/unpack_generic.c: Remove unused headers.
* io/read.c: Remove unused headers.
* io/transfer.c: Remove unused headers.
* io/unix.c: Remove unused headers.
* io/write.c: Remove unused headers.
* m4/all.m4: Remove unused headers.
* m4/any.m4: Remove unused headers.
* m4/bessel.m4: Remove unused headers.
* m4/count.m4: Remove unused headers.
* m4/cshift0.m4: Remove unused headers.
* m4/cshift1.m4: Remove unused headers.
* m4/eoshift1.m4: Remove unused headers.
* m4/eoshift3.m4: Remove unused headers.
* m4/iall.m4: Remove unused headers.
* m4/iany.m4: Remove unused headers.
* m4/in_pack.m4: Remove unused headers.
* m4/in_unpack.m4: Remove unused headers.
* m4/iparity.m4: Remove unused headers.
* m4/maxloc0.m4: Remove unused headers.
* m4/maxloc1.m4: Remove unused headers.
* m4/maxval.m4: Remove unused headers.
* m4/minloc0.m4: Remove unused headers.
* m4/minloc1.m4: Remove unused headers.
* m4/minval.m4: Remove unused headers.
* m4/norm2.m4: Remove unused headers.
* m4/pack.m4: Remove unused headers.
* m4/parity.m4: Remove unused headers.
* m4/product.m4: Remove unused headers.
* m4/reshape.m4: Remove unused headers.
* m4/shape.m4: Remove unused headers.
* m4/spread.m4: Remove unused headers.
* m4/sum.m4: Remove unused headers.
* m4/unpack.m4: Remove unused headers.
* runtime/backtrace.c: Remove unused headers.
* runtime/convert_char.c: Remove unused headers.
* runtime/in_pack_generic.c: Remove unused headers.
* runtime/in_unpack_generic.c: Remove unused headers.
* runtime/main.c: Remove unused headers.
* runtime/stop.c: Remove unused headers.
* generated/all_l1.c: Regenerate.
* generated/all_l16.c: Regenerate.
* generated/all_l2.c: Regenerate.
* generated/all_l4.c: Regenerate.
* generated/all_l8.c: Regenerate.
* generated/any_l1.c: Regenerate.
* generated/any_l16.c: Regenerate.
* generated/any_l2.c: Regenerate.
* generated/any_l4.c: Regenerate.
* generated/any_l8.c: Regenerate.
* generated/bessel_r10.c: Regenerate.
* generated/bessel_r16.c: Regenerate.
* generated/bessel_r4.c: Regenerate.
* generated/bessel_r8.c: Regenerate.
* generated/count_16_l.c: Regenerate.
* generated/count_1_l.c: Regenerate.
* generated/count_2_l.c: Regenerate.
* generated/count_4_l.c: Regenerate.
* generated/count_8_l.c: Regenerate.
* generated/cshift0_c10.c: Regenerate.
* generated/cshift0_c16.c: Regenerate.
* generated/cshift0_c4.c: Regenerate.
* generated/cshift0_c8.c: Regenerate.
* generated/cshift0_i1.c: Regenerate.
* generated/cshift0_i16.c: Regenerate.
* generated/cshift0_i2.c: Regenerate.
* generated/cshift0_i4.c: Regenerate.
* generated/cshift0_i8.c: Regenerate.
* generated/cshift0_r10.c: Regenerate.
* generated/cshift0_r16.c: Regenerate.
* generated/cshift0_r4.c: Regenerate.
* generated/cshift0_r8.c: Regenerate.
* generated/cshift1_16.c: Regenerate.
* generated/cshift1_4.c: Regenerate.
* generated/cshift1_8.c: Regenerate.
* generated/eoshift1_16.c: Regenerate.
* generated/eoshift1_4.c: Regenerate.
* generated/eoshift1_8.c: Regenerate.
* generated/eoshift3_16.c: Regenerate.
* generated/eoshift3_4.c: Regenerate.
* generated/eoshift3_8.c: Regenerate.
* generated/iall_i1.c: Regenerate.
* generated/iall_i16.c: Regenerate.
* generated/iall_i2.c: Regenerate.
* generated/iall_i4.c: Regenerate.
* generated/iall_i8.c: Regenerate.
* generated/iany_i1.c: Regenerate.
* generated/iany_i16.c: Regenerate.
* generated/iany_i2.c: Regenerate.
* generated/iany_i4.c: Regenerate.
* generated/iany_i8.c: Regenerate.
* generated/in_pack_c10.c: Regenerate.
* generated/in_pack_c16.c: Regenerate.
* generated/in_pack_c4.c: Regenerate.
* generated/in_pack_c8.c: Regenerate.
* generated/in_pack_i1.c: Regenerate.
* generated/in_pack_i16.c: Regenerate.
* generated/in_pack_i2.c: Regenerate.
* generated/in_pack_i4.c: Regenerate.
* generated/in_pack_i8.c: Regenerate.
* generated/in_pack_r10.c: Regenerate.
* generated/in_pack_r16.c: Regenerate.
* generated/in_pack_r4.c: Regenerate.
* generated/in_pack_r8.c: Regenerate.
* generated/in_unpack_c10.c: Regenerate.
* generated/in_unpack_c16.c: Regenerate.
* generated/in_unpack_c4.c: Regenerate.
* generated/in_unpack_c8.c: Regenerate.
* generated/in_unpack_i1.c: Regenerate.
* generated/in_unpack_i16.c: Regenerate.
* generated/in_unpack_i2.c: Regenerate.
* generated/in_unpack_i4.c: Regenerate.
* generated/in_unpack_i8.c: Regenerate.
* generated/in_unpack_r10.c: Regenerate.
* generated/in_unpack_r16.c: Regenerate.
* generated/in_unpack_r4.c: Regenerate.
* generated/in_unpack_r8.c: Regenerate.
* generated/iparity_i1.c: Regenerate.
* generated/iparity_i16.c: Regenerate.
* generated/iparity_i2.c: Regenerate.
* generated/iparity_i4.c: Regenerate.
* generated/iparity_i8.c: Regenerate.
* generated/maxloc0_16_i1.c: Regenerate.
* generated/maxloc0_16_i16.c: Regenerate.
* generated/maxloc0_16_i2.c: Regenerate.
* generated/maxloc0_16_i4.c: Regenerate.
* generated/maxloc0_16_i8.c: Regenerate.
* generated/maxloc0_16_r10.c: Regenerate.
* generated/maxloc0_16_r16.c: Regenerate.
* generated/maxloc0_16_r4.c: Regenerate.
* generated/maxloc0_16_r8.c: Regenerate.
* generated/maxloc0_4_i1.c: Regenerate.
* generated/maxloc0_4_i16.c: Regenerate.
* generated/maxloc0_4_i2.c: Regenerate.
* generated/maxloc0_4_i4.c: Regenerate.
* generated/maxloc0_4_i8.c: Regenerate.
* generated/maxloc0_4_r10.c: Regenerate.
* generated/maxloc0_4_r16.c: Regenerate.
* generated/maxloc0_4_r4.c: Regenerate.
* generated/maxloc0_4_r8.c: Regenerate.
* generated/maxloc0_8_i1.c: Regenerate.
* generated/maxloc0_8_i16.c: Regenerate.
* generated/maxloc0_8_i2.c: Regenerate.
* generated/maxloc0_8_i4.c: Regenerate.
* generated/maxloc0_8_i8.c: Regenerate.
* generated/maxloc0_8_r10.c: Regenerate.
* generated/maxloc0_8_r16.c: Regenerate.
* generated/maxloc0_8_r4.c: Regenerate.
* generated/maxloc0_8_r8.c: Regenerate.
* generated/maxloc1_16_i1.c: Regenerate.
* generated/maxloc1_16_i16.c: Regenerate.
* generated/maxloc1_16_i2.c: Regenerate.
* generated/maxloc1_16_i4.c: Regenerate.
* generated/maxloc1_16_i8.c: Regenerate.
* generated/maxloc1_16_r10.c: Regenerate.
* generated/maxloc1_16_r16.c: Regenerate.
* generated/maxloc1_16_r4.c: Regenerate.
* generated/maxloc1_16_r8.c: Regenerate.
* generated/maxloc1_4_i1.c: Regenerate.
* generated/maxloc1_4_i16.c: Regenerate.
* generated/maxloc1_4_i2.c: Regenerate.
* generated/maxloc1_4_i4.c: Regenerate.
* generated/maxloc1_4_i8.c: Regenerate.
* generated/maxloc1_4_r10.c: Regenerate.
* generated/maxloc1_4_r16.c: Regenerate.
* generated/maxloc1_4_r4.c: Regenerate.
* generated/maxloc1_4_r8.c: Regenerate.
* generated/maxloc1_8_i1.c: Regenerate.
* generated/maxloc1_8_i16.c: Regenerate.
* generated/maxloc1_8_i2.c: Regenerate.
* generated/maxloc1_8_i4.c: Regenerate.
* generated/maxloc1_8_i8.c: Regenerate.
* generated/maxloc1_8_r10.c: Regenerate.
* generated/maxloc1_8_r16.c: Regenerate.
* generated/maxloc1_8_r4.c: Regenerate.
* generated/maxloc1_8_r8.c: Regenerate.
* generated/maxval_i1.c: Regenerate.
* generated/maxval_i16.c: Regenerate.
* generated/maxval_i2.c: Regenerate.
* generated/maxval_i4.c: Regenerate.
* generated/maxval_i8.c: Regenerate.
* generated/maxval_r10.c: Regenerate.
* generated/maxval_r16.c: Regenerate.
* generated/maxval_r4.c: Regenerate.
* generated/maxval_r8.c: Regenerate.
* generated/minloc0_16_i1.c: Regenerate.
* generated/minloc0_16_i16.c: Regenerate.
* generated/minloc0_16_i2.c: Regenerate.
* generated/minloc0_16_i4.c: Regenerate.
* generated/minloc0_16_i8.c: Regenerate.
* generated/minloc0_16_r10.c: Regenerate.
* generated/minloc0_16_r16.c: Regenerate.
* generated/minloc0_16_r4.c: Regenerate.
* generated/minloc0_16_r8.c: Regenerate.
* generated/minloc0_4_i1.c: Regenerate.
* generated/minloc0_4_i16.c: Regenerate.
* generated/minloc0_4_i2.c: Regenerate.
* generated/minloc0_4_i4.c: Regenerate.
* generated/minloc0_4_i8.c: Regenerate.
* generated/minloc0_4_r10.c: Regenerate.
* generated/minloc0_4_r16.c: Regenerate.
* generated/minloc0_4_r4.c: Regenerate.
* generated/minloc0_4_r8.c: Regenerate.
* generated/minloc0_8_i1.c: Regenerate.
* generated/minloc0_8_i16.c: Regenerate.
* generated/minloc0_8_i2.c: Regenerate.
* generated/minloc0_8_i4.c: Regenerate.
* generated/minloc0_8_i8.c: Regenerate.
* generated/minloc0_8_r10.c: Regenerate.
* generated/minloc0_8_r16.c: Regenerate.
* generated/minloc0_8_r4.c: Regenerate.
* generated/minloc0_8_r8.c: Regenerate.
* generated/minloc1_16_i1.c: Regenerate.
* generated/minloc1_16_i16.c: Regenerate.
* generated/minloc1_16_i2.c: Regenerate.
* generated/minloc1_16_i4.c: Regenerate.
* generated/minloc1_16_i8.c: Regenerate.
* generated/minloc1_16_r10.c: Regenerate.
* generated/minloc1_16_r16.c: Regenerate.
* generated/minloc1_16_r4.c: Regenerate.
* generated/minloc1_16_r8.c: Regenerate.
* generated/minloc1_4_i1.c: Regenerate.
* generated/minloc1_4_i16.c: Regenerate.
* generated/minloc1_4_i2.c: Regenerate.
* generated/minloc1_4_i4.c: Regenerate.
* generated/minloc1_4_i8.c: Regenerate.
* generated/minloc1_4_r10.c: Regenerate.
* generated/minloc1_4_r16.c: Regenerate.
* generated/minloc1_4_r4.c: Regenerate.
* generated/minloc1_4_r8.c: Regenerate.
* generated/minloc1_8_i1.c: Regenerate.
* generated/minloc1_8_i16.c: Regenerate.
* generated/minloc1_8_i2.c: Regenerate.
* generated/minloc1_8_i4.c: Regenerate.
* generated/minloc1_8_i8.c: Regenerate.
* generated/minloc1_8_r10.c: Regenerate.
* generated/minloc1_8_r16.c: Regenerate.
* generated/minloc1_8_r4.c: Regenerate.
* generated/minloc1_8_r8.c: Regenerate.
* generated/minval_i1.c: Regenerate.
* generated/minval_i16.c: Regenerate.
* generated/minval_i2.c: Regenerate.
* generated/minval_i4.c: Regenerate.
* generated/minval_i8.c: Regenerate.
* generated/minval_r10.c: Regenerate.
* generated/minval_r16.c: Regenerate.
* generated/minval_r4.c: Regenerate.
* generated/minval_r8.c: Regenerate.
* generated/norm2_r10.c: Regenerate.
* generated/norm2_r16.c: Regenerate.
* generated/norm2_r4.c: Regenerate.
* generated/norm2_r8.c: Regenerate.
* generated/pack_c10.c: Regenerate.
* generated/pack_c16.c: Regenerate.
* generated/pack_c4.c: Regenerate.
* generated/pack_c8.c: Regenerate.
* generated/pack_i1.c: Regenerate.
* generated/pack_i16.c: Regenerate.
* generated/pack_i2.c: Regenerate.
* generated/pack_i4.c: Regenerate.
* generated/pack_i8.c: Regenerate.
* generated/pack_r10.c: Regenerate.
* generated/pack_r16.c: Regenerate.
* generated/pack_r4.c: Regenerate.
* generated/pack_r8.c: Regenerate.
* generated/parity_l1.c: Regenerate.
* generated/parity_l16.c: Regenerate.
* generated/parity_l2.c: Regenerate.
* generated/parity_l4.c: Regenerate.
* generated/parity_l8.c: Regenerate.
* generated/product_c10.c: Regenerate.
* generated/product_c16.c: Regenerate.
* generated/product_c4.c: Regenerate.
* generated/product_c8.c: Regenerate.
* generated/product_i1.c: Regenerate.
* generated/product_i16.c: Regenerate.
* generated/product_i2.c: Regenerate.
* generated/product_i4.c: Regenerate.
* generated/product_i8.c: Regenerate.
* generated/product_r10.c: Regenerate.
* generated/product_r16.c: Regenerate.
* generated/product_r4.c: Regenerate.
* generated/product_r8.c: Regenerate.
* generated/reshape_c10.c: Regenerate.
* generated/reshape_c16.c: Regenerate.
* generated/reshape_c4.c: Regenerate.
* generated/reshape_c8.c: Regenerate.
* generated/reshape_i16.c: Regenerate.
* generated/reshape_i4.c: Regenerate.
* generated/reshape_i8.c: Regenerate.
* generated/reshape_r10.c: Regenerate.
* generated/reshape_r16.c: Regenerate.
* generated/reshape_r4.c: Regenerate.
* generated/reshape_r8.c: Regenerate.
* generated/shape_i1.c: Regenerate.
* generated/shape_i16.c: Regenerate.
* generated/shape_i2.c: Regenerate.
* generated/shape_i4.c: Regenerate.
* generated/shape_i8.c: Regenerate.
* generated/spread_c10.c: Regenerate.
* generated/spread_c16.c: Regenerate.
* generated/spread_c4.c: Regenerate.
* generated/spread_c8.c: Regenerate.
* generated/spread_i1.c: Regenerate.
* generated/spread_i16.c: Regenerate.
* generated/spread_i2.c: Regenerate.
* generated/spread_i4.c: Regenerate.
* generated/spread_i8.c: Regenerate.
* generated/spread_r10.c: Regenerate.
* generated/spread_r16.c: Regenerate.
* generated/spread_r4.c: Regenerate.
* generated/spread_r8.c: Regenerate.
* generated/sum_c10.c: Regenerate.
* generated/sum_c16.c: Regenerate.
* generated/sum_c4.c: Regenerate.
* generated/sum_c8.c: Regenerate.
* generated/sum_i1.c: Regenerate.
* generated/sum_i16.c: Regenerate.
* generated/sum_i2.c: Regenerate.
* generated/sum_i4.c: Regenerate.
* generated/sum_i8.c: Regenerate.
* generated/sum_r10.c: Regenerate.
* generated/sum_r16.c: Regenerate.
* generated/sum_r4.c: Regenerate.
* generated/sum_r8.c: Regenerate.
* generated/unpack_c10.c: Regenerate.
* generated/unpack_c16.c: Regenerate.
* generated/unpack_c4.c: Regenerate.
* generated/unpack_c8.c: Regenerate.
* generated/unpack_i1.c: Regenerate.
* generated/unpack_i16.c: Regenerate.
* generated/unpack_i2.c: Regenerate.
* generated/unpack_i4.c: Regenerate.
* generated/unpack_i8.c: Regenerate.
* generated/unpack_r10.c: Regenerate.
* generated/unpack_r16.c: Regenerate.
* generated/unpack_r4.c: Regenerate.
* generated/unpack_r8.c: Regenerate.
From-SVN: r243844
|
|
function strncasecmp")
PR libfortran/70311
* intrinsics/selected_char_kind.c: Include <strings.h> header.
* runtime/environ.c: Include <strings.h> header.
* runtime/string.c: Include <strings.h> header.
From-SVN: r243843
|
|
* iresolve.c (gfc_resolve_ftell): Call "ftell" instead of "ftell2".
* gfortran.map: Remove _gfortran_ftell2.
* io/intrinsics.c (ftell): Remove.
(ftell2): Rename to ftell.
From-SVN: r243841
|
|
* gfortran.map: Move all _gfortran_* __iso_c_binding_* symbols
to GFORTRAN_7. Rename F2C_1.0 to GFORTRAN_F2C_7. Move all C99
compatibility symbols to GFORTRAN_C99_7.
From-SVN: r243839
|
|
set_options call.
* trans-decl.c (create_main_function): Remove unused elements to
the set_options call.
* runtime/compile_options.c (set_options): Remove unused elements.
From-SVN: r243814
|
|
2016-12-19 Janne Blomqvist <jb@gcc.gnu.org>
* Actually remove files that should have been removed by r243799.
This line, and those below, will be ignored--
M libgfortran/ChangeLog
D libgfortran/generated/exponent_r10.c
D libgfortran/generated/exponent_r16.c
D libgfortran/generated/exponent_r4.c
D libgfortran/generated/exponent_r8.c
D libgfortran/generated/fraction_r10.c
D libgfortran/generated/fraction_r16.c
D libgfortran/generated/fraction_r4.c
D libgfortran/generated/fraction_r8.c
D libgfortran/generated/nearest_r10.c
D libgfortran/generated/nearest_r16.c
D libgfortran/generated/nearest_r4.c
D libgfortran/generated/nearest_r8.c
D libgfortran/generated/rrspacing_r10.c
D libgfortran/generated/rrspacing_r16.c
D libgfortran/generated/rrspacing_r4.c
D libgfortran/generated/rrspacing_r8.c
D libgfortran/generated/set_exponent_r10.c
D libgfortran/generated/set_exponent_r16.c
D libgfortran/generated/set_exponent_r4.c
D libgfortran/generated/set_exponent_r8.c
D libgfortran/generated/spacing_r10.c
D libgfortran/generated/spacing_r16.c
D libgfortran/generated/spacing_r4.c
D libgfortran/generated/spacing_r8.c
D libgfortran/generated/transpose_c10.c
D libgfortran/generated/transpose_c16.c
D libgfortran/generated/transpose_c4.c
D libgfortran/generated/transpose_c8.c
D libgfortran/generated/transpose_i16.c
D libgfortran/generated/transpose_i4.c
D libgfortran/generated/transpose_i8.c
D libgfortran/generated/transpose_r10.c
D libgfortran/generated/transpose_r16.c
D libgfortran/generated/transpose_r4.c
D libgfortran/generated/transpose_r8.c
D libgfortran/intrinsics/malloc.c
D libgfortran/intrinsics/transpose_generic.c
D libgfortran/m4/exponent.m4
D libgfortran/m4/fraction.m4
D libgfortran/m4/nearest.m4
D libgfortran/m4/rrspacing.m4
D libgfortran/m4/set_exponent.m4
D libgfortran/m4/spacing.m4
D libgfortran/m4/transpose.m4
From-SVN: r243804
|
|
* trans.h: Remove gfor_fndecl_stop_numeric_f08.
* trans-decl.c: Remove gfor_fndecl_stop_numeric_f08.
* trans-stmt.c (gfc_trans_stop): Use gfor_fndecl_stop_numeric
instead of gfor_fndecl_stop_numeric_f08.
* gfortran.map: Remove _gfortran_stop_numeric_f08.
* runtime/stop.c: Rename stop_numeric_f08 into stop_numeric.
From-SVN: r243803
|
|
From-SVN: r243802
|
|
* Makefile.am: Remove ISO_C_BINDING runtime functions.
* Makefile.in: Regenerate.
* gfortran.map: Remove all __iso_c_binding_c_f_pointer_* symbols.
* intrinsics/iso_c_binding.h: Remove.
* intrinsics/iso_c_binding.c: Remove.
* intrinsics/iso_c_generated_procs.c: Remove.
From-SVN: r243801
|
|
* Makefile.am: Remove intrinsics/bit_intrinsics.c.
* Makefile.in: Regenerate.
* gfortran.map: Remove _gfortran_clz128 and _gfortran_ctz128.
* intrinsics/bit_intrinsics.c: Remove.
From-SVN: r243800
|
|
Now that the libgfortran ABI major version has been bumped, we can
remove functions for which the frontend nowadays generates inline
code.
This removes the malloc, free, exponent, fraction, nearest, rrspacing,
spacing, set_exponent and transpose intrinsics. Also the unused
store_exe_path function is removed.
2016-12-19 Janne Blomqvist <jb@gcc.gnu.org>
* Makefile.am: Remove exponent, fraction, nearest, rrspacing,
set_exponent, spacing, transpose, malloc, transpose_generic.
* Makefile.in: Regenerate.
* generated/exponent_r10.c: Remove.
* generated/exponent_r16.c: Remove.
* generated/exponent_r4.c: Remove.
* generated/exponent_r8.c: Remove.
* generated/fraction_r10.c: Remove.
* generated/fraction_r16.c: Remove.
* generated/fraction_r4.c: Remove.
* generated/fraction_r8.c: Remove.
* generated/nearest_r10.c: Remove.
* generated/nearest_r16.c: Remove.
* generated/nearest_r4.c: Remove.
* generated/nearest_r8.c: Remove.
* generated/rrspacing_r10.c: Remove.
* generated/rrspacing_r16.c: Remove.
* generated/rrspacing_r4.c: Remove.
* generated/rrspacing_r8.c: Remove.
* generated/set_exponent_r10.c: Remove.
* generated/set_exponent_r16.c: Remove.
* generated/set_exponent_r4.c: Remove.
* generated/set_exponent_r8.c: Remove.
* generated/spacing_r10.c: Remove.
* generated/spacing_r16.c: Remove.
* generated/spacing_r4.c: Remove.
* generated/spacing_r8.c: Remove.
* generated/transpose_c10.c: Remove.
* generated/transpose_c16.c: Remove.
* generated/transpose_c4.c: Remove.
* generated/transpose_c8.c: Remove.
* generated/transpose_i16.c: Remove.
* generated/transpose_i4.c: Remove.
* generated/transpose_i8.c: Remove.
* generated/transpose_r10.c: Remove.
* generated/transpose_r16.c: Remove.
* generated/transpose_r4.c: Remove.
* generated/transpose_r8.c: Remove.
* gfortran.map: Remove exponent, fraction, nearest, rrspacing,
set_exponent, spacing, transpose, malloc, free, transpose_generic,
store_exe_path.
* intrinsics/malloc.c: Remove.
* intrinsics/transpose_generic.c: Remove.
* libgfortran.h (store_exe_path): Remove.
* m4/exponent.m4: Remove.
* m4/fraction.m4: Remove.
* m4/nearest.m4: Remove.
* m4/rrspacing.m4: Remove.
* m4/set_exponent.m4: Remove.
* m4/spacing.m4: Remove.
* m4/transpose.m4: Remove.
* runtime/main.c (store_exe_path): Remove.
From-SVN: r243799
|
|
* intrinsics/chmod.c (chmod_internal): Fix case where mode_t is
different from unsigned int.
From-SVN: r243796
|
|
2016-12-18 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/78545
* intrinsic.texi: Fix documentation for GMTIME and LTIME.
* intrinsics/date_and_time.c: Fix comments for GMTIME and LTIME.
From-SVN: r243785
|
|
char-literal-constant of the DT data descriptor)
2016-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/78622
* io.c (format_lex): Continue of string delimiter seen.
* io/transfer.c (get_dt_format): New static function to alloc
and set the DT iotype string, handling doubled quotes.
(formatted_transfer_scalar_read,
formatted_transfer_scalar_write): Use new function.
* gfortran.dg/dtio_20.f03: New test.
From-SVN: r243765
|
|
libgfortran:
* configure.ac: Call GCC_CHECK_LINKER_HWCAP.
* Makefile.am (libgfortran_la_LDFLAGS): Add HWCAP_LDFLAGS.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
config:
* hwcaps.m4: New file.
libitm:
* acinclude.m4 (LIBITM_CHECK_LINKER_FEATURES): Remove.
* aclocal.m4: Regenerate.
* configure.ac: Call GCC_CHECK_LINKER_HWCAP instead of
LIBITM_CHECK_LINKER_HWCAP.
From-SVN: r243552
|
|
2016-12-03 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/78379
* config/i386/cpuinfo.c: Move denums for processor vendors,
processor type, processor subtypes and declaration of
struct __processor_model into
* config/i386/cpuinfo.h: New header file.
* Makefile.am: Add dependence of m4/matmul_internal_m4 to
mamtul files..
* Makefile.in: Regenerated.
* acinclude.m4: Check for AVX, AVX2 and AVX512F.
* config.h.in: Add HAVE_AVX, HAVE_AVX2 and HAVE_AVX512F.
* configure: Regenerated.
* configure.ac: Use checks for AVX, AVX2 and AVX_512F.
* m4/matmul_internal.m4: New file. working part of matmul.m4.
* m4/matmul.m4: Implement architecture-specific switching
for AVX, AVX2 and AVX512F by including matmul_internal.m4
multiple times.
* generated/matmul_c10.c: Regenerated.
* generated/matmul_c16.c: Regenerated.
* generated/matmul_c4.c: Regenerated.
* generated/matmul_c8.c: Regenerated.
* generated/matmul_i1.c: Regenerated.
* generated/matmul_i16.c: Regenerated.
* generated/matmul_i2.c: Regenerated.
* generated/matmul_i4.c: Regenerated.
* generated/matmul_i8.c: Regenerated.
* generated/matmul_r10.c: Regenerated.
* generated/matmul_r16.c: Regenerated.
* generated/matmul_r4.c: Regenerated.
* generated/matmul_r8.c: Regenerated.
From-SVN: r243219
|
|
libgfortran/ChangeLog:
2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org>
* caf/single.c (_gfortran_caf_get_by_ref): Prevent compile time
warning.
(_gfortran_caf_send_by_ref): Same.
(_gfortran_caf_is_present): Prevent fallthrough warnings.
gcc/testsuite/ChangeLog:
2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org>
* ChangeLog: Removed wrongly placed entry.
* gfortran.dg/coarray_lib_alloc_4.f90: New test.
From-SVN: r243034
|
|
libgfortran/ChangeLog:
2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org>
* caf/single.c (_gfortran_caf_is_present): Prevent fallthrough
warnings.
From-SVN: r243024
|
|
components in derived...
libgfortran/ChangeLog:
2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org>
* caf/libcaf.h: Add new action types for (de-)registration of
allocatable components in derived type coarrays. Add _caf_is_present
prototype.
* caf/single.c (_gfortran_caf_register): Add support for registration
only and allocation of already registered allocatable components in
derived type coarrays.
(_gfortran_caf_deregister): Add mode to deallocate but not deregister
an allocatable component in a derived type coarray.
(_gfortran_caf_is_present): New function. Query whether an
allocatable component in a derived type coarray on a remote image is
allocated.
gcc/testsuite/ChangeLog:
2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray/alloc_comp_1.f90: Fix tree-dump scans to adhere
to the changed interfaces.
* gfortran.dg/coarray_alloc_comp_1.f08: Likewise.
* gfortran.dg/coarray_allocate_7.f08: Likewise.
* gfortran.dg/coarray_lib_alloc_1.f90: Likewise.
* gfortran.dg/coarray_lib_alloc_2.f90: Likewise.
* gfortran.dg/coarray_lib_alloc_3.f90: Likewise.
* gfortran.dg/coarray_lib_comm_1.f90: Likewise.
* gfortran.dg/coarray_lib_alloc_4.f90: New test.
gcc/fortran/ChangeLog:
2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org>
* check.c (gfc_check_allocated): By pass the caf_get call and check on
the array.
* gfortran.h: Add optional flag to gfc_caf_attr.
* gfortran.texi: Document new enum values and _caf_is_present function.
* primary.c (caf_variable_attr): Add optional flag to indicate that the
expression is reffing a component.
(gfc_caf_attr): Likewise.
* trans-array.c (gfc_array_deallocate): Handle deallocation mode for
coarray deregistration.
(gfc_trans_dealloc_allocated): Likewise.
(duplicate_allocatable): Use constants instead of
creating custom constant tree node of zero or one. Use gfc_add_modify
convenience function.
(duplicate_allocatable_coarray): This function is similar to
duplicate_allocatable but tailored to handle coarrays.
(caf_enabled): Check whether in-derived-type coarray processing is
enabled.
(caf_in_coarray): Check that in-derived-type coarray processing is
enabled and currently in a derived-typed coarray.
(gfc_caf_is_dealloc_only): Return true, when deallocate only is
desired for components in derived typed coarrays.
(structure_alloc_comps): A mode for handling coarrays, that is no
longer encode in the purpose. This makes the use cases of the
routine more flexible without repeating. Allocatable components in
derived type coarrays are now registered only when nullifying an
object and allocated before copying data into them.
(gfc_nullify_alloc_comp): Use the caf_mode of structure_alloc_comps
now.
(gfc_deallocate_alloc_comp): Likewise.
(gfc_deallocate_alloc_comp_no_caf): Likewise.
(gfc_reassign_alloc_comp_caf): Likewise.
(gfc_copy_alloc_comp): Likewise.
(gfc_copy_only_alloc_comp): Likewise.
(gfc_alloc_allocatable_for_assignment): Make use to the cheaper way of
reallocating a coarray without deregistering and reregistering it.
(gfc_trans_deferred_array): Initialize the coarray token correctly for
deferred variables and tear them down on exit.
* trans-array.h: Change some prototypes to add the coarray (de-)
registration modes. Add prototype for checking if deallocate only is
selected for components in derived typed coarrays.
* trans-decl.c (gfc_build_builtin_function_decls): Generate the
declarations for the changed/new caf-lib routines.
(gfc_trans_deferred_vars): Ensure deferred variables are (de-)
registered correctly on procedure entry/exit.
(generate_coarray_sym_init): Use constants.
* trans-expr.c (gfc_conv_procedure_call): Propagate coarray allocation
modes accordingly.
(gfc_trans_alloc_subarray_assign): Likewise.
(gfc_trans_subcomponent_assign): Likewise.
(gfc_trans_structure_assign): Generate code to register the components
of a derived type coarray prior to initialization.
(gfc_conv_structure): Set flag that the structure is in a coarray.
(gfc_trans_scalar_assign): Add flag to indicate being in a coarray and
set the structure_alloc_comps modes correctly.
(gfc_trans_assignment_1): Figure being in a coarray expression.
* trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Adapt to new
structure_alloc_comps interface.
(conv_caf_send): Use the old API as long as possible.
(trans_caf_is_present): Generate code to check whether an allocatable
component in a derived typed coarray is allocated on a remote image.
(caf_this_image_ref): Return true, when only reffing this image.
(gfc_conv_allocated): Convert allocated queries on allocatable
components to the library API.
(conv_intrinsic_move_alloc): Adapt to new interface of
structure_alloc_comps.
* trans-openmp.c (gfc_walk_alloc_comps): Likewise.
(gfc_omp_clause_assign_op): Likewise.
(gfc_omp_clause_dtor): Likewise.
* trans-stmt.c (gfc_trans_deallocate): Figure which mode to use when
deallocating allocatable components in derived type coarras.
* trans.c (gfc_allocate_using_lib): Renamed to
gfc_allcate_using_caf_lib.
(gfc_allocate_allocatable): Set the registration mode/type of caf-
register calls adapting to all the possible allocatable objects.
(gfc_deallocate_with_status): Add deregistration mode for allocatable
components in derived type coarrays.
(gfc_deallocate_scalar_with_status): Likewise.
* trans.h (enum gfc_coarray_type): Renamed to gfc_coarray_regtype to
avoid collision with gfc_coarray_deregtype.
From-SVN: r243021
|
|
2016-11-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/51119
* Makefile.am: Remove -fno-protect-parens -fstack-arrays.
* Makefile.in: Regenerate.
From-SVN: r242518
|
|
ieee_support_halting only checked the availability of status
flags, not trapping support. On some targets the later can
only be checked at runtime: feenableexcept reports if
enabling traps failed.
So check trapping support by enabling/disabling it.
Updated the test that enabled trapping to check if it is
supported.
gcc/testsuite/
PR libgfortran/78314
* gfortran.dg/ieee/ieee_6.f90: Use ieee_support_halting.
libgfortran/
PR libgfortran/78314
* config/fpu-glibc.h (support_fpu_trap): Use feenableexcept.
From-SVN: r242505
|
|
2016-11-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Thomas Koenig <tkoenig@gcc.gnu.org>
PR libgfortran/51119
* Makefile.am: Add new optimization flags matmul.
* Makefile.in: Regenerate.
* m4/matmul.m4: For the case of all strides = 1, implement a
fast blocked matrix multiply. Fix some whitespace.
* generated/matmul_c10.c: Regenerate.
* generated/matmul_c16.c: Regenerate.
* generated/matmul_c4.c: Regenerate.
* generated/matmul_c8.c: Regenerate.
* generated/matmul_i1.c: Regenerate.
* generated/matmul_i16.c: Regenerate.
* generated/matmul_i2.c: Regenerate.
* generated/matmul_i4.c: Regenerate.
* generated/matmul_i8.c: Regenerate.
* generated/matmul_r10.c: Regenerate.
* generated/matmul_r16.c: Regenerate.
* generated/matmul_r4.c: Regenerate.
* generated/matmul_r8.c: Regenerate.
2016-11-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libgfortran/51119
* gfortran.dg/matmul_12.f90: New test case.
From-SVN: r242462
|
|
<toplevel>
2016-11-15 Matthias Klose <doko@ubuntu.com>
* config-ml.in: Remove references to GCJ.
* configure.ac: Likewise.
* configure: Regenerate.
config/
2016-11-15 Matthias Klose <doko@ubuntu.com>
multi.m4: Don't set GCJ.
gcc/
2016-11-15 Matthias Klose <doko@ubuntu.com>
* doc/install.texi: Remove references to gcj/libjava.
* doc/invoke.texi: Likewise.
*/ (where necessary)
2016-11-15 Matthias Klose <doko@ubuntu.com>
* configure: Regenerate.
From-SVN: r242433
|
|
gcc/fortran/
* gfortran.texi: Document.
* gfortran.h (gfc_dt): New field default_exp.
* primary.c (match_real_constant): Default exponent with -fdec.
* io.c (match_io): Set dt.default_exp with -fdec.
* ioparm.def (IOPARM_dt_default_exp): New.
* trans-io.c (build_dt): Set IOPARM_dt_default_exp with -fdec.
libgfortran/io/
* io.h (IOPARM_DT_DEFAULT_EXP): New flag bit.
* list_read.c (parse_real, read_real): Allow omission of exponent with
IOPARM_DT_DEFAULT_EXP.
* read.c (read_f): Ditto.
gcc/testsuite/gfortran.dg/
* dec_exp_1.f90, dec_exp_2.f90, dec_exp_3.f90: New testcases.
From-SVN: r241828
|
|
with L descriptor)
2016-10-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/54679
* io.c (check_format): Adjust checks for FMT_L to treat a zero
width as an extension, giving warnings or error as appropriate.
Improve messages.
PR libgfortran/54679
* io/format.c (parse_format_list): Adjust checks for FMT_L to
treat a zero width as an extension, giving warnings or error
as appropriate. Improve messages.
PR fortran/54679
* gfortran.dg/fmt_l.f90: Update test.
* gfortran.dg/fmt_l0.f90: New test.
From-SVN: r241720
|
|
correctly)
2016-10-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/78123
* io/transfer.c (formatted_transfer_scalar_read): Clear seen_eor
only if we have tabbed to left of current position.
* gfortran.dg/fmt_t_9.f: New test.
From-SVN: r241691
|
|
gcc/fortran/
* gfortran.texi: Document.
* frontend-passes.c (gfc_code_walker): Add SHARE and CARRIAGECONTROL.
* io.c (gfc_free_open, gfc_resolve_open, gfc_match_open): Ditto.
* gfortran.h (gfc_open): Add SHARE, CARRIAGECONTROL, and READONLY.
* io.c (io_tag, match_open_element): Ditto.
* ioparm.def: Ditto.
* trans-io.c (gfc_trans_open): Ditto.
* io.c (match_dec_etag, match_dec_ftag): New functions.
libgfortran/io/
* libgfortran.h (IOPARM_OPEN_HAS_READONLY, IOPARM_OPEN_HAS_SHARE,
IOPARM_OPEN_HAS_CC): New for READONLY, SHARE, and CARRIAGECONTROL.
* close.c (st_close): Support READONLY.
* io.h (st_parameter_open, unit_flags): Support SHARE, CARRIAGECONTROL,
and READONLY.
* open.c (st_open): Ditto.
* transfer.c (data_transfer_init): Ditto.
* io.h (st_parameter_dt): New member 'cc' for CARRIAGECONTROL.
* write.c (write_check_cc, write_cc): New functions for CARRIAGECONTROL.
* transfer.c (next_record_cc): Ditto.
* file_pos.c (st_endfile): Support SHARE and CARRIAGECONTROL.
* io.h (st_parameter_inquire): Ditto.
* open.c (edit_modes, new_unit): Ditto.
* inquire.c (inquire_via_unit, inquire_via_filename): Ditto.
* io.h (unit_share, unit_cc, cc_fortran, IOPARM_INQUIRE_HAS_SHARE,
IOPARM_INQUIRE_HAS_CC): New for SHARE and CARRIAGECONTROL.
* open.c (share_opt, cc_opt): Ditto.
* read.c (read_x): Support CARRIAGECONTROL.
* transfer.c (read_sf, next_record_r, next_record_w): Ditto.
* write.c (list_formatted_write_scalar, write_a): Ditto.
* unix.h (close_share): New prototype.
* unix.c (open_share, close_share): New functions to handle SHARE.
* unix.c (open_external): Handle READONLY. Call open_share.
* close.c (st_close): Call close_share.
gcc/testsuite/
* dec_io_1.f90: New test.
* dec_io_2.f90: New test.
* dec_io_3.f90: New test.
* dec_io_4.f90: New test.
* dec_io_5.f90: New test.
* dec_io_6.f90: New test.
From-SVN: r241550
|
|
of 5.x allowed but crashes when containing write to string)
2016-10-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/77828
* io/io.h (st_parameter_dt): Reorder for readability and sanity.
* io/transfer.c (data_transfer_init): Remove TODO and enable the
runtime error message, rec= specifier not allowed in STREAM
access.
* libtool-version: Bump major version of libgfortran to 4.
* ioparm.def: Reorder dt parameters to match libgfortran.
* libgfortran.h: Swap definitions of GFC_INTERNAL_UNIT and
GFC_INTERNAL_UNIT4.
From-SVN: r241497
|
|
2016-10-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/78055
* io/io.h (st_parameter_dt): Restore GFC_IO_INT to maintain
alignment.
From-SVN: r241422
|
|
2016-10-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/transfer.c (finalize_transfer): Free format data in child
procedures. (st_read_done, st_write_done): Don't free format
hash table.
From-SVN: r241392
|
|
2016-10-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/48298
* io/io.h: Move size_used from dtp to unit structure. Add bool
has_size to unit structure.
* read.c (read_x): Use has_size and size_used.
* transfer.c (read_sf_internal,read_sf,read_block_form,
read_block_form4): Likewise.
(data_transfer_init): If parent, initialize the size variables.
(finalize_transfer): Set the size variable using size_used in
gfc_unit. (write_block): Delete bogus/dead code.
* gfortran.dg/dtio_17.f90: New test.
From-SVN: r241294
|
|
Improve error message, and remove a redundant check, as the same check is
done a bit earlier due to the PR 48587 patch.
2016-10-16 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/48587
* io/transfer.c (data_transfer_init): Improve error message,
remove redundant check.
Regtested on x86_64-pc-linux-gnu.
From-SVN: r241211
|
|
Currently GFortran newer reuses unit numbers allocated with NEWUNIT=,
instead having a simple counter that is decremented each time such a
unit is opened. For a long running program which repeatedly opens
files with NEWUNIT= and closes them, the counter can wrap around and
cause an abort. This patch replaces the counter with an allocator
that keeps track of which units numbers are allocated, and can reuse
them once they have been deallocated. Since operating systems tend to
limit the number of simultaneous open files for a process to a
relatively modest number, a relatively simple approach with a linear
scan through an array suffices. Though as a small optimization there
is a low water indicator keeping track of the index for which all unit
numbers below are already allocated. This linear scan also ensures
that we always allocate the smallest available unit number.
2016-10-15 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/48587
* io/io.h (get_unique_unit_number): Remove prototype.
(newunit_alloc): New prototype.
* io/open.c (st_open): Call newunit_alloc.
* io/unit.c (newunits,newunit_size,newunit_lwi): New static
variables.
(GFC_FIRST_NEWUNIT): Rename to NEWUNIT_START.
(next_available_newunit): Remove variable.
(get_unit): Call newunit_alloc, don't try to create negative
external unit.
(close_unit_1): Call newunit_free.
(close_units): Free newunits array.
(get_unique_number): Remove function.
(newunit_alloc): New function.
(newunit_free): New function.
* io/transfer.c (data_transfer_init): Check for invalid unit
number.
testsuite ChangeLog:
2016-10-15 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/48587
* gfortran.dg/negative_unit2.f90: New testcase.
From-SVN: r241199
|
|
Many POSIX systems have the bad habit of not restarting interrupted
syscalls. On these systems it's up to the user to check for an error
with errno == EINTR and restart manually. This patch does this for
libgfortran, so that GFortran users don't have to do it.
2016-10-09 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/67585
* io/io.h: TEMP_FAILURE_RETRY: Define macro if not found.
* io/unix.c (raw_read): Handle EINTR.
(raw_write): Check for return value -1.
(raw_seek): Handle EINTR.
(raw_tell): Likewise.
(raw_size): Likewise.
(raw_truncate): Likewise.
(raw_close): Likewise.
(buf_flush): Call raw_seek instead of lseek.
(buf_read): Likewise.
(buf_write): Likewise.
(fd_to_stream): Handle EINTR.
(tempfile_open): Likewise.
(regular_file2): Likewise.
(compare_file_filename): Likewise.
(find_file): Likewise.
(inquire_sequential): Likewise.
(inquire_direct): Likewise.
(inquire_formatted): Likewise.
From-SVN: r240902
|
|
inquire_via_unit)
2016-10-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/77868
* io/inquire.c (inquire_via_unit): NULL guard the check for
internal unit passed into child IO procedure.
* gfortran.dg/dtio_15.f90: Fix spaces in dg-do.
* gfortran.dg/class_array_20.f03: Likewise.
* gfortran.dg/class_array_21.f03: Likewise.
* gfortran.dg/finalize_29.f08: Likewise.
* gfortran.dg/unlimited_polymorphic_23.f90: Likewise.
From-SVN: r240794
|
|
io/inquire.c (inquire_via_unit): Add check for internal unit
passed into child IO procedure.
From-SVN: r240768
|
|
lost token)
gcc/testsuite/ChangeLog:
2016-10-01 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/77663
* gfortran.dg/coarray_send_by_ref_1.f08: New test.
libgfortran/ChangeLog:
2016-10-01 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/77663
* caf/single.c (caf_internal_error): Fix not terminating va-list.
(_gfortran_caf_register): Free memory also when other allocs failed.
(_gfortran_caf_get_by_ref): Fixed style.
(send_by_ref): Token is now stored at the correct position preventing
inaccessible tokens, memory loss and possibly crashes.
From-SVN: r240695
|