c: Fix up pointer types to may_alias structures [PR114493]
[official-gcc.git] / gcc / testsuite / gfortran.dg / storage_size_5.f90
blob66dd058a8afc4e2e9161eb79e85551b688d7de91
1 ! { dg-do compile }
2 ! { dg-options "-fdump-tree-original" }
4 subroutine test()
5 implicit none
6 integer :: i0, i1, i2, i3, i4
7 i0 = kind(STORAGE_SIZE(5))
8 i1 = kind(STORAGE_SIZE(5, kind=1))
9 i2 = kind(STORAGE_SIZE(5, kind=2))
10 i3 = kind(STORAGE_SIZE(5, kind=4))
11 i4 = kind(STORAGE_SIZE(5, kind=8))
12 end subroutine test
14 subroutine test2(x)
15 implicit none
16 class(*) :: x
17 integer :: j0, j1, j2, j3, j4
18 integer(1) :: k1
19 integer(2) :: k2
20 j0 = kind(STORAGE_SIZE(x))
21 j1 = kind(STORAGE_SIZE(x, kind=1))
22 j2 = kind(STORAGE_SIZE(x, kind=2))
23 j3 = kind(STORAGE_SIZE(x, kind=4))
24 j4 = kind(STORAGE_SIZE(x, kind=8))
26 k1 = STORAGE_SIZE(x, kind=1)
27 k2 = STORAGE_SIZE(x, kind=2)
28 end subroutine test2
30 ! { dg-final { scan-tree-dump-times "i0 = 4;" 1 "original" } }
31 ! { dg-final { scan-tree-dump-times "i1 = 1;" 1 "original" } }
32 ! { dg-final { scan-tree-dump-times "i2 = 2;" 1 "original" } }
33 ! { dg-final { scan-tree-dump-times "i3 = 4;" 1 "original" } }
34 ! { dg-final { scan-tree-dump-times "i4 = 8;" 1 "original" } }
35 ! { dg-final { scan-tree-dump-times "j0 = 4;" 1 "original" } }
37 ! { dg-final { scan-tree-dump-times "j1 = 1;" 1 "original" } }
38 ! { dg-final { scan-tree-dump-times "j2 = 2;" 1 "original" } }
39 ! { dg-final { scan-tree-dump-times "j3 = 4;" 1 "original" } }
40 ! { dg-final { scan-tree-dump-times "j4 = 8;" 1 "original" } }
42 ! { dg-final { scan-tree-dump-times "k1 = \\(integer\\(kind=1\\)\\)" 1 "original" } }
43 ! { dg-final { scan-tree-dump-times "k2 = \\(integer\\(kind=2\\)\\)" 1 "original" } }