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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [gfortran.dg/] [array_initializer_1.f90] - Blame information for rev 841

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

Line No. Rev Author Line
1 149 jeremybenn
! { dg-do run }
2
! Check the fix for PR16206, in which array sections would not work
3
! in array initializers. Use of implied do loop variables for indices
4
! and substrings, with and without implied do loops, were fixed at the
5
! same time.
6
!
7
! Contributed by Paul Thomas   
8
! based on testcase from Harald Anlauf  
9
!
10
  real, parameter :: x(4,4) = reshape((/(i, i = 1, 16)/), (/4,4/))
11
  real, parameter :: y(4) = (/ x(1:2, 2), x(3:4, 4)/)
12
  real, parameter :: z(2) = x(2:3, 3) + 1
13
  real, parameter :: r(6) = (/(x(i:i +1, i), i = 1,3)/)
14
  real, parameter :: s(12) = (/((x(i, i:j-1:-1), i = 3,4), j = 2,3)/)
15
  real, parameter :: t(8) = (/(z, &
16
        real (i)**3, y(i), i = 2, 3)/) ! { dg-warning "nonstandard" }
17
 
18
  integer, parameter :: ii = 4
19
 
20
  character(4), parameter :: chr(4) = (/"abcd", "efgh", "ijkl", "mnop"/)
21
  character(4), parameter :: chrs = chr(ii)(2:3)//chr(2)(ii-3:ii-2)
22
  character(4), parameter :: chrt(2) = (/chr(2:2)(2:3), chr(ii-1)(3:ii)/)
23
  character(2), parameter :: chrx(2) = (/(chr(i)(i:i+1), i=2,3)/)
24
 
25
  if (any (y .ne. (/5., 6., 15., 16./))) call abort ()
26
  if (any (z .ne. (/11., 12./))) call abort ()
27
  if (any (r .ne. (/1., 2., 6., 7., 11., 12./))) call abort ()
28
  if (any (s .ne. (/11., 7., 3., 16., 12., 8., 4., &
29
                    11., 7.,     16., 12., 8. /))) call abort ()
30
 
31
  if (any (t .ne. (/11., 12., 8., 6., 11., 12., 27., 15. /))) call abort ()
32
 
33
  if (chrs .ne. "noef") call abort ()
34
  if (any (chrt .ne. (/"fg", "kl"/))) call abort ()
35
  if (any (chrx .ne. (/"fg", "kl"/))) call abort ()
36
end

powered by: WebSVN 2.1.0

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