comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: How to detect OS type and version?
Date: 13 Oct 2005 17:21:32 -0400
Date: 2005-10-13T17:21:32-04:00	[thread overview]
Message-ID: <wcc4q7lp0yr.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 20051013203728.2322138f@pscube.informatik.uni-stuttgart.de

Stefan Bellon <bellon@bauhaus-tec.com> writes:

> Nothing more than historical reasons. In some files where OS specific
> code resides, we have something like the following on package level:
> 
>    Is_MSWindows : constant Boolean := Get_OS = "Windows";
> 
> We hope that GNAT can optimize enough to propagate the Boolean constant
> and only include the active configuration in a case like
> 
>    if Is_MSWindows then
>       Do_It_The_MSWindows_Way;
>    else
>       Do_It_The_UNIX_Way;
>    end if;

Compilers will probably not be able to optimize this unless Get_OS is
inlined.  I believe GNAT refuses to inline functions that return String.

> But yes, making it an enumeration is a neater solution (done now).

... and add pragma Inline to the function.

By the way, a case statement would be better than an if statement,
because then you get the benefit of the full coverage rules.  "Not
windows" might imply "unix" today, but what if you add a third
possible value?

- Bob



  reply	other threads:[~2005-10-13 21:21 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-13  2:35 How to detect OS type and version? Roger Blum
2005-10-13  6:05 ` Martin Dowie
2005-10-13  9:50   ` Stefan Bellon
2005-10-13 10:39     ` Martin Dowie
2005-10-13 18:12     ` Jeffrey R. Carter
2005-10-13 18:37       ` Stefan Bellon
2005-10-13 21:21         ` Robert A Duff [this message]
2005-10-13 21:25           ` Stefan Bellon
2005-10-13 21:52             ` Robert A Duff
2005-10-16  0:13       ` Ray Blaak
2005-10-16  0:29         ` Robert A Duff
2005-10-16  4:48           ` Ray Blaak
2005-10-16 14:16             ` Larry Kilgallen
2005-10-16 15:55               ` Robert A Duff
2005-10-16 20:06               ` Pascal Obry
2005-10-18 16:58                 ` Ray Blaak
2005-10-16 15:59             ` Robert A Duff
2005-10-17 17:19               ` Ray Blaak
2005-10-13 18:11   ` Jeffrey R. Carter
2005-10-13 19:44   ` Simon Wright
2005-10-13 21:04   ` Michael Bode
2005-10-14  1:33     ` Steve
2005-10-13 12:06 ` Rob Norris
2005-10-13 11:59   ` Martin Dowie
2005-10-14  0:21     ` Randy Brukardt
2005-10-14  8:02       ` Martin Dowie
2005-10-14 23:27         ` Randy Brukardt
2005-10-15 12:28           ` Larry Kilgallen
2005-10-15 14:12             ` Martin Dowie
2005-10-14  9:52     ` Rob Norris
2005-10-13 20:25 ` Bernd Specht
2005-10-13 20:36   ` Michael Bode
2005-10-13 20:41     ` Bernd Specht
2005-10-13 20:58       ` Stefan Bellon
2005-10-14  0:27         ` Randy Brukardt
2005-10-15 19:48           ` Bernd Specht
2005-10-14  6:30 ` Roger Blum
replies disabled

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