1! { dg-do run } 2! { dg-options "-fdec" } 3! 4! Modified by Mark Eggleston <mark.eggleston@codethink.com> 5! 6 7subroutine normal 8 integer(4) :: a 9 real(4) :: b 10 complex(4) :: c 11 logical(4) :: d 12 integer(4) :: e 13 real(4) :: f 14 complex(4) :: g 15 logical(4) :: h 16 17 data a / '1234' / 18 data b / '1234' / 19 data c / '12341234' / ! double the length for complex 20 data d / '1234' / 21 data e / 4h1234 / 22 data f / 4h1234 / 23 data g / 8h12341234 / ! double the length for complex 24 data h / 4h1234 / 25 26 if (a.ne.e) stop 1 27 if (b.ne.f) stop 2 28 if (c.ne.g) stop 3 29 if (d.neqv.h) stop 4 30end subroutine 31 32subroutine padded 33 integer(4) :: a 34 real(4) :: b 35 complex(4) :: c 36 logical(4) :: d 37 integer(4) :: e 38 real(4) :: f 39 complex(4) :: g 40 logical(4) :: h 41 42 data a / '12' / 43 data b / '12' / 44 data c / '12334' / 45 data d / '123' / 46 data e / 2h12 / 47 data f / 2h12 / 48 data g / 5h12334 / 49 data h / 3h123 / 50 51 if (a.ne.e) stop 5 52 if (b.ne.f) stop 6 53 if (c.ne.g) stop 7 54 if (d.neqv.h) stop 8 55end subroutine 56 57subroutine truncated 58 integer(4) :: a 59 real(4) :: b 60 complex(4) :: c 61 logical(4) :: d 62 integer(4) :: e 63 real(4) :: f 64 complex(4) :: g 65 logical(4) :: h 66 67 data a / '123478' / 68 data b / '123478' / 69 data c / '1234123498' / 70 data d / '12345' / 71 data e / 6h123478 / 72 data f / 6h123478 / 73 data g / 10h1234123498 / 74 data h / 5h12345 / 75 76 if (a.ne.e) stop 9 77 if (b.ne.f) stop 10 78 if (c.ne.g) stop 11 79 if (d.neqv.h) stop 12 80end subroutine 81 82program test 83 call normal 84 call padded 85 call truncated 86end program 87 88