gdb/fortran: Add allocatable type qualifier
[external/binutils.git] / gdb / testsuite / gdb.fortran / type.f90
1 ! Copyright 2013-2019 Free Software Foundation, Inc.
2 !
3 ! This program is free software; you can redistribute it and/or modify
4 ! it under the terms of the GNU General Public License as published by
5 ! the Free Software Foundation; either version 3 of the License, or
6 ! (at your option) any later version.
7 !
8 ! This program is distributed in the hope that it will be useful,
9 ! but WITHOUT ANY WARRANTY; without even the implied warranty of
10 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 ! GNU General Public License for more details.
12 !
13 ! You should have received a copy of the GNU General Public License
14 ! along with this program.  If not, see <http://www.gnu.org/licenses/>.
15
16 program type
17   implicit none
18
19   type :: t1
20     integer :: t1_i
21     real    :: t1_r
22   end type t1
23
24   type :: t2
25     integer :: t2_i
26     type (t1) :: t1_n
27   end type t2
28
29   type :: t3
30     integer :: t3_i
31     type (t2) :: t2_n
32   end type t3
33
34   type (t1) :: t1v
35   type (t2) :: t2v
36   type (t3), target :: t3v
37   type(t3), pointer :: t3p
38
39   nullify (t3p)
40
41   t1v%t1_i = 42
42   t1v%t1_r = 42.24
43
44   t2v%t2_i = 2
45   t2v%t1_n%t1_i = 21
46   t3v%t3_i = 3
47   t3v%t2_n%t2_i = 32
48   t3v%t2_n%t1_n%t1_i = 321
49
50   t3p => t3v
51   nullify (t3p)    ! bp1
52
53 end program type