Software Archive
Read-only legacy content
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17060 Discussions

Adapting legacy code

Joel_G_2
Beginner
485 Views

I have a program written in FORTRAN 90. It sets up a block of memory as an array with a parameterized dimension in the main routine. This area is set as an integer vector. It is partitioned by various indices when this memory block is passed to subroutines. In the called routine the memory areas passed as dummy arguments are given discrete names. Often these names are of different kind than the storage array in the main routine. When compiling this setup, I get the infamous error 6633 concerning type disagreement. How does one overcome this problem. Is it necessary to discard the use of a memory block entirely or is there a work around possible? An Example is given below.

Parameter (maxsiz = 80000)

 

integer area(maxsize)

call prog1(area(ix),area(iy),area(iz))

 

In prog1:

subroutine prog1(xx,yz,iqp)

real*8 xx(*), yz(*)

integer iz(*)

I know that this was fairly standard in earlier versions of the language. How would it be4 handled now?

 

Thansk in advance

Joel G.

0 Kudos
1 Reply
Bernard
Valued Contributor I
485 Views

I think that you should have posted your question on Intel Ifort forum. There are many knowledgeable members.

0 Kudos
Reply