comp.lang.ada
 help / color / mirror / Atom feed
From: Martin <martin@thedowies.com>
Subject: Re: CPAN style Ada repository
Date: Tue, 3 Dec 2013 10:12:04 -0800 (PST)
Date: 2013-12-03T10:12:04-08:00	[thread overview]
Message-ID: <b6f7ee08-006c-4809-9c12-b29ded60e0a7@googlegroups.com> (raw)
In-Reply-To: <529911e9$0$6625$9b4e6d93@newsspool2.arcor-online.net>

On Friday, November 29, 2013 10:15:07 PM UTC, Georg Bauhaus wrote:
> On 29.11.13 20:22, Felix Krause wrote:
> 
> > The major problem is that from what I know, Ada code is not
> 
> > very portable between compilers (even the .ads/.adb naming
> 
> > convention is GNAT-specific).
> 
> 
> 
> The 1-unit convention (.ads [+.adb +-sub.adb]) has not caused
> 
> any problem for AdaMagic compilers (including ObjectAda
> 
> mentioned by Simon). The ones I know have been rather flexible
> 
> with regard to files and compilation units.
> 
> 
> 
> Some problems were not so much caused by the Ada source,
> 
> but by implementation specific attributes such as 'Img (intended
> 
> for debugging, but welcome by lazy typists, I suppose) or by
> 
> using types from the standard library such as Integer. These cause
> 
> portability issues that wouldn't be there if using just 'Image or
> 
> if defining integer types to match the problem domain; other
> 
> problems were caused by OS/GCC-specific linker pragmas in source
> 
> (these problems were removed by dropping the pramgas and adding
> 
> linker switches to build scripts instead).
> 
> 
> 
> Are there other typical causes that render Ada code non-portable
> 
> between Ada compilers? Compiler bugs I suppose, but these cannot
> 
> always be addressed by changing the source.
> 
> 
> 
> FWIW, adding to GNAT the ICC Ada95 Pretty Printer is free
> 
> and can be used for checking syntax, at the very least.
> 
> Maybe the pretty printer is updated someday to match the language
> 
> that ICC Ada currently supports (Ada 2005).
> 
> 
> 
> Also, http://build.ada-language.com/ can be a useful resource
> 
> for making Ada software translation portable.


Depends how good the original programmers were...for instance, a fairly typical problem when porting XD-Ada code to any Ada95+ compiler is that XD-Ada included non-standard types in package System...and unfortunately lots of programmers didn't know or didn't care and used them widely. Sigh.

Also, a classic non-Ada programmer type of thing to do would be to use Integer / Float everywhere (or those pesky XD-Ada System types!) thinking they were using C or something...

-- Martin

  reply	other threads:[~2013-12-03 18:12 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-28 15:41 CPAN style Ada repository banjo
2013-11-29  7:04 ` Thomas Løcke
2013-12-12 10:17   ` Lucretia
2013-12-13  6:54     ` J Kimball
2013-12-13  9:58       ` Lucretia
2013-11-29 19:22 ` Felix Krause
2013-11-29 20:17   ` Simon Wright
2013-11-29 22:53     ` Dennis Lee Bieber
2013-12-09 23:45       ` Yannick Duchêne (Hibou57)
2013-11-29 22:13   ` Jeffrey Carter
2013-11-29 22:15   ` Georg Bauhaus
2013-12-03 18:12     ` Martin [this message]
2013-12-03 19:03     ` Randy Brukardt
2013-11-30  1:20   ` Shark8
2013-11-30 13:46   ` gautier_niouzes
2013-11-29 22:07 ` Stephen Leake
2013-11-30 13:12   ` Jacob Sparre Andersen
2013-12-02 17:10     ` Tero Koskinen
2013-12-01  6:36 ` johannes falcone
2013-12-01  7:08   ` Simon Wright
2013-12-01 11:18     ` Brian Drummond
2013-12-01 11:19     ` Brian Drummond
2013-12-01 12:18       ` Jacob Sparre Andersen
2013-12-01  8:24   ` Jacob Sparre Andersen
2013-12-11 20:49 ` Björn Persson
2013-12-12 16:12   ` Stephen Leake
2013-12-13 11:52     ` darkestkhan
2013-12-13 18:38     ` Björn Persson
2013-12-15  5:40       ` Stephen Leake
2013-12-12  8:23 ` Jacob Sparre Andersen
2013-12-12  9:55   ` Yannick Duchêne (Hibou57)
2013-12-12 10:26     ` Jacob Sparre Andersen
2013-12-12 10:37       ` Brian Drummond
2013-12-12 11:39       ` G.B.
2013-12-12 22:20         ` Jacob Sparre Andersen
2013-12-13  5:43           ` Randy Brukardt
replies disabled

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