+2019-12-16 Bob Duff <duff@adacore.com>
+
+ * 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 <ebotcazou@adacore.com>
* sem_util.adb (Is_Atomic_Or_VFA_Object): Also return true for
-- 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;