From: Bob Duff Date: Mon, 16 Dec 2019 10:33:50 +0000 (+0000) Subject: [Ada] Bad warning: Size in Compile_Time_Error in nested instance X-Git-Tag: misc/cutover-git~437 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a1872632c20e4b93d5d3214505470966c0bebb4;p=thirdparty%2Fgcc.git [Ada] Bad warning: Size in Compile_Time_Error in nested instance 2019-12-16 Bob Duff gcc/ada/ * sem_attr.adb (Analyze_Attribute): Use Known_RM_Size. But we still need Size_Known_At_Compile_Time, because when the size really is known, sometimes only one or the other of these is True. From-SVN: r279421 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 95e195d89f0b..aa9704309904 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,10 @@ +2019-12-16 Bob Duff + + * sem_attr.adb (Analyze_Attribute): Use Known_RM_Size. But we + still need Size_Known_At_Compile_Time, because when the size + really is known, sometimes only one or the other of these is + True. + 2019-12-16 Eric Botcazou * sem_util.adb (Is_Atomic_Or_VFA_Object): Also return true for diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index e84229348f3c..dcc40d27c827 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -5841,13 +5841,16 @@ package body Sem_Attr is -- Time_Errors after the back end has been called and this occurrence -- of 'Size is known at compile time then it is safe to perform this -- evaluation. Needed to perform the static evaluation of the full - -- boolean expression of these pragmas. + -- boolean expression of these pragmas. Note that Known_RM_Size is + -- sometimes True when Size_Known_At_Compile_Time is False, when the + -- back end has computed it. if In_Compile_Time_Warning_Or_Error and then Is_Entity_Name (P) and then (Is_Type (Entity (P)) or else Ekind (Entity (P)) = E_Enumeration_Literal) - and then Size_Known_At_Compile_Time (Entity (P)) + and then (Known_RM_Size (Entity (P)) + or else Size_Known_At_Compile_Time (Entity (P))) then declare Siz : Uint;