comp.lang.ada
 help / color / mirror / Atom feed
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 

             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