From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00,FREEMAIL_FROM, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,9544fb5ce0a6df8b X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.35.68 with SMTP id f4mr3645412pbj.5.1322651139434; Wed, 30 Nov 2011 03:05:39 -0800 (PST) MIME-Version: 1.0 Path: lh20ni43754pbb.0!nntp.google.com!news2.google.com!goblin1!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: anon@att.net Newsgroups: comp.lang.ada Subject: Re: Overloading attributes Date: Wed, 30 Nov 2011 11:05:35 +0000 (UTC) Organization: Aioe.org NNTP Server Message-ID: References: <8ed87fee-166a-4be9-ae6c-4d0fbeb4788c@s6g2000vbc.googlegroups.com> Reply-To: anon@anon.org NNTP-Posting-Host: fCy3nDjfiDR3bTw7P/mQhQ.user.speranza.aioe.org X-Complaints-To: abuse@aioe.org X-Notice: Filtered by postfilter v. 0.8.2 X-Newsreader: IBM NewsReader/2 2.0 Xref: news2.google.com comp.lang.ada:14748 Date: 2011-11-30T11:05:35+00:00 List-Id: 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 at line" & Integer'Image ( Line_Number ) ) ; it converts it to RCheck_15 ( "", 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 , Mark Lorenzen 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