2 ! NOT() was not return the two's complement value as reported by
3 ! PR fortran/25458. In checking other bit manipulation intrinsics,
4 ! IBSET was found to be in error.
14 i1
= ibset(huge(0_1), bit_size(i1
)-1)
15 i2
= ibset(huge(0_2), bit_size(i2
)-1)
16 i4
= ibset(huge(0_4), bit_size(i4
)-1)
17 i8
= ibset(huge(0_8), bit_size(i8
)-1)
18 if (i1
/= -1 .or
. i2
/= -1 .or
. i4
/= -1 .or
. i8
/= -1) call abort
20 i1
= ibclr(-1_1, bit_size(i1
)-1)
21 i2
= ibclr(-1_2, bit_size(i2
)-1)
22 i4
= ibclr(-1_4, bit_size(i4
)-1)
23 i8
= ibclr(-1_8, bit_size(i8
)-1)
24 if (i1
/= huge(0_1) .or
. i2
/= huge(0_2)) call abort
25 if (i4
/= huge(0_4) .or
. i8
/= huge(0_8)) call abort
31 if (i1
/= -1 .or
. i2
/= -1 .or
. i4
/= -1 .or
. i8
/= -1) call abort