Index: sem_ch3.adb =================================================================== --- sem_ch3.adb (revision 160843) +++ sem_ch3.adb (working copy) @@ -11071,6 +11071,7 @@ package body Sem_Ch3 is else Set_Ekind (Def_Id, E_Enumeration_Subtype); Set_Is_Character_Type (Def_Id, Is_Character_Type (T)); + Set_First_Literal (Def_Id, First_Literal (T)); end if; Set_Size_Info (Def_Id, (T)); Index: layout.adb =================================================================== --- layout.adb (revision 160834) +++ layout.adb (working copy) @@ -2560,10 +2560,10 @@ package body Layout is begin -- For some reasons, access types can cause trouble, So let's - -- just do this for discrete types ??? + -- just do this for scalar types ??? if Present (CT) - and then Is_Discrete_Type (CT) + and then Is_Scalar_Type (CT) and then Known_Static_Esize (CT) then declare