-- { dg-do compile } with Ada.Text_IO; use Ada.Text_IO; procedure Modular6 is Max : Integer := 0; type Modulus is mod 3; begin Max := 30; for N in 1 .. Max loop Put_Line("N: " & Integer'Image(N) & " Modulus: " & Integer'Image(Modulus'Modulus) & " Mod:" & Modulus'Image(Modulus'Mod(N))); end loop; end;