re PR fortran/46978 (TRANSPOSE with RESHAPE and ALLOCATE: Segfault)

2010-12-23  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/46978
	* gfortran.dg/transpose_intrinsic_func_call_1.f90: New test.

From-SVN: r168207
This commit is contained in:
Mikael Morin 2010-12-23 13:39:06 +00:00
parent 2b63684b6e
commit 5235ddbc14
2 changed files with 31 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2010-12-23 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/46978
* gfortran.dg/transpose_intrinsic_func_call_1.f90: New test.
2010-12-23 Nicola Pero <nicola.pero@meta-innovation.com>
* obj-c.dg/gnu-api-2-class.m: Test that class_addMethod() returns

View File

@ -0,0 +1,26 @@
! { dg-do run }
!
! PR fortran/46978
! The coor assignment was using the wrong loop bounds if the argument to
! transpose was an intrinsic function call
!
! Original testcase by Martien Huelsen <m.a.hulsen@tue.nl>
! Reduced by Tobias Burnus <burnus@net-b.de>
program elastic2
implicit none
real, allocatable, dimension(:,:) :: coor
real, allocatable, dimension(:) :: a
integer :: nno
nno = 3
allocate(a(2*nno))
call two()
coor = transpose ( reshape ( a, (/2,nno/) ) )
if (any(coor /= 12)) call abort
contains
subroutine two()
allocate(coor(3,2))
coor = 99
a = 12
end subroutine
end program elastic2