comp.lang.ada
 help / color / mirror / Atom feed
From: "Richard  Riehle" <adaworks@earthlink.net>
Subject: Re: Porting ADA source
Date: Sat, 31 Jul 2004 16:04:35 GMT
Date: 2004-07-31T16:04:35+00:00	[thread overview]
Message-ID: <nqPOc.3967$cK.2283@newsread2.news.pas.earthlink.net> (raw)
In-Reply-To: cdfu3s$k1a$1@e3k.asi.ansaldo.it

Porting from DEC to anything else can  be very entertaining,
especially when numerics are involved.   The sign bit, on the
VAX, is not located where you might think.

Confronted with this problem, in a one-time conversion, many years
ago, we opted to convert the VAX numerics to human-readable (using
Text_IO) and read them back into the target system, again using Text_IO.
This is a brute-force approach, but it was suitable to the problem at-hand
at that time.

               NOTE:  For some reason, many long-term users of Ada do
                            not realize that these conversions are already a
part
                            of the language and found in the nested IO
packages
                            within Text_IO.

We first tried to create an algorithm to convert the VAX word into the word
of our target platform.  That turned out to be an ugly mess with lots of
code
to verify the correctness of each translated word.   It is even more fun
when
the DEC word represents a floating point value and needs to be converted
to a floating point value on the target.

I realize this is only part of your problem, but others may want to
contribute
additional recommedations based on their direct experience.

Richard Riehle


"Giacomo Polizzi" <mio@.mio> wrote in message
news:cdfu3s$k1a$1@e3k.asi.ansaldo.it...
> Hello,
>
> I have to port an ADA program from an Unix DEC Alpha machine with a DEC
ADA
> compiler to a Linux pc machine with gnat (gcc) compiler.
>
> The task is to have, if possible, an unique source code compilable on both
> platforms but there are the following problems:
>
> 1) some system packages that execute the same kind of operations have
> different names in the two compilers
>
> 2) some system functions (for example mathematical function) have
different
> names in the two compilers
>
> 3) the word length is 64 bits on DEC Alpha and 32 bits on pc so it is not
> always possible to use the same standard type (for example the long type
is
> 64 bits on Alpha and 32 bits on pc)
>
> 4) the standard type (long long) used by gcc on pc to solve the previous
> problem is not supported by the DEC ADA compiler
>
> 5) the different word length modifies some structure length used to define
> interface messages with other external programs
>
> Is there something like #IFDEF of C language that I can use in ADA ?
>
> Is there any other kind of solution for the above problems ?
>
> Thanks to everybody
>
> Giacomo
>
>





      parent reply	other threads:[~2004-07-31 16:04 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-19  7:42 Porting ADA source Giacomo Polizzi
2004-07-19 11:04 ` Dale Stanbrough
2004-07-19 12:14   ` Marin David Condic
2004-07-19 18:46     ` tmoran
2004-07-20  0:44       ` Marin David Condic
2004-07-20 11:18       ` Peter C. Chapin
2004-07-20 11:41         ` Martin Dowie
2004-07-20 11:59           ` Marin David Condic
2004-07-20 13:02             ` Georg Bauhaus
2004-07-20 18:49             ` Jeffrey Carter
2004-07-20 22:51             ` Randy Brukardt
2004-07-21  0:35               ` Robert I. Eachus
2004-07-21 12:24                 ` Marin David Condic
2004-07-22 22:48                   ` Robert I. Eachus
2004-07-23 13:00                     ` Marin David Condic
2004-07-24  3:04                       ` Robert I. Eachus
2004-07-24 11:48                         ` Marin David Condic
2004-07-24 12:42                           ` Robert I. Eachus
2004-07-26 18:39                             ` Marin David Condic
2004-08-17  4:28               ` Ronald Price
2004-08-17 11:28                 ` Frank J. Lhota
2004-07-19 11:09 ` Adrian Knoth
2004-07-19 12:23 ` Porting Ada source Jacob Sparre Andersen
2004-07-19 18:05   ` Jean-Pierre Rosen
2004-07-19 13:39 ` Porting ADA source Steve
2004-07-20  0:54   ` Marin David Condic
2004-07-19 18:05 ` Martin Dowie
2004-07-19 19:33   ` Wes Groleau
2004-07-19 20:03     ` Larry Kilgallen
2004-07-19 20:29       ` Wes Groleau
2004-07-20 16:13         ` Martin Krischik
2004-07-19 21:36     ` Martin Dowie
2004-07-20 12:14       ` Frank J. Lhota
2004-07-20 12:27         ` Vinzent 'Gadget' Hoefler
2004-07-20 13:13 ` Peter Amey
2004-07-21  6:20 ` Volkert
2004-07-31 16:04 ` Richard  Riehle [this message]
replies disabled

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