Need help for error in Fortran90

  • Context: Fortran 
  • Thread starter Thread starter VSan
  • Start date Start date
  • Tags Tags
    Error Fortran90
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
6 replies · 4K views
VSan
Messages
4
Reaction score
0
Hi everyone,

I'm a student and I'm new in this language but I have to run a fortran90 code for my advisor. However, there is some error as provide below (I got the completed code to run for the results, which means that it doesn't suppose to have any error - but it's quite old. I run it on Mac using gfortran and Xcode)

--------------------------------------------------------------------------
FF.f90:8263.23:

10 ASSIGN 30 TO NEXT
1
Warning: Obsolete: ASSIGN statement at (1)
FF.f90:8272.19:

GO TO NEXT,(30, 50, 70, 90, 110)
1
Warning: Obsolete: Assigned GOTO statement at (1)
FF.f90:8274.23:

ASSIGN 50 TO NEXT
1
Warning: Obsolete: ASSIGN statement at (1)
FF.f90:8284.23:

ASSIGN 70 TO NEXT
1
Warning: Obsolete: ASSIGN statement at (1)
FF.f90:8289.24:

100 ASSIGN 110 TO NEXT
1
Warning: Obsolete: ASSIGN statement at (1)
FF.f90:8315.23:

85 ASSIGN 90 TO NEXT
1
Warning: Obsolete: ASSIGN statement at (1)
FF.f90:8334.35:

GO TO NEXT,( 50, 70, 90, 110 )
1
Error: Syntax error in GOTO statement at (1)


-----------------------------------------------------------

Thank you very very much for your help. I don't have any knowledge in this language so I cannot figure it out what's wrong.

Regards,
 
on Phys.org
We could probably be more helpful if you linked or pasted your code. Just from seeing that you're using ASSIGN and GOTO statements, I'm going to suggest that you rewrite your program. ASSIGN and GOTO are horrible ways to program in FORTRAN.
 
Thanks so much... I'll try to rewrite it again!
 
Yeah, ASSIGN has been depreciated and should be avoided. This code technique is old and can be very confusing (sort of reminds me of original BLAS routine for DNRM2 before its re-write). Try to avoid the GOTOs as well if you can. But if you must, I believe the correct syntax for the computed GOTO is (for example):

Code:
GO TO (50, 70, 90, 110), NEXT
 
Thank you very much

I know what's wrong with it now but I still didn't find the right way to run it :(

The command ASSIGN GO TO was deleted in Fortran95 and I don't know why gfortran cannot run it, since it said it can run for g90 as well.

Again thank you
 
There are switches you can specify to force compilier to use fortran90 or earlier (see doc's). On Windows version, you can also just rename file extension to (lower case) .f or .f90 to achieve this result automatically. In any event, be careful if you're using free-format code, as some earlier versions do not support this format.
 
Hi TheoMcCloskey,

Thank you for your advice!
Actually I'm also using Inter Fortran in Windows... But I'm confused for the Visual Studio and when I executed my code, it succeed but I cannot find the result files!