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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [gfortran.dg/] [auto_pointer_array_result_1.f90] - Diff between revs 149 and 154

Only display areas with differences | Details | Blame | View Log

Rev 149 Rev 154
! { dg-do run }
! { dg-do run }
! Tests the fixes for PR25597 and PR27096.
! Tests the fixes for PR25597 and PR27096.
!
!
! This test combines the PR testcases.
! This test combines the PR testcases.
!
!
  character(10), dimension (2) :: implicit_result
  character(10), dimension (2) :: implicit_result
  character(10), dimension (2) :: explicit_result
  character(10), dimension (2) :: explicit_result
  character(10), dimension (2) :: source
  character(10), dimension (2) :: source
  source = "abcdefghij"
  source = "abcdefghij"
  explicit_result = join_1(source)
  explicit_result = join_1(source)
  if (any (explicit_result .ne. source)) call abort ()
  if (any (explicit_result .ne. source)) call abort ()
  implicit_result = reallocate_hnv (source, size(source, 1), LEN (source))
  implicit_result = reallocate_hnv (source, size(source, 1), LEN (source))
  if (any (implicit_result .ne. source)) call abort ()
  if (any (implicit_result .ne. source)) call abort ()
contains
contains
! This function would cause an ICE in gfc_trans_deferred_array.
! This function would cause an ICE in gfc_trans_deferred_array.
  function join_1(self) result(res)
  function join_1(self) result(res)
    character(len=*), dimension(:) :: self
    character(len=*), dimension(:) :: self
    character(len=len(self)), dimension(:), pointer :: res
    character(len=len(self)), dimension(:), pointer :: res
    allocate (res(2))
    allocate (res(2))
    res = self
    res = self
  end function
  end function
! This function originally ICEd and latterly caused a runtime error.
! This function originally ICEd and latterly caused a runtime error.
  FUNCTION reallocate_hnv(p, n, LEN)
  FUNCTION reallocate_hnv(p, n, LEN)
    CHARACTER(LEN=LEN), DIMENSION(:), POINTER :: reallocate_hnv
    CHARACTER(LEN=LEN), DIMENSION(:), POINTER :: reallocate_hnv
    character(*), dimension(:) :: p
    character(*), dimension(:) :: p
    ALLOCATE (reallocate_hnv(n))
    ALLOCATE (reallocate_hnv(n))
    reallocate_hnv = p
    reallocate_hnv = p
  END FUNCTION reallocate_hnv
  END FUNCTION reallocate_hnv
end
end
 
 

powered by: WebSVN 2.1.0

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