This patch fixes a bug in which Enum_Subtype'Image, where Enum_Subtype
is a non-first subtype of an enumeration type, would return the image of
the 'Pos -- that is, an integer instead of the text of the enumeration
literal.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* exp_imgv.adb (Expand_Image_Attribute): Add Root_Type, so
constrained subtypes work.
diff --git a/gcc/ada/exp_imgv.adb b/gcc/ada/exp_imgv.adb
--- a/gcc/ada/exp_imgv.adb
+++ b/gcc/ada/exp_imgv.adb
@@ -483,7 +483,7 @@ package body Exp_Imgv is
-- underlying type.
if Ada_Version >= Ada_2020 then
- Rtyp := Underlying_Type (Ptyp);
+ Rtyp := Underlying_Type (Root_Type (Ptyp));
else
Rtyp := Root_Type (Ptyp);
end if;