From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,49b52b8065390e5a X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!news1.google.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!cyclone1.gnilink.net!gnilink.net!newsfeed.news2me.com!newsfeed.icl.net!newsfeed.fjserv.net!oleane.net!oleane!hunter.axlog.fr!nobody From: Jean-Pierre Rosen Newsgroups: comp.lang.ada Subject: Re: Ada Plattform Independence Date: Wed, 11 Mar 2009 16:37:44 +0100 Organization: Adalog Message-ID: References: <82d07df7-bee1-4fd4-b0e1-dd10f43f9f60@q1g2000vbn.googlegroups.com> NNTP-Posting-Host: mailhost.axlog.fr Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: s1.news.oleane.net 1236779050 8723 195.25.228.57 (11 Mar 2009 13:44:10 GMT) X-Complaints-To: abuse@oleane.net NNTP-Posting-Date: Wed, 11 Mar 2009 13:44:10 +0000 (UTC) User-Agent: Thunderbird 2.0.0.19 (Windows/20081209) In-Reply-To: <82d07df7-bee1-4fd4-b0e1-dd10f43f9f60@q1g2000vbn.googlegroups.com> Xref: g2news2.google.com comp.lang.ada:5010 Date: 2009-03-11T16:37:44+01:00 List-Id: patrick.gunia@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 -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 -Outrageously wrong code written by people who write "C-in-Ada", with lots of unchecked conversions between pointers and addresses. In practice, most portability problems are rooted in insufficient training of the people who wrote the code initially. -- --------------------------------------------------------- J-P. Rosen (rosen@adalog.fr) Visit Adalog's web site at http://www.adalog.fr