[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20020910: UDUNITS use on DEC Alpha/OSF1: utmake() return value



Yukiko Fukuda

>Date: Tue, 10 Sep 2002 18:58:38 +0900
>From: =?iso-2022-jp?B?GyRCSiFFRCEhTSc1KjtSGyhK?= <address@hidden>
>Organization: CTI CO., LTD.
>To: Steve Emmerson <address@hidden>
>Subject: RE: 20020813: UDUNITS use on DEC Alpha/OSF1: utmake() return valu e
>Keywords: 200209090920.g899Kkj25488

The above message contained the following:

> As it was declared 'integer utmake' in include file (udunits.inc),

If your code includes the header-file "udunits.inc", then you should
modify that file so that the pointer type is defined as "integer*8".
Search for the "#define" statement.

> I tried to comment out it and declared 'integer*8 utmake'
> in a subroutin for reading data.
> 
> But the effect was same as when I changed 
> integer*4 unitptr   $B"*(J   integer*8 unitptr 
> (and utmake had been left integer).
> In short,
> > > then, it calculated to the very end but,
> > > the next messege outputed.
> > > 
> > >   Unaliged access pid=$B!D(J < > va=$B!D(J pc=$B!D(J ra=$B!D(J 
> > > inst=$B!D(J
> 
> When that messege is displayed, (Unaliged $B!D(J)
> the calculations has failed ?

I believe that the default behavior for an unaligned access is to stop
the process.

> Furthermore I disturb next code.
> > >   unitptr = 1129507172
> > >   retcode = utdec (unitstr , unitptr) = -3
> 
> 
> Then, as I don't understand 'uac' command much,
> I try to study once more.
> If it is solved, I will let you knou.

Please do.

Regards,
Steve Emmerson   <http://www.unidata.ucar.edu>