This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patc, fortran] PR85603 - ICE with character array substring assignment
- From: Dominique d'Humières <dominiq at lps dot ens dot fr>
- To: Paul Richard Thomas <paul dot richard dot thomas at gmail dot com>
- Cc: gfortran <fortran at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 20 Oct 2018 00:15:35 +0200
- Subject: Re: [Patc, fortran] PR85603 - ICE with character array substring assignment
- References: <A70A52F4-E347-493B-99B0-35006601BD3D@lps.ens.fr>
Reduced test
! { dg-do compile }
MODULE TN4
IMPLICIT NONE
PRIVATE
INTEGER,PARAMETER::SH4=KIND('a')
TYPE,PUBLIC::TOP
CHARACTER(:,KIND=SH4),ALLOCATABLE::ROR
CHARACTER(:,KIND=SH4),ALLOCATABLE::VI8
CONTAINS
PROCEDURE,NON_OVERRIDABLE::SB=>TPX
END TYPE TOP
CONTAINS
SUBROUTINE TPX(TP6,PP4,BA3)
CLASS(TOP),INTENT(INOUT)::TP6
INTEGER,INTENT(IN)::PP4
TYPE(TOP),INTENT(OUT)::BA3
BA3%ROR=TP6%ROR(PP4:)
BA3%VI8=TP6%ROR(PP4:)
TP6%ROR=TP6%ROR(:PP4-1)
TP6%VI8=TP6%ROR(:PP4-1)
END SUBROUTINE TPX
END MODULE TN4
! https://groups.google.com/forum/#!topic/comp.lang.fortran/nV3TlRlVKBc
TIA
Dominique
> Le 19 oct. 2018 à 23:39, Dominique d'Humières <dominiq@lps.ens.fr> a écrit :
>
> Hi Paul,
>
> I get a regression with your patch:
>
> obfuscated_tn4.f90:300:0:
>
> 300 | TP6%ROR=TP6%ROR(:PP4-1)
> |
> internal compiler error: in gfc_trans_deferred_vars, at fortran/trans-decl.c:4754
>
>
> I’ll try to reduce the test.
>
> Dominique
>