File: array_constructor_02.f90

package info (click to toggle)
lfortran 0.58.0-3
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 54,508 kB
  • sloc: cpp: 162,179; f90: 68,251; python: 17,476; ansic: 6,278; yacc: 2,334; sh: 1,317; fortran: 892; makefile: 34; javascript: 15
file content (27 lines) | stat: -rw-r--r-- 658 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
program array_constructor_02
   implicit none

   type build_target_ptr

      type(build_target_t), pointer :: ptr => null()

   end type build_target_ptr

   type :: build_target_t
      type(build_target_ptr), allocatable :: dependencies(:)
   end type

   type(build_target_t) :: a, b
   call add_dependency(a, b)

contains
   subroutine add_dependency(target, dependency)
      type(build_target_t), intent(inout) :: target
      type(build_target_t) , intent(in), target :: dependency

      allocate(target%dependencies(2))

      target%dependencies = [target%dependencies, build_target_ptr(dependency)]

   end subroutine add_dependency
end program