! { dg-do run }! At one point, SIGN() evaluated its first argument twice.! Contributed by Brooks Moses <brooks.moses@codesourcery.com>program sign1integer::ii=1if(sign(foo(i),1)/=1)call aborti=1if(sign(foo(i),-1)/=-1)call abortcontainsinteger function foo(i)integer::ifoo=ii=i+1end functionend