1! Copyright 2005-2018 ECMWF. 2! 3! This software is licensed under the terms of the Apache Licence Version 2.0 4! which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 5! 6! In applying this licence, ECMWF does not waive the privileges and immunities granted to it by 7! virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. 8 9integer function kind_of_size_t() 10 integer(2), dimension(2) :: x2 = (/1, 2/) 11 integer(4), dimension(2) :: x4 = (/1, 2/) 12 integer(8), dimension(2) :: x8 = (/1, 2/) 13 character(len=1) :: ret 14 15 kind_of_size_t=-1 16 17 call check_size_t(x2(1),x2(2),ret) 18 if (ret == 't') then 19 kind_of_size_t=2 20 return 21 endif 22 23 call check_size_t(x4(1),x4(2),ret) 24 if (ret == 't') then 25 kind_of_size_t=4 26 return 27 endif 28 29 call check_size_t(x8(1),x8(2),ret) 30 if (ret == 't') then 31 kind_of_size_t=8 32 return 33 endif 34 35end function kind_of_size_t 36 37integer function kind_of_int() 38 integer(2), dimension(2) :: x2 = (/1, 2/) 39 integer(4), dimension(2) :: x4 = (/1, 2/) 40 integer(8), dimension(2) :: x8 = (/1, 2/) 41 character(len=1) :: ret 42 43 kind_of_int=-1 44 45 call check_int(x2(1),x2(2),ret) 46 if (ret == 't') then 47 kind_of_int=2 48 return 49 endif 50 51 call check_int(x4(1),x4(2),ret) 52 if (ret == 't') then 53 kind_of_int=4 54 return 55 endif 56 57 call check_int(x8(1),x8(2),ret) 58 if (ret == 't') then 59 kind_of_int=8 60 return 61 endif 62 63end function kind_of_int 64 65program same_int_size_t 66 integer ki,kl 67 68 ki=kind_of_int() 69 kl=kind_of_size_t() 70 if (ki /= kl) then 71 write (*,'(i1)') 0 72 else 73 write (*,'(i1)') 1 74 endif 75end program same_int_size_t 76 77