comp.lang.ada
 help / color / mirror / Atom feed
From: anon@anon.org (anon)
Subject: Re: GNAT on WinXP: System.OS_Lib.Spawn raises Program_Error
Date: Sat, 02 May 2009 20:39:57 GMT
Date: 2009-05-02T20:39:57+00:00	[thread overview]
Message-ID: <xc2Ll.188618$4m1.82760@bgtnsc05-news.ops.worldnet.att.net> (raw)
In-Reply-To: 923b28dd-46ee-40cb-b13e-5f8860405f22@r36g2000vbr.googlegroups.com

Martin

GNAT.OS_LIB existed in GNAT 3.15p  but since GNAT 2005 it have been 
moved to System.OS_LIB.  And the GNAT.OS_LIB just renames System.OS_LIB 
which makes this package a legacy for older projects and can be avoided for 
future use. It just causes more work for the compiler which increase the 
compile time.

Plus, there are only 6 System files in the RM Ada standards: 

  0. System
  1.   System.Address_To_Access_Conversions
  2.   System.Machine_Code
  3.   System.RPC
  4.   System.Storage_Elements
  5.   System.Storage_Pools

All others System packages like all GNAT packages are non RM Ada 
standard package list. And any GNAT Ada programmer should know that. 

Adacore's annual or GNU quarterly update of GNAT is the Ada standard, for 
most people and schools, and very few programmers will use anything else. 
And any improvement that Adacore makes that is passed to GNU version will 
become to most programmers, additions to the Ada standards.  Just like a 
lot of programmers were using the Ada 2005 specs before they were approved 
in January, 2008.

Plus, "GNATLINK" uses "System.OS_LIB.spawn" to call the "gcc" compiler 
to compile the binder generated file.  If this was not OK, then why would 
Adacore or GNU use it? 

And finally the RM allows the usages of additional System packages to be 
included in a standard.  System.OS_LIB is an "implementation-defined 
children of System" see, RM 13.7 (36),

So you need to stop with the idea using non standard packages is a "bad 
idea". Plus, all that is needed is a few comments for future version of 
GNAT. And that because most programs written with GNAT will almost 
never be move from GNAT, so only updating comments are needed.



In <923b28dd-46ee-40cb-b13e-5f8860405f22@r36g2000vbr.googlegroups.com>, Martin <martin.dowie@btopenworld.com> writes:
>On May 2, 5:16=A0am, a...@anon.org (anon) wrote:
>> First, in GNAT GPL 2008, GNAT.OS_LIB renames System.OS_LIB, so using
>> GNAT.OS_LIB would be a waste of time.
>
>Not entirely a waste, as using "GNAT.*" makes it explicit to anyone
>reading the code that this is a non-standard package being used. Using
>'System.OS_Lib' would give the erroneous impression to the casual
>reader that only standard language defined packages are being used and
>that there perhaps would be =A30.00 cost to compile it up using a
>different compiler.
>
>Using non-standard extensions to standard units is generally a
>_bad_idea_ but if it is unavoidable then it should be hidden in an
>abstration layer that you have control over.
>
>Cheers
>-- Martin
>




  reply	other threads:[~2009-05-02 20:39 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-01 21:39 GNAT on WinXP: System.OS_Lib.Spawn raises Program_Error daniel.wengelin
2009-05-01 21:58 ` Jeffrey R. Carter
2009-05-02  4:16 ` anon
2009-05-02 15:59   ` Martin
2009-05-02 20:39     ` anon [this message]
2009-05-02 22:01       ` Ed Falis
2009-05-02 23:20         ` anon
2009-05-03 13:24           ` Ed Falis
2009-05-04  0:22             ` anon
2009-05-04  1:21               ` Ed Falis
2009-05-03 10:33         ` sjw
2009-05-03 13:27           ` Ed Falis
2009-05-04 13:32           ` Robert A Duff
2009-05-03  9:42       ` Martin
2009-05-05  0:04       ` Randy Brukardt
2009-05-05  2:43         ` anon
2009-05-05  8:06           ` Martin
2009-05-05 23:40             ` Randy Brukardt
2009-05-02 20:31   ` daniel.wengelin
2009-05-03  2:22     ` Hang
2009-05-02  6:28 ` Example of Spawn call anon
2009-05-02 15:50   ` Hang
2009-05-02 18:28     ` anon
2009-05-02 19:38     ` sjw
2009-05-02 19:47       ` sjw
2009-05-02 20:59         ` anon
replies disabled

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