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
