! { dg-do compile } ! { dg-options "-funsigned" } module use_c_binding use iso_c_binding implicit none unsigned(c_unsigned), bind(c) :: a unsigned(c_unsigned_short), bind(c) :: b unsigned(c_unsigned_char), bind(c) :: c unsigned(c_unsigned_long), bind(c) :: d unsigned(c_unsigned_long_long), bind(c) :: e unsigned(c_uintmax_t), bind(c) :: f unsigned(c_uint8_t), bind(c) :: u8 unsigned(c_uint16_t), bind(c) :: u16 unsigned(c_uint32_t), bind(c) :: u32 unsigned(c_uint64_t), bind(c) :: u64 unsigned(c_uint_fast8_t), bind(c) :: f8 unsigned(c_uint_fast16_t), bind(c) :: f16 unsigned(c_uint_fast32_t), bind(c) :: f32 unsigned(c_uint_fast64_t), bind(c) :: f64 unsigned(c_uint_least8_t), bind(c) :: l8 unsigned(c_uint_least16_t), bind(c) :: l16 unsigned(c_uint_least32_t), bind(c) :: l32 unsigned(c_uint_least64_t), bind(c) :: l64 integer, parameter :: c_128 = c_uint128_t integer, parameter :: fast_128 = c_uint_fast128_t integer, parameter :: least_128 = c_uint_least128_t end module use_c_binding program memain use use_c_binding use iso_fortran_env unsigned(uint8) :: a8 unsigned(uint16) :: a16 unsigned(uint32) :: a32 unsigned(uint64) :: a64 end program memain