! { dg-do run } ! { dg-options "-funsigned" } program memain unsigned(1) :: u1 unsigned(2) :: u2 unsigned(4) :: u4 unsigned(8) :: u8 u1 = 1u_1 if (shifta ( 1u , 1) /= 0u_1) error stop 1 if (shifta ( u1 , 1) /= 0u_1) error stop 2 u1 = 128u_1 if (shifta ( 128u_1, 1) /= 192u_1) error stop 3 if (shiftl ( 128u_1, 1) /= 0u_1) error stop 4 if (shiftr ( 128u_1, 1) /= 64u_1) error stop 5 if (shifta ( u1, 1) /= 192u_1) error stop 6 if (shiftl ( u1, 1) /= 0u_1) error stop 7 if (shiftr ( u1, 1) /= 64u_1) error stop 8 u2 = 32768u_2 if (shifta ( 32768u_2, 1) /= 49152u_2) error stop 9 if (shiftl ( 32768u_2, 1) /= 0u_2) error stop 10 if (shiftr ( 32768u_2, 1) /= 16384u_2) error stop 11 if (shifta ( u2, 1) /= 49152u_2) error stop 12 if (shiftl ( u2, 1) /= 0u_2) error stop 13 if (shiftr ( u2, 1) /= 16384u_2) error stop 14 u4 = 2147483648u_4 if (shifta ( 2147483648u_4, 1) /= 3221225472u_4) error stop 15 if (shiftl ( 2147483648u_4, 1) /= 0u_4) error stop 16 if (shiftr ( 2147483648u_4, 1) /= 1073741824u_4) error stop 17 if (shifta ( u4, 1) /= 3221225472u_4) error stop 18 if (shiftl ( u4, 1) /= 0u_4) error stop 19 if (shiftr ( u4, 1) /= 1073741824u_4) error stop 20 u8 = 9223372036854775808u_8 if (shifta(9223372036854775808u_8, 1) /= 13835058055282163712u_8) error stop 21 if (shiftl(9223372036854775808u_8, 1) /= 0u_8) error stop 22 if (shiftr(9223372036854775808u_8, 1) /= 4611686018427387904u_8) error stop 23 if (shifta( u8, 1) /= 13835058055282163712u_8) error stop 24 if (shiftl( u8, 1) /= 0u_8) error stop 25 if (shiftr( u8, 1) /= 4611686018427387904u_8) error stop 26 end program memain