blob: 6554ad49fd3d08cf3db9e1a717c3f517cae098da [file] [log] [blame]
-- { dg-do compile }
with Ada.Integer_Text_IO;
with Ada.Text_IO;
procedure Enum_Rep2 is
type T is
(E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E8A, E8B, E8C, E8D, E8E, E8F,
E90, E91, E92, E93, E94, E95, E96, E97, E98, E99, E9A, E9B, E9C, E9D, E9E, E9F,
EA0, EA1, EA2, EA3, EA4, EA5, EA6, EA7, EA8, EA9, EAA, EAB, EAC, EAD, EAE, EAF,
EB0, EB1, EB2, EB3, EB4, EB5, EB6, EB7, EB8, EB9, EBA, EBB, EBC, EBD, EBE, EBF,
EC0, EC1, EC2, EC3, EC4, EC5, EC6, EC7, EC8, EC9, ECA, ECB, ECC, ECD, ECE, ECF,
ED0, ED1, ED2, ED3, ED4, ED5, ED6, ED7, ED8, ED9, EDA, EDB, EDC, EDD, EDE, EDF,
EE0, EE1, EE2, EE3, EE4, EE5, EE6, EE7, EE8, EE9, EEA, EEB, EEC, EED, EEE, EEF,
EF0, EF1, EF2, EF3, EF4, EF5, EF6, EF7, EF8, EF9, EFA, EFB, EFC, EFD, EFE, EFF,
E00, E01, E02, E03, E04, E05, E06, E07, E08, E09, E0A, E0B, E0C, E0D, E0E, E0F,
E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E1A, E1B, E1C, E1D, E1E, E1F,
E20, E21, E22, E23, E24, E25, E26, E27, E28, E29, E2A, E2B, E2C, E2D, E2E, E2F,
E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E3A, E3B, E3C, E3D, E3E, E3F,
E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E4A, E4B, E4C, E4D, E4E, E4F,
E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E5A, E5B, E5C, E5D, E5E, E5F,
E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E6A, E6B, E6C, E6D, E6E, E6F,
E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E7A, E7B, E7C, E7D, E7E, E7F);
for T use
(E80 => -16#80#, E81 => -16#7F#, E82 => -16#7E#, E83 => -16#7D#,
E84 => -16#7C#, E85 => -16#7B#, E86 => -16#7A#, E87 => -16#79#,
E88 => -16#78#, E89 => -16#77#, E8A => -16#76#, E8B => -16#75#,
E8C => -16#74#, E8D => -16#73#, E8E => -16#72#, E8F => -16#71#,
E90 => -16#70#, E91 => -16#6F#, E92 => -16#6E#, E93 => -16#6D#,
E94 => -16#6C#, E95 => -16#6B#, E96 => -16#6A#, E97 => -16#69#,
E98 => -16#68#, E99 => -16#67#, E9A => -16#66#, E9B => -16#65#,
E9C => -16#64#, E9D => -16#63#, E9E => -16#62#, E9F => -16#61#,
EA0 => -16#60#, EA1 => -16#5F#, EA2 => -16#5E#, EA3 => -16#5D#,
EA4 => -16#5C#, EA5 => -16#5B#, EA6 => -16#5A#, EA7 => -16#59#,
EA8 => -16#58#, EA9 => -16#57#, EAA => -16#56#, EAB => -16#55#,
EAC => -16#54#, EAD => -16#53#, EAE => -16#52#, EAF => -16#51#,
EB0 => -16#50#, EB1 => -16#4F#, EB2 => -16#4E#, EB3 => -16#4D#,
EB4 => -16#4C#, EB5 => -16#4B#, EB6 => -16#4A#, EB7 => -16#49#,
EB8 => -16#48#, EB9 => -16#47#, EBA => -16#46#, EBB => -16#45#,
EBC => -16#44#, EBD => -16#43#, EBE => -16#42#, EBF => -16#41#,
EC0 => -16#40#, EC1 => -16#3F#, EC2 => -16#3E#, EC3 => -16#3D#,
EC4 => -16#3C#, EC5 => -16#3B#, EC6 => -16#3A#, EC7 => -16#39#,
EC8 => -16#38#, EC9 => -16#37#, ECA => -16#36#, ECB => -16#35#,
ECC => -16#34#, ECD => -16#33#, ECE => -16#32#, ECF => -16#31#,
ED0 => -16#30#, ED1 => -16#2F#, ED2 => -16#2E#, ED3 => -16#2D#,
ED4 => -16#2C#, ED5 => -16#2B#, ED6 => -16#2A#, ED7 => -16#29#,
ED8 => -16#28#, ED9 => -16#27#, EDA => -16#26#, EDB => -16#25#,
EDC => -16#24#, EDD => -16#23#, EDE => -16#22#, EDF => -16#21#,
EE0 => -16#20#, EE1 => -16#1F#, EE2 => -16#1E#, EE3 => -16#1D#,
EE4 => -16#1C#, EE5 => -16#1B#, EE6 => -16#1A#, EE7 => -16#19#,
EE8 => -16#18#, EE9 => -16#17#, EEA => -16#16#, EEB => -16#15#,
EEC => -16#14#, EED => -16#13#, EEE => -16#12#, EEF => -16#11#,
EF0 => -16#10#, EF1 => -16#0F#, EF2 => -16#0E#, EF3 => -16#0D#,
EF4 => -16#0C#, EF5 => -16#0B#, EF6 => -16#0A#, EF7 => -16#09#,
EF8 => -16#08#, EF9 => -16#07#, EFA => -16#06#, EFB => -16#05#,
EFC => -16#04#, EFD => -16#03#, EFE => -16#02#, EFF => -16#01#,
E00 => 16#00#, E01 => 16#01#, E02 => 16#02#, E03 => 16#03#,
E04 => 16#04#, E05 => 16#05#, E06 => 16#06#, E07 => 16#07#,
E08 => 16#08#, E09 => 16#09#, E0A => 16#0A#, E0B => 16#0B#,
E0C => 16#0C#, E0D => 16#0D#, E0E => 16#0E#, E0F => 16#0F#,
E10 => 16#10#, E11 => 16#11#, E12 => 16#12#, E13 => 16#13#,
E14 => 16#14#, E15 => 16#15#, E16 => 16#16#, E17 => 16#17#,
E18 => 16#18#, E19 => 16#19#, E1A => 16#1A#, E1B => 16#1B#,
E1C => 16#1C#, E1D => 16#1D#, E1E => 16#1E#, E1F => 16#1F#,
E20 => 16#20#, E21 => 16#21#, E22 => 16#22#, E23 => 16#23#,
E24 => 16#24#, E25 => 16#25#, E26 => 16#26#, E27 => 16#27#,
E28 => 16#28#, E29 => 16#29#, E2A => 16#2A#, E2B => 16#2B#,
E2C => 16#2C#, E2D => 16#2D#, E2E => 16#2E#, E2F => 16#2F#,
E30 => 16#30#, E31 => 16#31#, E32 => 16#32#, E33 => 16#33#,
E34 => 16#34#, E35 => 16#35#, E36 => 16#36#, E37 => 16#37#,
E38 => 16#38#, E39 => 16#39#, E3A => 16#3A#, E3B => 16#3B#,
E3C => 16#3C#, E3D => 16#3D#, E3E => 16#3E#, E3F => 16#3F#,
E40 => 16#40#, E41 => 16#41#, E42 => 16#42#, E43 => 16#43#,
E44 => 16#44#, E45 => 16#45#, E46 => 16#46#, E47 => 16#47#,
E48 => 16#48#, E49 => 16#49#, E4A => 16#4A#, E4B => 16#4B#,
E4C => 16#4C#, E4D => 16#4D#, E4E => 16#4E#, E4F => 16#4F#,
E50 => 16#50#, E51 => 16#51#, E52 => 16#52#, E53 => 16#53#,
E54 => 16#54#, E55 => 16#55#, E56 => 16#56#, E57 => 16#57#,
E58 => 16#58#, E59 => 16#59#, E5A => 16#5A#, E5B => 16#5B#,
E5C => 16#5C#, E5D => 16#5D#, E5E => 16#5E#, E5F => 16#5F#,
E60 => 16#60#, E61 => 16#61#, E62 => 16#62#, E63 => 16#63#,
E64 => 16#64#, E65 => 16#65#, E66 => 16#66#, E67 => 16#67#,
E68 => 16#68#, E69 => 16#69#, E6A => 16#6A#, E6B => 16#6B#,
E6C => 16#6C#, E6D => 16#6D#, E6E => 16#6E#, E6F => 16#6F#,
E70 => 16#70#, E71 => 16#71#, E72 => 16#72#, E73 => 16#73#,
E74 => 16#74#, E75 => 16#75#, E76 => 16#76#, E77 => 16#77#,
E78 => 16#78#, E79 => 16#79#, E7A => 16#7A#, E7B => 16#7B#,
E7C => 16#7C#, E7D => 16#7D#, E7E => 16#7E#, E7F => 16#7F#);
for T'Size use 8;
procedure Print (X : T) is
begin
Ada.Integer_Text_IO.Put (T'Pos (X));
Ada.Integer_Text_IO.Put (T'Enum_Rep (X));
Ada.Text_IO.New_Line;
end;
begin
Print (T'First);
Print (T'Last);
end;