comp.lang.ada
 help / color / mirror / Atom feed
From: "Nick Roberts" <nick.roberts@acm.org>
Subject: Re: Specifying parameter passing convention and place (register)
Date: Wed, 07 Jul 2004 22:01:01 +0100
Date: 2004-07-07T22:01:01+01:00	[thread overview]
Message-ID: <opsascnzjtp4pfvb@bram-2> (raw)
In-Reply-To: 6qg+KjvqRKch@eisner.encompasserve.org

On 7 Jul 2004 13:54:01 -0500, Larry Kilgallen <Kilgallen@SpamCop.net>  
wrote:

> Well, of course GNAT comes with source, right ?   :-)

I've looked through the source of the GNAT version that I've got (3.15p),  
specifically the file 'einfo.ads' which purportedly lists all the  
attributes, internal and external, that GNAT uses (to decorate the parse  
tree its sends to GCC or Gigi or whatever it's called). It's a long list,  
but no joy.

> The design of the World Wide Web envisioned that URLs would be
> somewhat invisible to readers and clicking links would get you
> there.  I presume that works if you work your way through the
> whole web hierarchy to what you want,

Well thank Google almighty for search engines. Trawling the entire WWW by  
hand these days would be a Sisyphean job indeed.

> but if you want the following shortcut it is somewhat weirdly
> named:
>
> 	http://h71000.www7.hp.com/commercial/ada/documentation.html

Well that weird link redirects me to another page, which, believe it or  
not, is practically the /second/ place I looked! Unfortunately, although  
this page has links to various bits of Ada documentation, none of that  
documentation has the information I need. I have looked in the LRM listed  
there (a PDF file), which lists the implementation-specific pragmas and  
attributes, but there are neither any pragmas nor any attributes relating  
to parameter passing mechanisms.

Do I take it DEC Ada doesn't, in fact, have any such pragmas or attributes?

> I thought Robert Dewar had stated they were extending the DEC
> features to their other platforms.

I don't know, but it doesn't sound very likely that mechanisms relating to  
VAX/VMS or Alpha/VMS (or VAX/Unix) will be very transferable to other  
architectures/environments.

> But my answer was based on VAX/DEC/Compaq/HP Ada, where machine code
> insertions are not supported.  One writes (and I have written) an
> assembler module and links it to the Ada modules.  I don't have
> an understanding of the fascination with machine code insertions
> on other operating systems.

There's no fascination, as such, on my part. It's just that it's a little  
bit easier to have your Ada and assembly code in one source text file than  
in two. For writing a piece of low-to-the-bone level software (of which  
the AdaOS kernel is surely typical), the proportion of assembly required  
is small (less than 10%), probably less than a hundred lines total. It's  
using a sledgehammer to crack a nut to use a separate assembler, isn't it?

-- 
Nick Roberts



  reply	other threads:[~2004-07-07 21:01 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-05 23:25 Specifying parameter passing convention and place (register) Nick Roberts
2004-07-06 12:58 ` Larry Kilgallen
2004-07-06 17:30   ` Nick Roberts
2004-07-07  4:14     ` Larry Kilgallen
2004-07-07 13:13       ` Nick Roberts
2004-07-07 18:54         ` Larry Kilgallen
2004-07-07 21:01           ` Nick Roberts [this message]
2004-07-08 12:06             ` Larry Kilgallen
2004-07-08 15:29               ` Nick Roberts
2004-07-08 14:09             ` Bob Spooner
2004-07-08 18:10               ` Nick Roberts
2004-07-08 12:27           ` Georg Bauhaus
2004-07-08 15:38             ` Larry Kilgallen
2004-07-08 18:03               ` Georg Bauhaus
2004-07-09 21:29 ` Keith Thompson
2004-07-09 21:50   ` Nick Roberts
replies disabled

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