gcc/libgfortran
José Rui Faustino de Sousa d514626ee2 Fortran: Fix some issues with pointers to character.
gcc/fortran/ChangeLog:

	PR fortran/100120
	PR fortran/100816
	PR fortran/100818
	PR fortran/100819
	PR fortran/100821
	* trans-array.c (gfc_get_array_span): rework the way character
	array "span" was calculated.
	(gfc_conv_expr_descriptor): improve handling of character sections
	and unlimited polymorphic objects.
	* trans-expr.c (gfc_get_character_len): new function to calculate
	character string length.
	(gfc_get_character_len_in_bytes): new function to calculate
	character string length in bytes.
	(gfc_conv_scalar_to_descriptor): add call to set the "span".
	(gfc_trans_pointer_assignment): set "_len" and antecipate the
	initialization of the deferred character length hidden argument.
	* trans-intrinsic.c (gfc_conv_associated): set "force_no_tmp" to
	avoid the creation of a temporary.
	* trans-types.c (gfc_get_dtype_rank_type): rework type detection
	so that unlimited polymorphic objects get proper type infomation,
	also important for bind(c).
	(gfc_get_dtype): add argument to pass the rank if necessary.
	(gfc_get_array_type_bounds): cosmetic change to have character
	arrays called character instead of unknown.
	* trans-types.h (gfc_get_dtype): modify prototype.
	* trans.c (get_array_span): rework the way character array "span"
	was calculated.
	* trans.h (gfc_get_character_len): new prototype.
	(gfc_get_character_len_in_bytes): new prototype.
	Add "unlimited_polymorphic" flag to "gfc_se" type to signal when
	expression carries an unlimited polymorphic object.

libgfortran/ChangeLog:

	PR fortran/100120
	* intrinsics/associated.c (associated): have associated verify if
	the "span" matches insted of the "elem_len".
	* libgfortran.h (GFC_DESCRIPTOR_SPAN): add macro to retrive the
	descriptor "span".

gcc/testsuite/ChangeLog:

	PR fortran/100120
	* gfortran.dg/PR100120.f90: New test.
	PR fortran/100816
	PR fortran/100818
	PR fortran/100819
	PR fortran/100821
	* gfortran.dg/character_workout_1.f90: New test.
	* gfortran.dg/character_workout_4.f90: New test.
2021-06-05 11:12:50 +00:00
..
caf Steve Kargl <kargl@gcc.gnu.org> 2021-05-22 13:27:42 +02:00
config Update copyright years. 2021-01-04 10:26:59 +01:00
generated PR libfortran/99218 - matmul on temporary array accesses invalid memory 2021-03-05 20:58:51 +01:00
ieee libgfortran: Fix PR95647 by changing the interfaces of operators .eq. and .ne. 2021-02-12 07:58:16 -08:00
intrinsics Fortran: Fix some issues with pointers to character. 2021-06-05 11:12:50 +00:00
io Fortran: Async I/O - avoid unlocked unlocking [PR100352] 2021-05-02 18:16:17 +02:00
m4 PR libfortran/99218 - matmul on temporary array accesses invalid memory 2021-03-05 20:58:51 +01:00
runtime libgfortran: Fix negation for largest integer [PR81986] 2021-03-03 08:07:16 +01:00
acinclude.m4
aclocal.m4
c99_protos.h Update copyright years. 2021-01-04 10:26:59 +01:00
ChangeLog Revert "PR98301 Add missing changelog entries." 2021-05-23 14:08:08 +02:00
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020 Rotate ChangeLog files - part 1 - add ChangeLog-2020. 2021-01-01 17:27:52 +01:00
config.h.in
configure Update GNU/Hurd configure support 2021-01-05 16:04:14 -07:00
configure.ac
configure.host
gfortran.map Steve Kargl <kargl@gcc.gnu.org> 2021-05-22 13:27:42 +02:00
ISO_Fortran_binding.h Update copyright years. 2021-01-04 10:26:59 +01:00
kinds-override.h Update copyright years. 2021-01-04 10:26:59 +01:00
libgfortran.h Fortran: Fix some issues with pointers to character. 2021-06-05 11:12:50 +00:00
libgfortran.spec.in
libtool-version
Makefile.am
Makefile.in
mk-kinds-h.sh
mk-sik-inc.sh
mk-srk-inc.sh