I'm surprised to learn that negation seemingly can not be performed atomically, but instead needs a trick. Is there a rationale for this, or something for 4.1 ?
INTEGER :: a
! Not valid...
! valid but not quite elegant
END SUBROUTINE test_atomic_negate