[gcc r16-9256] Ada: Suppress access checks during analysis of expanded dispatching calls

Eric Botcazou via Gcc-cvs <[email protected]>
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
https://gcc.gnu.org/g:97c8d71fcd48946f2eed8c71e8379df1c07a82f8

commit r16-9256-g97c8d71fcd48946f2eed8c71e8379df1c07a82f8
Author: Eric Botcazou <[email protected]>
Date:   Fri Jul 10 08:37:12 2026 +0200

    Ada: Suppress access checks during analysis of expanded dispatching calls
    
    Expanded dispatching calls had been historically analyzed with all checks
    disabled, but this was recently changed, thus causing the generation of a
    lot of additional and useless access checks.
    
    gcc/ada/
            * exp_disp.adb (Expand_Dispatching_Call): Reenable the suppression
            of access checks during analysis of expanded dispatching calls.

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

diff --git a/gcc/ada/exp_disp.adb b/gcc/ada/exp_disp.adb
index 8e0bcce49f90..dbc83859261e 100644
--- a/gcc/ada/exp_disp.adb
+++ b/gcc/ada/exp_disp.adb
@@ -1203,7 +1203,9 @@ package body Exp_Disp is
          Set_SCIL_Node (SCIL_Related_Node, SCIL_Node);
       end if;
 
-      Analyze_And_Resolve (Call_Node, Call_Typ);
+      --  Suppress null access checks during the analysis of the expanded code
+
+      Analyze_And_Resolve (Call_Node, Call_Typ, Suppress => Access_Check);
 
       Set_Is_Expanded_Dispatching_Call (Call_Node);
    end Expand_Dispatching_Call;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.