! { dg-do run } ! { dg-additional-options "-fdump-tree-original" } ! PR fortran/106557 - nesting intrinsics ibset and transfer gives wrong result program p implicit none character(1) :: s write(s,'(i1)') ibset (transfer (0, 0), 0) if (s /= '1') stop 1 write(s,'(i1)') ibclr (transfer (1, 0), 0) if (s /= '0') stop 2 ! These shall be fully resolved at compile time: if (transfer (ibset (transfer (0, 0), 0), 0) /= 1) stop 3 if (transfer (ibclr (transfer (1, 0), 0), 0) /= 0) stop 4 end ! { dg-final { scan-tree-dump-times "_gfortran_stop_numeric" 2 "original" } }