From: "bklungle" <bklungle@ix.netcom.com>
Subject: Re: GNAT Limitations?
Date: 1998/01/25
Date: 1998-01-25T00:44:17-08:00 [thread overview]
Message-ID: <01bd296e$fad757c0$0e2915c0@p5120> (raw)
In-Reply-To: 6aesm3$sr6$1@Masala.CC.UH.EDU
1. Read the manual
2. Remove Ada.
3. Put the (n) where it belongs
enclosed
with Unchecked_Deallocation;
procedure Huh is
type x is
record
a : integer := 0;
b : integer := 0;
c : integer := 0;
end record;
type x_ptr is access x;
procedure dispose is new Unchecked_Deallocation(x, x_ptr);
an_x : x := (a => 1, b => 2, c => 3);
type m is array(1..2, 1..3) of integer;
an_m : m := (others => (others => 0));
begin
for i in an_m'range(1) loop
for j in an_m'range(2) loop
an_m(i,j) := i;
end loop;
end loop;
end Huh;
-- and then compile
linux:~/atest> touch *.adb
linux:~/atest> ada huh.adb
gcc -c -g huh.adb
gnatbind -x huh.ali
gnatlink -g huh.ali
linux:~/atest>
wanker@exploited.barmy.army wrote in article
<6aesm3$sr6$1@Masala.CC.UH.EDU>...
> Hi all,
>
> On GNAT 3.09 (Win95) I find two problems that I can't find mentioned
> anywhere in the documentation:
> 1) GNAT refuses to let me initialize a record with named
> fields if I don't initialize every field. For
> example:
>
> type X is
> record
> A : Integer := 1;
> B : Integer := 2;
> C : Integer := 3;
> end record;
>
> A_Rec : X := (A => 5, C => 6);
>
> Gives me an error with something like "No value
> provided for B". However, according to the
> "C/C++ to Ada" Guide I am supposed to be able
> to do this. What gives?
>
> 2) When I try to instantiate Ada.Unchecked_Deallocation,
> GNAT claims that Unchecked_Deallocation is not
> in Ada, which contradicts what's in the Language
> Referenec Manual and the "C/C++ to Ada Guide".
> Again, what gives?
>
> 3) GNAT refuses to compile code where I try to find the
> range of a particular dimension of a multi-dimensional
> array. I'm using the example in the C/C++ to
> Ada Guide:
>
> -- Assuming Matrix is a 2d array type
>
> for I in Matrix(1)'Range loop
> for J in Matrix(2)'Range loop
> Some_Op (Matrix (I, J));
> end loop;
> end loop;
>
> The compiler complains about using an attribute
> and indexing Matrix at the same time.
>
> Has anyone else been having any of the above problems? If so,
> is there some kind of workaround?
>
>
>
next prev parent reply other threads:[~1998-01-25 0:00 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-01-25 0:00 GNAT Limitations? wanker
1998-01-25 0:00 ` bklungle [this message]
1998-01-25 0:00 ` wanker
1998-01-26 0:00 ` Stephen Leake
1998-01-26 0:00 ` Nick Roberts
[not found] ` <EnECID.GyI@world.std.com>
[not found] ` <EnIJ7B.8CB@world.std.com>
1998-01-29 0:00 ` Nick Roberts
1998-01-29 0:00 ` bklungle
1998-01-25 0:00 ` Keith Thompson
1998-01-25 0:00 ` wanker
1998-01-26 0:00 ` Nick Roberts
1998-02-18 0:00 ` Ed Colbert
[not found] <6aesm3$sr6$1@masala.cc.uh.edu>
1998-01-25 0:00 ` wanker
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox