From: Mehdi Saada <00120260a@gmail.com>
Subject: simple code can't compiled, without clear compiler warning (not clear enough to me at least)
Date: Wed, 29 Nov 2017 07:17:01 -0800 (PST)
Date: 2017-11-29T07:17:01-08:00 [thread overview]
Message-ID: <e4148718-aad2-4802-b7cf-ea76ceb04472@googlegroups.com> (raw)
I am learning and training through the Aix en Provence Ada courses.
I coded for the first time things more substantial than reading or writing strings. Neither the specification or the body can compile, and I can't see why.
generic
type Element_type is (<>);
type Indice_type is (<>);
type Tableau_type is array (Indice_type range <>) of Element_type;
package Tri_selection is
procedure tri (T: in out Tableau_type);
end Tri_selection;
$ gcc-6 -c tri_selection.ads
cannot generate code for file tri_selection.ads (package spec)
gnatmake: "tri_selection.ads" compilation error
I thought specifications could be compiled separately ?
the body can't compiled either.
package body Tri_selection is
temp : Element_type;
procedure tri (T: in out Tableau_type) is
procedure Swap (T: in out Tableau_type; A, B : in out Element_type) is
temp: Element_type;
begin
temp := T(A);
T(A) := T(B);
T(B) := T(A);
end Swap;
temp: Indice_type;
begin
for I in Tableau_type'Range loop
for J in I..Tableau_type'Last loop
if T(J) < T(Tableau_type'Last) then temp := J;
end if;
end loop;
Swap (T,temp,Tableau_type'Last);
end loop;
end tri;
end Tri_selection;
mehdi@debian:~/essai$ gnatmake tri_selection.adb
gcc-6 -c tri_selection.adb
tri_selection.adb:7:35: expected type "Indice_type" defined at tri_selection.ads:3
tri_selection.adb:7:35: found type "Element_type" defined at tri_selection.ads:2
tri_selection.adb:8:27: expected type "Indice_type" defined at tri_selection.ads:3
tri_selection.adb:8:27: found type "Element_type" defined at tri_selection.ads:2
tri_selection.adb:8:35: expected type "Indice_type" defined at tri_selection.ads:3
tri_selection.adb:8:35: found type "Element_type" defined at tri_selection.ads:2
tri_selection.adb:9:27: expected type "Indice_type" defined at tri_selection.ads:3
tri_selection.adb:9:27: found type "Element_type" defined at tri_selection.ads:2
tri_selection.adb:9:35: expected type "Indice_type" defined at tri_selection.ads:3
tri_selection.adb:9:35: found type "Element_type" defined at tri_selection.ads:2
tri_selection.adb:19:33: expected type "Element_type" defined at tri_selection.ads:2
tri_selection.adb:19:33: found type "Indice_type" defined at tri_selection.ads:3
gnatmake: "tri_selection.adb" compilation error
next reply other threads:[~2017-11-29 15:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-29 15:17 Mehdi Saada [this message]
2017-11-29 15:48 ` simple code can't compiled, without clear compiler warning (not clear enough to me at least) pascal.malaise
2017-11-29 16:11 ` A. Cervetti
2017-11-29 17:27 ` Mehdi Saada
2017-11-29 18:37 ` AdaMagica
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox