------- Comment #1 from kargl at gcc dot gnu dot org 2010-03-09 19:40 ------- Don't use -pedantic. It forces a symmetric range on the integer type, [-huge():huge]. This can be checked during constant folding, and NOT(A) is detected as an error. gfortran does not instrument the runtime code for NOT(B), so it cannot detect that you are violating the range of the pedantic integer type. The GCC middle end and back end do not enforce the symmetry of the range.
There was a long, long, long debate about this years ago in the fort...@gcc.gnu.org mailing list. See the archives for details. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43310