From: Robert Dewar Date: Mon, 4 Aug 2008 12:34:16 +0000 (+0200) Subject: sem_ch13.ads: Minor comment update X-Git-Tag: releases/gcc-4.4.0~3414 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0ac393230b56069de1b28b7fea89ac0dfc708e2;p=thirdparty%2Fgcc.git sem_ch13.ads: Minor comment update 2008-08-04 Robert Dewar * sem_ch13.ads: Minor comment update * sem_res.adb: (Large_Storage_Type): Improve previous change. From-SVN: r138612 --- diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index 6c632fdb5f73..d59c30bc0f9d 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -446,16 +446,18 @@ package body Sem_Res is return; end if; - -- Detect a common beginner error: + -- Detect a common error: -- type R (D : Positive := 100) is record -- Name : String (1 .. D); -- end record; - -- The default value causes an object of type R to be - -- allocated with room for Positive'Last characters. + -- The default value causes an object of type R to be allocated + -- with room for Positive'Last characters. The RM does not mandate + -- the allocation of the maximum size, but that is what GNAT does + -- so we should warn the programmer that there is a problem. - declare + Check_Large : declare SI : Node_Id; T : Entity_Id; TB : Node_Id; @@ -480,9 +482,11 @@ package body Sem_Res is and then Compile_Time_Known_Value (Type_High_Bound (T)) and then Minimum_Size (T, Biased => True) >= - Esize (Standard_Integer) - 1; + RM_Size (Standard_Positive); end Large_Storage_Type; + -- Start of processing for Check_Large + begin -- Check that the Disc has a large range @@ -553,7 +557,7 @@ package body Sem_Res is <> null; - end; + end Check_Large; end if; -- Legal case is in index or discriminant constraint