comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Dewar <robert_dewar@my-dejanews.com>
Subject: Re: Warning in generic instantiation
Date: 1999/05/10
Date: 1999-05-10T00:00:00+00:00	[thread overview]
Message-ID: <7h5mhj$ce1$1@nnrp1.deja.com> (raw)
In-Reply-To: 3734BB9E.F51ED23B@xtra.co.nz

In article <3734BB9E.F51ED23B@xtra.co.nz>,
  AG <ang@xtra.co.nz> wrote:
> Could somebody comment on the following warning
> I get from ObjectAda compiler (7.1.105) when trying
> that:
>
> generic
>  size: positive;
>  type item is (<>);
> procedure matcher;
>
> procedure matcher is
>  type set is array(0..size-1) of item;
>  type unit is record
>     what: set;    --  *** 1
>     end record;
> begin
>  null;
> end;
>
> with matcher;
> procedure start is
>  type unit is (a, b, c);
>  size: positive;
> begin
>     declare
>   procedure match is new matcher(size, unit); -- *** 2
>     begin
>   null;
>     end;
> end;
>
> The warning I get at line ***2 is:
>
> LRM:13.3(16),Object does not have a meaningful address,
> returning a null address
>
> My questions about that:
>
> 1. I don't quite see how 13.3(16) is applicable since I don't
> directly use anything mentioned there. Is there something
> implicit involved?
>
> 2. If line ***1 is replaced with NULL, the warning goes
> away. So is the warning due to finalising "set" or due to
> declaring "unit"?
>
> 3. Generally, what's wrong with the above usage? After
> all, those types are declared locally or does it matter?
>
> 4. Also, it was only a warning so the program compiles
> and links and runs with no run-time errors even if I declare
> and use objects of "unit" type. So, what was the warning
> all about?
>
> Thanks,
> AG
>

This program is of course incorrect. The warning from GNAT
immediately identifies the problem:

start.adb:5:17: warning: "size" is never assigned a value

Whether the OO warning is related to this error is not clear.
Most certainly the RM reference is not helpful, since the
warning message is not quite right.



--== Sent via Deja.com http://www.deja.com/ ==--
---Share what you know. Learn what you don't.---




      parent reply	other threads:[~1999-05-10  0:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-05-09  0:00 Warning in generic instantiation AG
1999-05-10  0:00 ` Tucker Taft
1999-05-10  0:00 ` AG
1999-05-10  0:00 ` Robert Dewar [this message]
replies disabled

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