[gcc r12-3701] [Ada] Fix repeated generation of dispatch tables in CodePeer mode

Pierre-Marie de Rodat pmderodat@gcc.gnu.org
Mon Sep 20 13:04:53 GMT 2021


https://gcc.gnu.org/g:7a8e133af28f8039740d09c650f0eca0a03113f6

commit r12-3701-g7a8e133af28f8039740d09c650f0eca0a03113f6
Author: Piotr Trojanek <trojanek@adacore.com>
Date:   Fri Jun 25 12:45:57 2021 +0200

    [Ada] Fix repeated generation of dispatch tables in CodePeer mode
    
    gcc/ada/
    
            * exp_disp.adb (Make_DT): Move call to Set_Has_Dispatch_Table,
            so it is executed regardless of the Generate_SCIL mode.

Diff:
---
 gcc/ada/exp_disp.adb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/ada/exp_disp.adb b/gcc/ada/exp_disp.adb
index 4db883cd296..647068f3820 100644
--- a/gcc/ada/exp_disp.adb
+++ b/gcc/ada/exp_disp.adb
@@ -6610,7 +6610,6 @@ package body Exp_Disp is
       Append_Elmt (DT, DT_Decl);
 
       Analyze_List (Result, Suppress => All_Checks);
-      Set_Has_Dispatch_Table (Typ);
 
       --  Mark entities containing dispatch tables. Required by the backend to
       --  handle them properly.
@@ -6643,6 +6642,8 @@ package body Exp_Disp is
 
    <<Leave_SCIL>>
 
+      Set_Has_Dispatch_Table (Typ);
+
       --  Register the tagged type in the call graph nodes table
 
       Register_CG_Node (Typ);


More information about the Gcc-cvs mailing list