0d78e4aa06
2019-04-14 Paul Thomas <pault@gcc.gnu.org> PR fortran/89843 * trans-decl.c (gfc_get_symbol_decl): Assumed shape and assumed rank dummies of bind C procs require deferred initialization. (convert_CFI_desc): New procedure to convert incoming CFI descriptors to gfc types and back again. (gfc_trans_deferred_vars): Call it. * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Null the CFI descriptor pointer. Free the descriptor in all cases. PR fortran/89846 * expr.c (is_CFI_desc): New function. (is_subref_array): Tidy up by referencing the symbol directly. * gfortran.h : Prototype for is_CFI_desc. * trans_array.c (get_CFI_desc): New function. (gfc_get_array_span, gfc_conv_scalarized_array_ref, gfc_conv_array_ref): Use it. * trans.c (get_array_span): Extract the span from descriptors that are indirect references. PR fortran/90022 * trans-decl.c (gfc_get_symbol_decl): Make sure that the se expression is a pointer type before converting it to the symbol backend_decl type. * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Eliminate temporary creation for intent(in). 2019-04-14 Paul Thomas <pault@gcc.gnu.org> PR fortran/89843 * gfortran.dg/ISO_Fortran_binding_4.f90: Modify the value of x in ctg. Test the conversion of the descriptor types in the main program. * gfortran.dg/ISO_Fortran_binding_10.f90: New test. * gfortran.dg/ISO_Fortran_binding_10.c: Called by it. PR fortran/89846 * gfortran.dg/ISO_Fortran_binding_11.f90: New test. * gfortran.dg/ISO_Fortran_binding_11.c: Called by it. PR fortran/90022 * gfortran.dg/ISO_Fortran_binding_1.c: Correct the indexing for the computation of 'ans'. Also, change the expected results for CFI_is_contiguous to comply with standard. * gfortran.dg/ISO_Fortran_binding_1.f90: Correct the expected results for CFI_is_contiguous to comply with standard. * gfortran.dg/ISO_Fortran_binding_9.f90: New test. * gfortran.dg/ISO_Fortran_binding_9.c: Called by it. 2019-04-14 Paul Thomas <pault@gcc.gnu.org> PR fortran/89843 * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Only return immediately if the source pointer is null. Bring forward the extraction of the gfc type. Extract the kind so that the element size can be correctly computed for sections and components of derived type arrays. Remove the free of the CFI descriptor since this is now done in trans-expr.c. (gfc_desc_to_cfi_desc): Only allocate the CFI descriptor if it is not null. (CFI_section): Normalise the difference between the upper and lower bounds by the stride to correctly calculate the extents of the section. PR fortran/89846 * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Use the stride measure for the gfc span if it is not a multiple of the element length. Otherwise use the element length. PR fortran/90022 * runtime/ISO_Fortran_binding.c (CFI_is_contiguous) : Return 1 for true and 0 otherwise to comply with the standard. Correct the contiguity check for rank 3 and greater by using the stride measure of the lower dimension rather than the element length. From-SVN: r270353
194 lines
6.4 KiB
Plaintext
194 lines
6.4 KiB
Plaintext
2019-04-14 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/89843
|
||
* runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Only
|
||
return immediately if the source pointer is null. Bring
|
||
forward the extraction of the gfc type. Extract the kind so
|
||
that the element size can be correctly computed for sections
|
||
and components of derived type arrays. Remove the free of the
|
||
CFI descriptor since this is now done in trans-expr.c.
|
||
(gfc_desc_to_cfi_desc): Only allocate the CFI descriptor if it
|
||
is not null.
|
||
(CFI_section): Normalise the difference between the upper and
|
||
lower bounds by the stride to correctly calculate the extents
|
||
of the section.
|
||
|
||
PR fortran/89846
|
||
* runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Use
|
||
the stride measure for the gfc span if it is not a multiple
|
||
of the element length. Otherwise use the element length.
|
||
|
||
PR fortran/90022
|
||
* runtime/ISO_Fortran_binding.c (CFI_is_contiguous) : Return
|
||
1 for true and 0 otherwise to comply with the standard. Correct
|
||
the contiguity check for rank 3 and greater by using the stride
|
||
measure of the lower dimension rather than the element length.
|
||
|
||
2019-03-25 John David Anglin <danglin@gcc.gnu.org>
|
||
|
||
PR libgfortran/79540
|
||
* io/write_float.def (build_float_string): Don't copy digits when
|
||
ndigits is negative.
|
||
|
||
2019-03-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR libgfortran/89593
|
||
* caf/single.c (_gfortran_caf_sendget_by_ref): Cast &temp to
|
||
gfc_descriptor_t * to avoid warning.
|
||
|
||
2019-02-26 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
* io/transfer.c (transfer_array_inner): Do not
|
||
cast charlen to index_type.
|
||
|
||
2019-02-25 Dominique d'Humieres <dominiq@gcc.gnu.org>
|
||
|
||
PR libfortran/89274
|
||
* io/write.c (write_integer): Add width for INTEGER(16).
|
||
|
||
2019-02-23 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
PR fortran/89385
|
||
PR fortran/89366
|
||
* runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc) : In the
|
||
interchange between character and derived, the character type
|
||
was being set incorrectly.
|
||
(gfc_desc_to_cfi_desc) : Eliminate the interchange of types in
|
||
this function. Do not add the kind and length information to
|
||
the type field of structures. Lbounds were incorrectly being
|
||
set to zero for allocatable and pointer descriptors. Should
|
||
have been non-pointer, non-allocatables that received this
|
||
treatment.
|
||
|
||
2019-01-30 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR libfortran/88678
|
||
Revert:
|
||
2016-11-16 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
PR libfortran/78314
|
||
* config/fpu-glibc.h (support_fpu_trap): Use feenableexcept.
|
||
|
||
2019-01-30 Uroš Bizjak <ubizjak@gmail.com>
|
||
|
||
PR libfortran/88678
|
||
* config/fpu-glibc.h (set_fpu_trap_exceptions): Clear stalled
|
||
exception flags before changing trap mode. Optimize to call
|
||
feenableexcept and fedisableexcept only once.
|
||
|
||
2019-01-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* io/async.c (init_adv_cond): Use __GTHREAD_COND_INIT_FUNCTION().
|
||
|
||
2019-01-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libfortran/89020
|
||
* io/close.c (st_close): Simplify text of error message to not
|
||
presume a specific cause of failure to remove file.
|
||
|
||
2019-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libfortran/89020
|
||
* io/close.c (st_close): Fix typo.
|
||
|
||
2019-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libfortran/89020
|
||
* io/close.c (st_close): Generate error if calls to 'remove' return
|
||
an error.
|
||
|
||
2019-01-17 Andrew Stubbs <ams@codesourcery.com>
|
||
Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
Julian Brown <julian@codesourcery.com>
|
||
Tom de Vries <tom@codesourcery.com>
|
||
|
||
* configure.ac: Use minimal mode for amdgcn.
|
||
* configure: Regenerate.
|
||
|
||
2019-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libfortran/88776
|
||
* io/open.c (newunit): Free format buffer if the unit specified is for
|
||
stdin, stdout, or stderr.
|
||
|
||
2019-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||
|
||
PR libfortran/88776
|
||
* io/list_read.c (namelist_read): Use nml_err_ret path on read error
|
||
not based on stdin_unit.
|
||
|
||
2019-01-12 Paul Thomas <pault@gcc.gnu.org>
|
||
|
||
* ISO_Fortran_binding.h : New file.
|
||
* Makefile.am : Include ISO_Fortran_binding.c in the list of
|
||
files to compile.
|
||
* Makefile.in : Regenerated.
|
||
* gfortran.map : Add _gfortran_cfi_desc_to_gfc_desc,
|
||
_gfortran_gfc_desc_to_cfi_desc and the CFI API functions.
|
||
* runtime/ISO_Fortran_binding.c : New file containing the new
|
||
functions added to the map.
|
||
|
||
2019-01-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR libfortran/88807
|
||
* m4/minloc0.m4: Reindent to avoid -Wmisleading-indentation warnings.
|
||
* generated/minloc0_4_i1.c: Regenerated.
|
||
* generated/minloc0_4_i2.c: Regenerated.
|
||
* generated/minloc0_4_i4.c: Regenerated.
|
||
* generated/minloc0_4_i8.c: Regenerated.
|
||
* generated/minloc0_4_i16.c: Regenerated.
|
||
* generated/minloc0_4_r4.c: Regenerated.
|
||
* generated/minloc0_4_r8.c: Regenerated.
|
||
* generated/minloc0_4_r10.c: Regenerated.
|
||
* generated/minloc0_4_r16.c: Regenerated.
|
||
* generated/minloc0_8_i1.c: Regenerated.
|
||
* generated/minloc0_8_i2.c: Regenerated.
|
||
* generated/minloc0_8_i4.c: Regenerated.
|
||
* generated/minloc0_8_i8.c: Regenerated.
|
||
* generated/minloc0_8_i16.c: Regenerated.
|
||
* generated/minloc0_8_r4.c: Regenerated.
|
||
* generated/minloc0_8_r8.c: Regenerated.
|
||
* generated/minloc0_8_r10.c: Regenerated.
|
||
* generated/minloc0_8_r16.c: Regenerated.
|
||
* generated/minloc0_16_i1.c: Regenerated.
|
||
* generated/minloc0_16_i2.c: Regenerated.
|
||
* generated/minloc0_16_i4.c: Regenerated.
|
||
* generated/minloc0_16_i8.c: Regenerated.
|
||
* generated/minloc0_16_i16.c: Regenerated.
|
||
* generated/minloc0_16_r4.c: Regenerated.
|
||
* generated/minloc0_16_r8.c: Regenerated.
|
||
* generated/minloc0_16_r10.c: Regenerated.
|
||
* generated/minloc0_16_r16.c: Regenerated.
|
||
|
||
2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR other/16615
|
||
* caf/single.c: Mechanically replace "can not" with "cannot".
|
||
* io/unit.c: Likewise.
|
||
|
||
2019-01-07 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||
Harald Anlauf <anlauf@gmx.de>
|
||
Tobias Burnus <burnus@gcc.gnu.org>
|
||
|
||
PR fortran/45424
|
||
* Makefile.am: Add intrinsics/is_contiguous.c.
|
||
* Makefile.in: Regenerated.
|
||
* gfortran.map: Add _gfortran_is_contiguous0.
|
||
* intrinsics/is_contiguous.c: New file.
|
||
* libgfortran.h: Add prototype for is_contiguous0.
|
||
|
||
2019-01-07 Janne Blomqvist <jb@gcc.gnu.org>
|
||
|
||
* gfortran.map (GFORTRAN_9): Make GFORTRAN_9 node depend on
|
||
GFORTRAN_8.
|
||
|
||
2019-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
Copyright (C) 2019 Free Software Foundation, Inc.
|
||
|
||
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.
|