From: Georg Bauhaus <rm.tsoh.plus-bug.bauhaus@maps.futureapps.de>
Subject: Re: Extending discriminant types
Date: Tue, 25 Nov 2008 23:09:34 +0100
Date: 2008-11-25T23:09:37+01:00 [thread overview]
Message-ID: <492c77a1$0$31347$9b4e6d93@newsspool4.arcor-online.net> (raw)
In-Reply-To: <71304b75-71bc-4691-b511-69882bdc0fc3@a12g2000pro.googlegroups.com>
Adam Beneschan wrote:
> On Nov 25, 12:49 pm, "Jeffrey R. Carter"
> <spam.jrcarter....@spam.acm.org> wrote:
>> Georg Bauhaus wrote:
>>
>>> generic
>>> type N is (<>);
>>> package U is
>>> type T (Len: Integer) is private ;
>>> type Count is new N range 0 .. N'Base'Last; -- 'BASE
>> It's interesting that this compiles, since N is not an integer type.
>> I suspect
>> you've uncovered a compiler error.
>
> It also compiles if you remove the 'Base attribute.
In fact, GNAT has let me instantiate this unit in Ada 2005 mode
after I had commented the object declaration mentioning T'Base:
WITH u;
PACKAGE uu IS NEW u(N => INTEGER);
But I'm lost here, is this really a bug? (I vaguely remember an
issue with using integer types for enum I/O, see below.)
Another compiler complains about N's range using inappropriate
operands. The Ada 83 RM explains generic formal (<>) type in terms
of their operations. And then, in 12.3 on Generic Instantiation,
"For each occurrence, within the generic unit, of a name that denotes a
given entity, the following list defines which entity is denoted by the
corresponding occurrence within the instance.
...
"4. For a name that denotes a generic formal type: The corresponding
name denotes the subtype named by the associated generic actual
parameter (the actual subtype). "
(Which, I believe, is INTEGER in the instantiation above.) The
following unit is accepted by two different compilers:
with Ada.Text_IO;
package I is new Ada.Text_IO.Enumeration_IO(Integer);
next prev parent reply other threads:[~2008-11-25 22:09 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
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 [this message]
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