comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R. Carter" <spam.not.jrcarter@acm.not.spam.org>
Subject: Re: Discriminant within discriminants
Date: Thu, 04 May 2006 00:57:02 GMT
Date: 2006-05-04T00:57:02+00:00	[thread overview]
Message-ID: <yjc6g.956621$xm3.563684@attbi_s21> (raw)
In-Reply-To: <1146701649.008997.217460@i40g2000cwc.googlegroups.com>

stuart clark wrote:
> I tried exactly as you have both suggested but i get a gnat compile
> error of
> 
> "Acknowledgements does not match any discriminant"

Interesting. After correcting some obvious errors, I get

message_test.adb:7:26: anonymous arrays not allowed as components

Correcting that, I get

message_test.adb:25:04: warning: variable "Msg" is not referenced

The code is

procedure Message_Test is
    package Message_Types is
       type Id_Type is range 1 .. 8;

       type Acks is new Boolean;

       type Ack_List is array (Id_Type range <>) of Acks;

       type Dispense_Ack (Size : Id_Type := Id_Type'First) is record
          Dispense_Acks : Ack_List (1 .. Size);
       end record;

       type Message_Types is
          (Dispense_Acknowledgement, Dispense_Request);

       type In_Messages (Kind : Message_Types := Message_Types'First) is
       record
          case Kind is
          when Dispense_Acknowledgement =>
             Acknowledgements : Dispense_Ack;
          when Dispense_Request =>
                Request : Integer;
          end case;
       end record;
    end Message_Types;

    Msg : Message_Types.In_Messages :=
       (Kind => Message_Types.Dispense_Acknowledgement,
       Acknowledgements =>
       (Size => 8,
        Dispense_Acks => (1 .. 8 => Message_Types.Acks'First) ) );
begin -- Message_Test
    null;
end Message_Test;

This is with MinGW GNAT 3.4.2.

-- 
Jeff Carter
"I would never want to belong to any club that
would have someone like me for a member."
Annie Hall
41



  reply	other threads:[~2006-05-04  0:57 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-03  1:49 Discriminant within discriminants stuart clark
2006-05-03 16:45 ` Jeffrey R. Carter
2006-05-03 21:05   ` Randy Brukardt
2006-05-04  0:14     ` stuart clark
2006-05-04  0:57       ` Jeffrey R. Carter [this message]
     [not found]         ` <4a9k52ha4ohqkcd01ghn6c7785d6pvf91e@4ax.com>
2006-05-04 17:57           ` Jeffrey R. Carter
2006-05-04  0:45     ` Jeffrey R. Carter
2006-05-05  9:03 ` Stephen Leake
replies disabled

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