https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51991
--- Comment #19 from Steve Kargl <sgk at troutmask dot apl.washington.edu> --- On Mon, Jun 24, 2019 at 08:11:07AM +0000, bardeau at iram dot fr wrote: > bardeau ~> cat test.f90 > subroutine sav > integer :: save1 > save1 = > sqrt(1+2+3+4+5+6+cos(0.123)**2-asin(3*exp(12)-8*dble(sin(8)+7.56/atan2(5,6))) > end subroutine sav > bardeau ~> gfortran -c test.f90 > test.f90:3:6: > > 3 | save1 = > sqrt(1+2+3+4+5+(6.1+cos(0.123)**2)-asin(3*exp(12)-8*dble(sin(8)+7.56/atan2(5,6))) > | 1 > Error: Syntax error in SAVE statement at (1) > bardeau ~> > I wasn't addressing you. I fixed your problem! gfortran no longer generates a bogus error about the SAVE statment. The above code as written now generates % gfcx -c a.f90 a.f90:3:10: 3 | save1 = | 1 Error: Invalid character in name at (1) because you do not have an ampersand for continuation. If you now add the ampersand you get, % gfcx -c a.f90 a.f90:4:80: 4 | sqrt(1+2+3+4+5+6+cos(0.123)**2-asin(3*exp(12)-8*dble(sin(8)+7.56/atan2(5,6))) | 1 Error: Syntax error in argument list at (1) So, now you recognize that you wrote a long line of code and cannot count ')' correctly, so you add the terminating ')'. You now get this error message. % gfcx -c a.f90 a.f90:4:74: 4 | sqrt(1+2+3+4+5+6+cos(0.123)**2-asin(3*exp(12)-8*dble(sin(8)+7.56/atan2(5,6)))) | 1 Error: 'y' argument of 'atan2' intrinsic at (1) must be REAL You now can fix your error with atan2. I was addressing Dominique d'Humieres for wasting my time with his comment #15, which has absolutely nothing to do with a bogus error message about SAVE, and the patch that I committed to suppress the bogus error.