comp.lang.ada
 help / color / mirror / Atom feed
* simple code can't compiled, without clear compiler warning (not clear enough to me at least)
@ 2017-11-29 15:17 Mehdi Saada
  2017-11-29 15:48 ` pascal.malaise
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Mehdi Saada @ 2017-11-29 15:17 UTC (permalink / 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 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-11-29 18:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-29 15:17 simple code can't compiled, without clear compiler warning (not clear enough to me at least) Mehdi Saada
2017-11-29 15:48 ` pascal.malaise
2017-11-29 16:11 ` A. Cervetti
2017-11-29 17:27 ` Mehdi Saada
2017-11-29 18:37   ` AdaMagica

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