Commit 20733f1b by Thomas Koenig

re PR fortran/78290 (Gfortran incorrectly creates a copy of an array passed to…

re PR fortran/78290 (Gfortran incorrectly creates a copy of an array passed to an array pointer dummy argument)

2019-05-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/78290
	* gfortran.dg/pr78290.f90: New test.

From-SVN: r271379
parent 9e1a0b35
2019-05-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/78290
* gfortran.dg/pr78290.f90: New test.
2019-05-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/88821
* gfortran.dg/alloc_comp_auto_array_3.f90: Add -O0 to dg-options
to make sure the test for internal_pack is retained.
......
! { dg-do run }
! PR 78290 - used to give an ICE (with VOLATILE) and wrong
! code without it.
! Original test case by Andy Bennet.
PROGRAM main
IMPLICIT NONE
INTEGER,PARAMETER::KI=4
TYPE mytype
INTEGER(KIND=KI)::i=1_KI
END TYPE mytype
TYPE(mytype), DIMENSION(9),TARGET, SAVE::ta
INTEGER(KIND=KI),DIMENSION(3),TARGET, SAVE::ia = 3_KI
INTEGER(KIND=KI),DIMENSION(:),POINTER ::ia2 =>NULL()
INTEGER(KIND=KI),DIMENSION(:),POINTER ::ip =>NULL()
volatile::ip
ALLOCATE(ia2(5)); ia2=2_KI
ip=>ia
if (size(ip) /= 3) stop 1
CALL sub1(ip)
if (size(ip) /= 5) stop 2
if (any(ia /= [3,3,3])) stop 3
if (any (ip /= [2,2,2,2,2])) stop 4
ip=>ta%i
CONTAINS
SUBROUTINE sub1(ipa)
INTEGER(KIND=KI),DIMENSION(:),POINTER::ipa
ipa => ia2
END SUBROUTINE sub1
END PROGRAM main
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment