Subject: | |
From: | |
Reply To: | |
Date: | Mon, 21 Aug 2000 16:32:37 -0700 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Re:
> I need some help with the conversion (at long last) from fortran 66 to 77
> version. I keep getting a compiler error No.138 on the common I have
> INTEGER*2 buf3
> (229)
> INTEGER*4
> cost3,schedule3,onhand3,reordpt3,compare3
> EQUIVALENCE (interact3,buf3(55)),(cost3,buf3
The problem appears to be in the equivalencing of a 32-bit integer
(e.g., cost3) to a 16-bit oriented struture (buf3).
I'd have expected only the 32-bit integers equated to odd indices
of buf3 to be a problem, not *all* of them!
However, there are two solutions:
1) ensure all integer*4 variables are equivalenced to odd
indices in buf3 ... this, of course, may mean changes to the
dataset layout
or
2) try using a compiler directive like: $hp3000_16$
(that says "use 16-bit alignment rules", which means that
load/store of integer*4 variables will require 3 instructions
instead of 1)
Stan Sieler [log in to unmask]
www.allegro.com/sieler/wanted/index.html www.allegro.com/sieler
|
|
|