From: pmderodat Date: Thu, 10 Oct 2019 15:24:38 +0000 (+0000) Subject: [Ada] Fix awkward placement of freeze node for actual subtype X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=893978514a675f1ca4ab1764874433d3c5b87cbe;p=thirdparty%2Fgcc.git [Ada] Fix awkward placement of freeze node for actual subtype 2019-10-10 Eric Botcazou gcc/ada/ * sem_ch6.adb (Set_Actual_Subtypes): Put the freeze node of the actual subtype after its declaration when the type of the formal has a predicate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276828 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 3d58a8d2ae60..449c0ab8d969 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,12 +1,5 @@ 2019-10-10 Eric Botcazou - * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Do not use - the Esize of the component to compute its layout, but only the - Component_Clause. Do not issue a warning for the _Tag - component. Also set the Esize of the component at the end of - the layout. - (Analyze_Record_Representation_Clause): Remove Hbit local - variable. Lay out the Original_Record_Component only if it's - distinct from the component. - (Check_Record_Representation_Clause): Fix off-by-one bug for the - Last_Bit of the artificial clause built for the _Tag component. \ No newline at end of file + * sem_ch6.adb (Set_Actual_Subtypes): Put the freeze node of the + actual subtype after its declaration when the type of the formal + has a predicate. \ No newline at end of file diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index eb6768d3ae2c..b96a5fda8f8c 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -12038,7 +12038,7 @@ package body Sem_Ch6 is -- predicate may come from an explicit aspect of be inherited. elsif Has_Predicates (T) then - Insert_List_Before_And_Analyze (Decl, + Insert_List_After_And_Analyze (Decl, Freeze_Entity (Defining_Identifier (Decl), N)); end if;