comp.lang.ada
 help / color / mirror / Atom feed
From: anon@anon.org (anon)
Subject: Re: Extending discriminant types
Date: Fri, 21 Nov 2008 22:31:14 GMT
Date: 2008-11-21T22:31:14+00:00	[thread overview]
Message-ID: <SEGVk.37387$_Y1.29974@bgtnsc05-news.ops.worldnet.att.net> (raw)
In-Reply-To: 4d75603c-2f61-46c9-8c62-df4b6f49b2f7@13g2000yql.googlegroups.com

>So please accept that if some compilers accept 'Base, this is a
>mistake!

And to Ludovic Brenta:

This type of statement works with GNAT-3.15p, even in GNAT-3.01 as 
well as GNAT-3.12. All which are GNAT compilers that use the Ada 95 
specification.  That's just too many compilers and programmers testing for 
Adacore over a period of 5 to 10 years to be a design flaw in one version 
of a compiler.  And that does not include the 100s to 1000s of GCC 
people and students with the general public added in that have tested 
possible every combination of every type of statement (may be to general 
but you get the idea). The odds that this type of statement not being 
found until now and at least written up, is astronautical. 

So, until there is a second and possible a third compiler that is not 
based on Adacore GNAT, such as the "IBM Ada" compiler based on 
the Ada 2005 specs, that states this is an error! I have to say "No!" I 
will not accept this type of statement as an error.

Also if you wanted a ACATS test you could just modify one of the code 
I posted to fit the ACATS design test structure.


>So there is nowhere a statement that 'Base may exist for other types.

But there is no place it say that it can not exist either! It up to the 
programmer! Plus "Base" is not a reserved word so it can be use in other
places. 

>Implementations may define other attributes, but they are not allowed
>to use attribute names defined in the standard.

  Disprove by example RM 13.13 (84)

    function My_Read(Stream : access Ada.Streams.Root_Stream_Type'Class)
      return T;
    for T'Read use My_Read; -- see 13.13.2

Where the standard "Read" attribute is reassigned. In GNAT you are limited 
to the standard attributes only and that attribute structural definition but you 
can reassign them to user's code.

Also, If you are correct it would of been listed in "RM Annex J" since it 
is valid under the Ada 83 specs.



In <4d75603c-2f61-46c9-8c62-df4b6f49b2f7@13g2000yql.googlegroups.com>, Ludovic Brenta <ludovic@ludovic-brenta.org> writes:
>On Nov 21, 8:25 am, a...@anon.org (anon) wrote:
>> Adam,
>>
>> Try an explain this. Since I downloaded my binary version of GNAT-3.15p
>> direct from Adacore. And someone else has said the GNAT-3.15p is old but
>> it has been fully tested and found to be correct. So, that means that time
>> Adacore agreed that "Base" attribute could be used outside of scalars and
>> that was years after the RM and AARM for Ada 95 was written.
>
>Your reasoning is incorrect because (a) it is impossible to "fully
>test" a program as complex as a compiler and (b) testing can prove the
>presence of bugs but not their absence. Therefore, even though GNAT
>3.15p did pass the ACATS and many thousands of tests beyond the ACATS,
>you may not assume that it contains no bugs. In fact, during my years
>maintaining GNAT 3.15p in Debian, various people reported
>approximately 110 bugs in it. A few of these bugs are still present in
>the latest releases of GNAT; yet, the ACATS does not find them.
>
>It would be nice to add a test to the ACATS so that compilers that
>accept T'Base where T is non-scalar get rejected.
>
>--
>Ludovic Brenta.




  reply	other threads:[~2008-11-21 22:31 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-15  9:16 Extending discriminant types Stefan Bellon
2008-11-15 18:50 ` Jeffrey R. Carter
2008-11-17 16:30 ` Adam Beneschan
2008-11-18 11:02   ` christoph.grein
2008-11-18 23:24     ` Adam Beneschan
2008-11-19  9:49 ` anon
2008-11-19 10:15   ` christoph.grein
2008-11-19 19:19     ` Georg Bauhaus
2008-11-19 11:38   ` Martin
2008-11-20  7:21   ` anon
2008-11-20  8:30     ` christoph.grein
2008-11-20  8:36       ` Ludovic Brenta
2008-11-20 11:45         ` Georg Bauhaus
2008-11-20 11:46           ` Georg Bauhaus
2008-11-20 23:01             ` anon
2008-11-21 11:54               ` Ludovic Brenta
2008-11-20 14:03           ` Dmitry A. Kazakov
2008-11-20 15:03           ` Robert A Duff
2008-11-20 15:57             ` Stefan Bellon
2008-11-21  0:32               ` Adam Beneschan
2008-11-20 16:11           ` Adam Beneschan
2008-11-20 22:59       ` anon
2008-11-21  0:29         ` Adam Beneschan
2008-11-21  7:25           ` anon
2008-11-21  9:19             ` Jean-Pierre Rosen
2008-11-21 10:11             ` christoph.grein
2008-11-21 12:00             ` Ludovic Brenta
2008-11-21 22:31               ` anon [this message]
2008-11-22  0:18                 ` Stefan Bellon
2008-11-23  4:06                   ` anon
2008-11-23  5:39                     ` Georg Bauhaus
2008-11-23  8:00                       ` anon
2008-11-24 10:08                         ` Georg Bauhaus
2008-11-24 22:16                           ` anon
2008-11-25 10:37                             ` Martin
2008-11-25 11:24                               ` Georg Bauhaus
2008-11-25 20:49                                 ` Jeffrey R. Carter
2008-11-25 21:01                                   ` Adam Beneschan
2008-11-25 22:09                                     ` Georg Bauhaus
2008-11-25 22:33                                       ` Jeffrey R. Carter
2008-11-26  0:58                                         ` Adam Beneschan
2008-11-26  1:45                                           ` Jeffrey R. Carter
2008-11-26  9:31                                             ` Martin
2008-11-26  9:38                                               ` Stefan Bellon
2008-11-26  9:48                                                 ` Martin
2008-11-26 10:16                                                   ` Stefan Bellon
2008-11-26 11:05                                                     ` Ludovic Brenta
2008-11-26 11:33                                                       ` Stefan Bellon
2008-11-26 15:49                                                       ` Adam Beneschan
2008-11-26 16:15                                                         ` Ludovic Brenta
2008-11-26 11:10                                                 ` Niklas Holsti
2008-11-23  8:48                     ` Compiler quality (was: Extending discriminant types) Ludovic Brenta
2008-11-24 23:33                       ` anon
2008-11-25  6:54                         ` christoph.grein
2008-11-25 10:01                         ` Ludovic Brenta
2008-11-26 23:34                           ` anon
2008-11-27 10:24                             ` Compiler quality Georg Bauhaus
2008-11-27 14:46                               ` Ludovic Brenta
2008-11-28  9:13                                 ` Martin
2008-11-28 10:28                                   ` Georg Bauhaus
2008-12-02  3:51                                     ` Randy Brukardt
2008-11-22 13:10                 ` Extending discriminant types Gautier
2008-11-24  8:24                 ` christoph.grein
2008-11-21  6:11         ` christoph.grein
2008-11-21 21:12           ` Jeffrey R. Carter
2008-11-22 16:41             ` sjw
2008-11-21 11:44         ` Martin
2008-11-20  9:55     ` Martin
replies disabled

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