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