comp.lang.ada
 help / color / mirror / Atom feed
From: Adam Beneschan <adam@irvine.com>
Subject: Re: How to exit an Ada program with (unix shell) error code?
Date: Tue, 5 May 2009 07:57:26 -0700 (PDT)
Date: 2009-05-05T07:57:26-07:00	[thread overview]
Message-ID: <62b174a9-c9c5-479c-9dd6-71916c102eb0@z16g2000prd.googlegroups.com> (raw)
In-Reply-To: 8ef6052e-4f51-416b-bae7-ff83d7024267@t11g2000vbc.googlegroups.com

On May 5, 4:43 am, Martin <martin.do...@btopenworld.com> wrote:
> On May 4, 5:09 pm, a...@anon.org (anon) wrote:
>
> > --
> > --  Besides the Ada.Command_Line you can just use functions for
> > --  the instead of procedures for your nain program. This design is
> > --  great for application where Command_Line is not used.
> > --
>
> > function work return Integer is
>
> >   begin
> >     return ( 0 ) ; -- no error status code
> >   end work ;
>
> Be aware that this is not portable. The only main subprogram that all
> compilers must support (if they support a main subprogram) is "public
> parameterless library procedures" (RM2005 10.2, 29 - previous RMs have
> similar requirements), i.e.
>
>    procedure Main is
>    ...
>
> Cheers
> -- Martin


Right; and even if your Ada compiler *does* support functions that
return integers as main programs, and you're compiling for some
operating system with an "x" in its name (or Solaris), this does *not*
mean that the Ada compiler will treat the function result as the
status code.  The compiler could decide that the function result is
something to be formatted and spit out onto standard output.  If an
Ada implementation supports parameters and/or function results on main
programs, the language leaves it up to the implementation how those
are interpreted.  There's no rule that says that the interpretation
has to mimic the behavior of the C language (thank God).  So anon's
solution may work on GNAT, but it can't be assumed to work anywhere
else.

                                -- Adam



  reply	other threads:[~2009-05-05 14:57 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-04  9:08 How to exit an Ada program with (unix shell) error code? reinkor
2009-05-04  9:17 ` Samuel Tardieu
2009-05-04  9:26   ` reinkor
2009-05-04  9:31     ` Ludovic Brenta
2009-05-04  9:47       ` reinkor
2009-05-04  9:54         ` Martin
2009-05-04 11:38           ` sjw
2009-05-04 10:07       ` stefan-lucks
2009-05-04 13:42     ` Robert A Duff
2009-05-04 16:19       ` Martin
2009-05-07  9:48         ` anon
2009-05-04 16:09 ` anon
2009-05-05 10:49   ` Rob Norris
2009-05-05 11:15     ` Georg Bauhaus
2009-05-05 11:43   ` Martin
2009-05-05 14:57     ` Adam Beneschan [this message]
2009-05-05 15:34       ` Jean-Pierre Rosen
2009-05-06 15:28         ` Adam Beneschan
2009-05-06 22:10           ` Randy Brukardt
2009-05-07  9:08           ` anon
2009-05-07 10:01             ` Georg Bauhaus
2009-05-07 11:22               ` anon
2009-05-07 12:08                 ` Martin
2009-05-07 13:34                 ` Georg Bauhaus
2009-05-07 16:26             ` Adam Beneschan
2009-05-08 10:17               ` anon
2009-05-12 22:55                 ` Adam Beneschan
2009-05-14  2:55                   ` anon
2009-05-14  8:04                     ` Martin
2009-05-14  8:39                     ` Martin
2009-05-14  8:45                       ` Martin
2009-05-14  9:34                       ` Ludovic Brenta
2009-05-14 10:05                         ` Martin
2009-05-14 12:38                           ` Georg Bauhaus
2009-05-14 15:34                     ` Adam Beneschan
2009-05-15 10:20                       ` anon
2009-05-15 11:19                         ` Martin
2009-05-05 20:48       ` anon
2009-05-05 21:01         ` Adam Beneschan
2009-05-06 11:30         ` Hibou57 (Yannick Duchêne)
2009-05-05 20:31     ` anon
2009-05-05 21:27       ` Martin
2009-05-06  8:41         ` anon
2009-05-06  9:14           ` Martin
2009-05-06 11:41             ` Georg Bauhaus
replies disabled

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