1-- { dg-do run } 2 3with Ada.Text_IO; 4procedure Modular1 is 5 type T1 is mod 9; 6 package T1_IO is new Ada.Text_IO.Modular_IO(T1); 7 X: T1 := 8; 8 J1: constant := 5; 9begin for J2 in 5..5 loop 10 pragma Assert(X*(2**J1) = X*(2**J2)); 11 if X*(2**J1) /= X*(2**J2) then 12 raise Program_Error; 13 end if; 14 end loop; 15end Modular1; 16