comp.lang.ada
 help / color / mirror / Atom feed
From: anon@att.net
Subject: Re: Overloading attributes
Date: Wed, 30 Nov 2011 11:05:35 +0000 (UTC)
Date: 2011-11-30T11:05:35+00:00	[thread overview]
Message-ID: <jb52lt$eq7$1@speranza.aioe.org> (raw)
In-Reply-To: f10225e5-d894-4ccb-924a-6cf741781fe4@t16g2000vba.googlegroups.com

As for RM 1.1.3 "Conformity of an Implementation with the Standard"

This is just a small list of errors within the GNAT system.
Lets see GNAT violates a number of paragraphs such as:

    2  Translate and correctly execute legal programs written in Ada,
       provided that they are not so large as to exceed the capacity of
       the implementation;

   15  A conforming implementation of this International Standard shall 
       produce for the execution of a given Ada program a set of 
       interactions with the external environment whose order and timing 
       are consistent with the definitions and requirements of this 
       International Standard for the semantics of the given program.

When the GNAT compiler see a raise statement like 

         raise Program_Error ;

instead of converting the routine into something like is 

         Raise_Exception ( Program_Error'Identity,
                           Integer'Image ( Line_Number ) ) ;
or maybe 

         Raise_Exception ( Program_Error'Identity,
                           "was explicit raise by <filename> at line" 
                           & Integer'Image ( Line_Number ) ) ;

it converts it to 

         RCheck_15 ( "<filename>", Line_number ) ;

that not translate and correctly. and the routines that must be 
executed may interfer with the program timing.


    5  Supply all language-defined library units required by this
       International Standard;

   16  An implementation that conforms to this Standard shall support 
       each capability required by the core language as specified.  In 
       addition, an implementation that conforms to this Standard may 
       conform to one or more Specialized Needs Annexes (or to none).  
       Conformance to a Specialized Needs Annex means that each 
       capability required by the Annex is provided as specified.

A number of packages in GNAT do not function as stated in the Standard 
an example is System.RPC and another is Ada.Asynchronous_Task_Control.

For the "Partition Communication Subsystem", Ada uses System.RPC which 
an older communication but is still in the RM and is still useful.

Also, since GNAT compiler can process a program for multi-environments 
it is required that all language-defined library units be fully 
functional so Ada.Asynchronous_Task_Control should be fully functional 
as well.

    6  Contain no variations except those explicitly permitted by this
       International Standard, or those that are impossible or
       impractical to avoid given the implementation's execution
       environment;

GNAT is always adding extra features that may or may not be in the 
next Standard version that can causes corruptions to occur with current 
Standard. Plus, there are a number of statements designs that are not 
functional like the "representation_clause" within the "Protected Units"


   10  The execution of certain code_statements (see 13.8); which 
       code_statements cause external interactions is implementation 
       defined.


While the System.Machine_Code package may be optional, but the coding of 
"code_statements" are not optional. GNAT does not allow "code_statements" 
of any kind. Actually the GNAT compiler does contains the code for 
processing a "code_statement" but it is deactivated.



Adacore GNAT compiler and RTL is one of two Ada leading Ada systems, the 
other is IBM/APEX system.  Since GNAT can not even meet the complete 
definition that is in "RM 1.1.3" that indicates that one or the other is 
corrupted or and should not be used.


This might expain one reason the Dod drop the mandated use of Ada.


In <f10225e5-d894-4ccb-924a-6cf741781fe4@t16g2000vba.googlegroups.com>, Mark Lorenzen <mark.lorenzen@gmail.com> writes:
>On 29 Nov., 12:58, a...@att.net wrote:
>> Where in the RM does it say that the compiler and RTL is the implementation?
>> As everyone says the Ada RM is the final word! And if it is not defined in
>> the RM then the compiler and RTL are not the implementation, but are the
>> tools for the implementation.
>
>I think that chapter 1.1.3 ("Conformity of an Implementation with the
>Standard") pretty well describes the expectations for an
>implementation. To me it's pretty obvious that the standard is talking
>about the toolchain and the RTL.
>
>Regards,
>
>Mark L




  reply	other threads:[~2011-11-30 11:05 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-26 23:13 Overloading attributes Matt Borchers
2011-11-26 23:24 ` Shark8
2011-11-27  7:38   ` Yannick Duchêne (Hibou57)
2011-11-27  3:36 ` anon
2011-11-27  7:04   ` J-P. Rosen
2011-11-27 20:00     ` anon
2011-11-27 20:34       ` Yannick Duchêne (Hibou57)
2011-11-27 20:50         ` Yannick Duchêne (Hibou57)
2011-11-27 23:10       ` J-P. Rosen
2011-11-28  9:11         ` anon
2011-11-28 10:53           ` Peter C. Chapin
2011-11-29 11:58             ` anon
2011-11-29 12:50               ` Mark Lorenzen
2011-11-30 11:05                 ` anon [this message]
2011-11-29 16:16               ` AdaMagica
2011-11-29 17:43                 ` Jeffrey Carter
2011-11-29 23:26                 ` J-P. Rosen
2011-11-30 11:06                   ` anon
2011-11-30 15:52                     ` J-P. Rosen
2011-11-30 17:27                       ` Yannick Duchêne (Hibou57)
2011-11-30 20:45                       ` Pascal Obry
2011-12-01 11:01                       ` Simon Wright
2011-12-02 18:55                       ` anon
2011-12-02 19:34                         ` Ludovic Brenta
2011-12-02 20:02                           ` Yannick Duchêne (Hibou57)
2011-12-03  1:41                           ` Randy Brukardt
2011-11-28 12:06           ` Ludovic Brenta
2011-11-27  5:11 ` Yannick Duchêne (Hibou57)
2011-11-27 12:57 ` Dmitry A. Kazakov
replies disabled

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