1! { dg-do run } 2! { dg-options "-O" } 3! PR 48412 - function elimination got temporary varibles in the wrong order. 4! Test case contributed by Joost VandeVondele. 5 6INTEGER FUNCTION S1(m,ma,lx) 7INTEGER :: m,ma,lx 8 9IF (((m < 0).AND.(MODULO(ABS(ma-lx),2) == 1)).OR.& 10 ((m > 0).AND.(MODULO(ABS(ma-lx),2) == 0))) THEN 11 S1=1 12ELSE 13 S1=0 14ENDIF 15 16END FUNCTION 17 18INTEGER :: s1 19IF (S1(1,2,1).NE.0) CALL ABORT() 20END 21