From dfdd3de1238531889e65fc4c5498a3a5f28ff570 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Thu, 10 Oct 2019 15:24:38 +0000 Subject: [PATCH] [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. From-SVN: r276828 --- gcc/ada/ChangeLog | 13 +++---------- gcc/ada/sem_ch6.adb | 2 +- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 3d58a8d2ae6..449c0ab8d96 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 eb6768d3ae2..b96a5fda8f8 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; -- 2.30.2