http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52087
--- Comment #2 from Ryan MacLellan <ryan.maclellan at ua dot edu> 2012-02-02 00:57:29 UTC --- I believe precedence is as follows: arithmetic expressions evaluated first followed by relational operators followed by logical operators In this case I believe .eqv. are relational operators (equivalent to .eq.) and .or. is the logical operator. So the .or. should be evaluated last but it doesn't seem to be. If this is not the design precedence or .eqv. is not considered a relational operators then I may simply be in error. Otherwise I think this is a bug.