comp.lang.ada
 help / color / mirror / Atom feed
From: "David C. Hoos, Sr." <david.c.hoos.sr@ada95.com>
Subject: Re: Sun Ada 3.0 / 2.1.1
Date: 1999/05/18
Date: 1999-05-18T00:00:00+00:00	[thread overview]
Message-ID: <TUF8qNRo#GA.209@newstoo.hiwaay.net> (raw)
In-Reply-To: 37408CC0.5E601B20@sll.northrop.com


Guy Calinsky <calinsky@sll.northrop.com> wrote in message
news:37408CC0.5E601B20@sll.northrop.com...
>
> I have a requirement to upgrade my project's compiler from Sun Ada 2.1.1
> to Sun Ada 3.0.
> Easy enough, except that my application makes several calls to C
> functions, passing floating point numbers.
> Whereas my application worked fine under 2.1.1, the floating point
> numbers are not mapping correctly between 3.0 and C and I get junk for
> results.  Does anybody know why this is?
> Sun and Rational are being difficult.
>
My guess would be that your code has interfaces to C based on types from
the compiler's package Standard which have changed size.

For example, I remember that VADS on the SGI IRIX platform changed
their type Float from 32-bit to 64-bit, and the Oracle interface was
based on equating C float to VADS Float, and C double to VADS Long_Float.

You should have your own project-specific types of fixed size, to protect
yourself from compiler changes.

Of course Ada95 makes this much easier with the package Interface, and
its child Interfaces.C -- providing types which are specifically
equivalent to corresponding C types.







  reply	other threads:[~1999-05-18  0:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-05-17  0:00 Sun Ada 3.0 / 2.1.1 Guy Calinsky
1999-05-18  0:00 ` David C. Hoos, Sr. [this message]
1999-05-24  0:00   ` fea
1999-05-24  0:00     ` Robert Dewar
1999-05-22  0:00 ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox