From: SourceForge.net <no...@so...> - 2004-11-19 19:06:33
|
Read and respond to this message at: https://sourceforge.net/forum/message.php?msg_id=2860192 By: aaronwl From: "Anand, Vaidyanathan R" <vai...@bo...> Date: Fri, 19 Nov 2004 08:19:51 -0700 Hello Krishna: It should be possible to compile old legacy Fortran code using g77 (indeed I have done so for code with parts that date back to the 1970's). However, doing so will probably require you to use various command-line switches that control the Fortran dialect that the compiler will recognize. In default mode, g77 expects the code to adhere strictly to the Fortran 77 standard. You can find the complete details in the g77 documentation at the GCC web site below: http://gcc.gnu.org/onlinedocs/gcc-3.4.3/g77/Fortran-Dialect-Options.html Some examples of these options are listed below: -fvxt : allow certain VAX Fortran constructs. -fdollar-ok : Allow $ as a valid character in a symbol name -fugly-assumed: allow the use of (1) as an assumed-size array declaration in subprograms; the proper Fortran 77 usage is (*). -fugly-logint : allow variables declared as LOGICAL to be tested as integers. There are many more and they are all listed in the documentation. In addition, a lot of the older code was written with the assumption that local variables in a subprogram retain their values between calls. This was the behavior of VAX Fortran, which was extremely popular in its day. To enforce this behavior with g77 you will have to specify -fno-automatic as a compiler command-line switch. And after doing all this, depending on the code, you may still have to go into the code and tweak it in a few places to work with g77. One obvious example of that is the usage of the PROGRAM statement to pass command-line arguments as in PROGRAM MAIN(IFILE,OFILE); this will have to be replaced with a plain PROGRAM MAIN line and calls to the GETARG intrinsic to get at the arguments passed on the command-line. For example: CALL GETARG(1,IFILE) CALL GETARG(2,OFILE) Yes, it can take some work to port really old code to work with g77 but it can be done. It would really help if you could be more specific about the problems you are having when you try to compile your code; send an extract of the error messages you get when you try to compile (or at least a part of it if it is too long; you can always save the error messages to a file by doing something like "g77 -c myprog.f 2> myprog.err" at the command prompt). It would also be good if you could give us the g77 version you are using (you can get this by typing "g77 --version"). Hope all of this rambling helps. Regards, V.R.Anand ______________________________________________________________________ You are receiving this email because you elected to monitor this forum. To stop monitoring this forum, login to SourceForge.net and visit: https://sourceforge.net/forum/unmonitor.php?forum_id=286531 |
From: SourceForge.net <no...@so...> - 2004-11-23 10:24:53
|
Read and respond to this message at: https://sourceforge.net/forum/message.php?msg_id=2864906 By: chikkubhai Hi aaronw, Thank you for the prompt reply, I have tried all possible ways you mentioned and played with g77 but of no use. I found out that our college server uses digital fortran and my code works well with it. However g77 on my local machine doesnt work. I have minGW and g77 both installed seperately. I exectuted my fortran file in the bin folders of each in different ways. All give me the same error as below. I also tried using "g77 -c myprog.f 2> myprog.err" but the file seems to created with 0 bytes in it. I am very eager to compile this code on my local machine that can save me lot of time. Below is the included error messages I get when I compile my fortran file. g77 -fvxt newray19.f g77 -c newray19.f>newray19.err g77 -fno-backslash newray19.f g77 -fgnu-intrinsics-enable newray19.f Errors in newray19.f newray19.f: In program `newray': newray19.f:77: warning: data pi/3.141592653589793/,clight/2.99792501 e05/, ^ Blank common initialized at (^) newray19.f:114: dummmm = dtime(xtime0) ^ Reference to intrinsic `DTIME' at (^) invalid -- one or more arguments have incorrect type newray19.f:320: dummmm = dtime(xtime1) ^ Reference to intrinsic `DTIME' at (^) invalid -- one or more arguments have incorrect type newray19.f:456: warning: 1 ' range printed'//) ^ Missing comma in FORMAT statement at (^) newray19.f:482: write(8,88) sngl(f99),sngl(l),sngl(lo),sngl(lk),sngl(zero), ^ Reference to intrinsic `SNGL' at (^) invalid -- one or more arguments have incorrect type newray19.f:497: xtimes = dtime(xtime0) ^ Reference to intrinsic `DTIME' at (^) invalid -- one or more arguments have incorrect type newray19.f: In subroutine `adams': newray19.f:728: warning: 1 'change hmin or relax error conditions absb, relb') ^ Missing comma in FORMAT statement at (^) newray19.f:1021: xtime = dtime(xtime1) ^ Reference to intrinsic `DTIME' at (^) invalid -- one or more arguments have incorrect type newray19.f:1022: xtime2 = dtime(xtime0) ^ Reference to intrinsic `DTIME' at (^) invalid -- one or more arguments have incorrect type newray19.f: In subroutine `dens': newray19.f:1451: warning: 1 e15.8,' he+ = ',e15.8,' o+ = ',e15.8) ^ Missing comma in FORMAT statement at (^) newray19.f: In subroutine `rayplt': newray19.f:1718: warning: 1f7.1,8h"pru" km) ^ Missing comma in FORMAT statement at (^) newray19.f:1798: if (kplot.eq.4) go to 230 1 newray19.f:1824: (continued): do 230 i = 1,151 2 Reference to label at (2) inconsistent with earlier reference at (1) ______________________________________________________________________ You are receiving this email because you elected to monitor this forum. To stop monitoring this forum, login to SourceForge.net and visit: https://sourceforge.net/forum/unmonitor.php?forum_id=286531 |
From: LUK S. <shu...@po...> - 2004-11-23 10:57:03
|
SourceForge.net wrote: > Read and respond to this message at: > https://sourceforge.net/forum/message.php?msg_id=2864906 > By: chikkubhai > > Hi aaronw, > Thank you for the prompt reply, I have tried all possible ways you mentioned > and played with g77 but of no use. I found out that our college server uses > digital fortran and my code works well with it. However g77 on my local machine > doesnt work. I have minGW and g77 both installed seperately. I exectuted my > fortran file in the bin folders of each in different ways. All give me the same > error as below. I also tried using "g77 -c myprog.f 2> > myprog.err" but the file seems to created with 0 bytes in it. I am very eager > to compile this code on my local machine that can save me lot of time. > Below is the included error messages I get when I compile my fortran file. > > g77 -fvxt newray19.f > g77 -c newray19.f>newray19.err > g77 -fno-backslash newray19.f > g77 -fgnu-intrinsics-enable newray19.f > > Errors in newray19.f > newray19.f: In program `newray': > newray19.f:77: warning: > data pi/3.141592653589793/,clight/2.99792501 e05/, > ^ > Blank common initialized at (^) > newray19.f:114: > dummmm = dtime(xtime0) > ^ > Reference to intrinsic `DTIME' at (^) invalid -- one or more arguments have > incorrect type > newray19.f:320: > dummmm = dtime(xtime1) > ^ > Reference to intrinsic `DTIME' at (^) invalid -- one or more arguments have > incorrect type > newray19.f:456: warning: > 1 ' range printed'//) > ^ > Missing comma in FORMAT statement at (^) > newray19.f:482: > write(8,88) sngl(f99),sngl(l),sngl(lo),sngl(lk),sngl(zero), > ^ > Reference to intrinsic `SNGL' at (^) invalid -- one or more arguments have incorrect > type > newray19.f:497: > xtimes = dtime(xtime0) > ^ > Reference to intrinsic `DTIME' at (^) invalid -- one or more arguments have > incorrect type > newray19.f: In subroutine `adams': > newray19.f:728: warning: > 1 'change hmin or relax error conditions absb, relb') > ^ > Missing comma in FORMAT statement at (^) > newray19.f:1021: > xtime = dtime(xtime1) > ^ > Reference to intrinsic `DTIME' at (^) invalid -- one or more arguments have > incorrect type > newray19.f:1022: > xtime2 = dtime(xtime0) > ^ > Reference to intrinsic `DTIME' at (^) invalid -- one or more arguments have > incorrect type > newray19.f: In subroutine `dens': > newray19.f:1451: warning: > 1 e15.8,' he+ = ',e15.8,' o+ = ',e15.8) > ^ > Missing comma in FORMAT statement at (^) > newray19.f: In subroutine `rayplt': > newray19.f:1718: warning: > 1f7.1,8h"pru" km) > ^ > Missing comma in FORMAT statement at (^) > newray19.f:1798: > if (kplot.eq.4) go to 230 > 1 > newray19.f:1824: (continued): > do 230 i = 1,151 > 2 > Reference to label at (2) inconsistent with earlier reference at (1) > If you are compiling code that "works", try including the command line option -fno-globals. Try search the gcc/g77 documentation, which is online. Regards, ST -- |
From: Peter S. <p.j...@ho...> - 2004-11-23 11:29:34
|
At 02:24 23-11-2004 -0800, SourceForge.net wrote: >Read and respond to this message at: >https://sourceforge.net/forum/message.php?msg_id=2864906 >By: chikkubhainewray19.f:114: > dummmm = dtime(xtime0) > ^ >Reference to intrinsic `DTIME' at (^) invalid -- one or more arguments have >incorrect type >newray19.f:320: > dummmm = dtime(xtime1) > ^ >Reference to intrinsic `DTIME' at (^) invalid -- one or more arguments have >incorrect type You should be happy that g77 discovered some errors in your code that other compilers missed:-) These and your other error messages are self-explanatory. g77 adheres more strictly to standards than most other fortran compilers. Anyways this is not a mingw problem. The fortran discussion group comp.lang.fortran is a more suitable forum. |