File: associate_01.f90

package info (click to toggle)
lfortran 0.59.0-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 56,736 kB
  • sloc: cpp: 168,052; f90: 74,272; python: 17,537; ansic: 7,705; yacc: 2,345; sh: 1,334; fortran: 895; makefile: 37; javascript: 15
file content (24 lines) | stat: -rw-r--r-- 546 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
program associate_01
implicit none
real, allocatable :: a(:), b(:,:), c(:,:,:)
real, pointer :: x(:), y(:,:,:)
real :: a_1, c_234, c_121
integer :: n
a_1 = 0
n = 10
allocate(a(5))
allocate(b(n,n), c(n, 5, n))
1 loop: associate (x => a, y => c, z => c(:, 2, :))
    x(1) = a_1 + 5
    y(2,3,4) = 3
    z(1, 1) = 17
    if (size(z) /= 100) error stop
end associate loop
a_1 = a(1)
if(a(1).EQ.5) GO TO 1
c_234 = c(2,3,4)
c_121 = c(1,2,1)
if (a_1   /= 10.) error stop
if (c_234 /= 3.) error stop
if (c_121 /= 17.) error stop
end program associate_01