OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gfortran.dg/] [g77/] [980701-1.f] - Rev 399

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

c { dg-do run }
* g77 0.5.23 and previous had bugs involving too little space
* allocated for EQUIVALENCE and COMMON areas needing initial
* padding to meet alignment requirements of the system.
 
      call subr
      end
 
      subroutine subr
      implicit none
 
      real r1(5), r2(5), r3(5)
      real s1(2), s2(2), s3(2)
      double precision d1, d2, d3
      integer i1, i2, i3
      equivalence (d1, r1(2))
      equivalence (r1, s1(2))
      equivalence (d2, r2(2))
      equivalence (r2, s2(2))
      equivalence (d3, r3(2))
      equivalence (r3, s3(2))
 
      s1(1) = 1.
      r1(1) = 1.
      d1 = 10.
      r1(4) = 1.
      r1(5) = 1.
      i1 = 1
      s2(1) = 2.
      r2(1) = 2.
      d2 = 20.
      r2(4) = 2.
      r2(5) = 2.
      i2 = 2
      s3(1) = 3.
      r3(1) = 3.
      d3 = 30.
      r3(4) = 3.
      r3(5) = 3.
      i3 = 3
 
      call x (s1, r1, d1, i1, s2, r2, d2, i2, s3, r3, d3, i3)
 
      end
 
      subroutine x (s1, r1, d1, i1, s2, r2, d2, i2, s3, r3, d3, i3)
      implicit none
 
      real r1(5), r2(5), r3(5)
      real s1(2), s2(2), s3(2)
      double precision d1, d2, d3
      integer i1, i2, i3
 
      if (s1(1) .ne. 1.) call abort
      if (r1(1) .ne. 1.) call abort
      if (d1 .ne. 10.) call abort
      if (r1(4) .ne. 1.) call abort
      if (r1(5) .ne. 1.) call abort
      if (i1 .ne. 1) call abort
      if (s2(1) .ne. 2.) call abort
      if (r2(1) .ne. 2.) call abort
      if (d2 .ne. 20.) call abort
      if (r2(4) .ne. 2.) call abort
      if (r2(5) .ne. 2.) call abort
      if (i2 .ne. 2) call abort
      if (s3(1) .ne. 3.) call abort
      if (r3(1) .ne. 3.) call abort
      if (d3 .ne. 30.) call abort
      if (r3(4) .ne. 3.) call abort
      if (r3(5) .ne. 3.) call abort
      if (i3 .ne. 3) call abort
 
      end
 

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.