comp.lang.ada
 help / color / mirror / Atom feed
From: anon@anon.org (anon)
Subject: Re: Extending discriminant types
Date: Mon, 24 Nov 2008 22:16:52 GMT
Date: 2008-11-24T22:16:52+00:00	[thread overview]
Message-ID: <oJFWk.153691$Mh5.10576@bgtnsc04-news.ops.worldnet.att.net> (raw)
In-Reply-To: 492a7d07$0$30236$9b4e6d93@newsspool1.arcor-online.net

Even if you delete the "tagged" word it reject that statement if you use 
"-gnat83", in either version in both GNAT-3.15p or GNAT GPL 2007. But as 
Adam and others have stated this is suppose to be legal in 83 only.  In 
checking with the Ada RM 83 and "DEC LRM 83. the Base was a concept only 
not a usable attribute, which is also stated in book "Ada Problem Solving and 
Program Design", 1990.  The "Base" attribute was introduce and added to the 
list of predefine attribute in the Ada 95 specs. 

That makes the paragraph that Adam listed from the AARM in Error.

gnat compile -gnat83 u.adb
 gcc -c -gnat83 u.adb
 u.ads:4:33: (Ada 83) Base attribute not allowed in subtype mark
 compilation abandoned due to previous error
 gnatmake: "u.adb" compilation error

package U is
  type T is private ; 

                     -- Replacing T with Integer will still result in an error 
                     -- for the 83 specs. Because Base is not an attribute 
                     -- in Ada 83.
  function "=" ( Left, Right : T'Base ) return Boolean ;

private
  type T is null record ;
end U ;


--
-- Dummy body package to comply with the specification package.
--
package body U is

  function "=" ( Left, Right : T'Base ) return Boolean is
    begin
      return False ;
    end ;
end U ;



In <492a7d07$0$30236$9b4e6d93@newsspool1.arcor-online.net>, Georg Bauhaus <rm.dash-bauhaus@futureapps.de> writes:
>anon schrieb:
>> Georg Bauhaus
>> 
>> Actually on the 20th you stated this:
>> 
>> quote:
>>   GNAT has -gnat83 as well, but rejects, too, because there are
>>   neither tagged nor abstract types in Ada 83.
>> unquote:
>
>As I stated in parts missing from your quote, the compiler
>rejects. But it rejects because of the presence of "tagged"
>and "abstract", as it should. Not becuase of 'Base.
>
>Again, this is easiest to see by actually trying the code
>with any of the mentioned editions of GNAT, and -gnat83.




  reply	other threads:[~2008-11-24 22:16 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
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 [this message]
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