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

Subversion Repositories openrisc

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

Compare with Previous | Blame | View Log

! { dg-do run }
! Checks the fix for PR31205, in which temporaries were not
! written for the interface assignment and the parentheses below.
!
! Contributed by Joost VandeVondele <jv244@cam.ac.uk>
!
MODULE TT
 TYPE data_type
   INTEGER :: I=2
 END TYPE data_type
 INTERFACE ASSIGNMENT (=)
   MODULE PROCEDURE set
 END INTERFACE
CONTAINS
  PURE SUBROUTINE set(x1,x2)
    TYPE(data_type), INTENT(IN) :: x2
    TYPE(data_type), INTENT(OUT) :: x1
    CALL S1(x1,x2)
  END SUBROUTINE
  PURE SUBROUTINE S1(x1,x2)
    TYPE(data_type), INTENT(IN) :: x2
    TYPE(data_type), INTENT(OUT) :: x1
    x1%i=x2%i
  END SUBROUTINE
END MODULE

USE TT
TYPE(data_type) :: D,E

D%I=4
D=D

E%I=4
CALL set(E,(E))

IF (D%I.NE.4) call abort ()
IF (4.NE.E%I) call abort ()
END
! { dg-final { cleanup-modules "tt" } }

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.