From: Denis Mazzucato Date: Wed, 13 Aug 2025 15:14:35 +0000 (+0200) Subject: ada: Fix compile time evaluation needed for static unfoldings X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=405aeb22ded78eec4a2a81add081291e7cab6b4c;p=thirdparty%2Fgcc.git ada: Fix compile time evaluation needed for static unfoldings Unfolding of static expressions is needed when evaluating static bounds, even in the presence of strict analysis. Otherwise, we may wrongly identify static predicates as dynamic ones, and thus require unnecessary "others" default case. gcc/ada/ChangeLog: * sem_attr.adb (Eval_Attribute): Remove strict analysis condition. --- diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 3a494ad940f..2a92ffbce4f 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -8195,13 +8195,6 @@ package body Sem_Attr is if Nkind (N) /= N_Attribute_Reference then return; - - -- No evaluation required under strict preanalysis because locating - -- static expressions is not needed; this also minimizes making tree - -- modifications during strict preanalysis. - - elsif In_Strict_Preanalysis then - return; end if; Aname := Attribute_Name (N);