HP3000-L Archives

August 2000, Week 3

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Stan Sieler <[log in to unmask]>
Reply To:
Stan Sieler <[log in to unmask]>
Date:
Mon, 21 Aug 2000 16:32:37 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (33 lines)
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

ATOM RSS1 RSS2