comp.lang.ada
 help / color / mirror / Atom feed
From: "patrick.gunia@googlemail.com" <patrick.gunia@googlemail.com>
Subject: Re: Ada Plattform Independence
Date: Wed, 11 Mar 2009 10:00:18 -0700 (PDT)
Date: 2009-03-11T10:00:18-07:00	[thread overview]
Message-ID: <c53dc282-a11b-40ad-86d7-3533181b46d4@p20g2000yqi.googlegroups.com> (raw)
In-Reply-To: jsl8pg.gbq.ln@hunter.axlog.fr

On 11 Mrz., 16:37, Jean-Pierre Rosen <ro...@adalog.fr> wrote:
> patrick.gu...@googlemail.com a écrit :
>
> > Hi all,
>
> > I´m currently working on an analysis of an Ada-System with focus on
> > the current state of plattform-independence. As my experiences wirh
> > porting Ada-software to different operating system is limited and
> > close to zero, I´d like to ask, which conecpts of the langiage might
> > cause problems.
>
> Ada allows writing portable programs, however it does not guarantee in
> itself that programs will be portable. The language purposedly allowed
> to depend on the peculiarities of the target. Care is still needed to
> achieve portable code. Common difficulties include:
>
> -Relying on the characteristics of predefined types (Integer and Duration)
>
> -Differences on the implementation of Address. Some compilers (mainly
> Ada83) defined Address as an integer type, while current common practice
> is to make it private, which causes problems if people are doing
> (uncontrolled) address arithmetic

I also thought of this aspect. I have the big advantage that the
software is only executed on a very limited range of hardware
configurations. Using the same compiler implementation for different
plattforms (for example GNAT) would solve this problem?

> -Representation clauses. Compilers vary in their support of
> representation clauses, sometimes for good reasons: some representation
> clauses that are acceptable on some targets would lead to unreasonable
> code on a different hardware. Representation clauses may also depend on
> predefined types; f.e., if you have a record field of type Duration, you
> may have problems when moving a program from an implementation where
> Duration is 32 bits to one where Duration is 64 bits

Same aspect as above, when I use GNAT on GNU/Linux and Windows to
compile this code, it should use the same implementation of Duration?

> -Outrageously wrong code written by people who write "C-in-Ada", with
> lots of unchecked conversions between pointers and addresses.

The code uses unchecked_conversions to call imported C-functions. I don
´t think that I can avoid this problem. Though the software is always
executed on 32-Bit systems, thus this should also work out, or am I
getting something terribly wrong here?

> In practice, most portability problems are rooted in insufficient
> training of the people who wrote the code initially.
> --
> ---------------------------------------------------------
>            J-P. Rosen (ro...@adalog.fr)
> Visit Adalog's web site athttp://www.adalog.fr

Last but not least,
thanks for your answer!
Patrick



  reply	other threads:[~2009-03-11 17:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-11 14:04 Ada Plattform Independence patrick.gunia
2009-03-11 15:37 ` Jean-Pierre Rosen
2009-03-11 17:00   ` patrick.gunia [this message]
2009-03-12  9:44     ` Jean-Pierre Rosen
2009-03-11 17:33 ` Martin
replies disabled

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