From: Eric Botcazou Date: Thu, 12 May 2022 15:44:59 +0000 (+0200) Subject: [Ada] Fix detection of deferred constants for freezing error X-Git-Tag: basepoints/gcc-14~6268 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b25912a4138026ccbb1efd7b680075a0953ac074;p=thirdparty%2Fgcc.git [Ada] Fix detection of deferred constants for freezing error Testing Is_Frozen is not robust enough, so instead test that the full view has been seen and that the Has_Completion flag is set on it. gcc/ada/ * freeze.adb (Check_Expression_Function.Find_Constant): Make test for deferred constants more robust. --- diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb index f4ebf300a19..b7310a4e8a8 100644 --- a/gcc/ada/freeze.adb +++ b/gcc/ada/freeze.adb @@ -1458,7 +1458,8 @@ package body Freeze is N_Object_Declaration and then not Is_Imported (Entity (Nod)) and then not Has_Completion (Entity (Nod)) - and then not Is_Frozen (Entity (Nod)) + and then not (Present (Full_View (Entity (Nod))) + and then Has_Completion (Full_View (Entity (Nod)))) then Error_Msg_NE ("premature use of& in call or instance", N, Entity (Nod));