OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gfortran.dg/] [reshape_zerosize_3.f90] - Rev 801

Go to most recent revision | Compare with Previous | Blame | View Log

! { dg-do run }
! PR 49479 - this used not to print anything.
! Test case by Joost VandeVondele.
MODULE M1
  IMPLICIT NONE
  type foo
     character(len=5) :: x
  end type foo
CONTAINS
  SUBROUTINE S1(data)
    INTEGER, DIMENSION(:), INTENT(IN), &
         OPTIONAL                               :: DATA
    character(20) :: line
    IF (.not. PRESENT(data)) call abort
    write (unit=line,fmt='(I5)') size(data)
    if (line /= '    0               ') call abort
  END SUBROUTINE S1

  subroutine s_type(data)
    type(foo), dimension(:), intent(in), optional :: data
    character(20) :: line
    IF (.not. PRESENT(data)) call abort
    write (unit=line,fmt='(I5)') size(data)
    if (line /= '    0               ') call abort
  end subroutine s_type

  SUBROUTINE S2(N)
    INTEGER :: N
    INTEGER, ALLOCATABLE, DIMENSION(:, :)    :: blki
    type(foo), allocatable, dimension(:, :)  :: bar
    ALLOCATE(blki(3,N))
    allocate (bar(3,n))
    blki=0
    CALL S1(RESHAPE(blki,(/3*N/)))
    call s_type(reshape(bar, (/3*N/)))
  END SUBROUTINE S2

END MODULE M1

USE M1
CALL S2(0)
END
! { dg-final { cleanup-modules "m1" } }

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.