https://gcc.gnu.org/g:cdd221cefe4ca3a75b141b93113e818f5e22ac9f

commit r15-6191-gcdd221cefe4ca3a75b141b93113e818f5e22ac9f
Author: Ronan Desplanques <desplanq...@adacore.com>
Date:   Tue Nov 26 13:45:32 2024 +0100

    ada: Exclude library units from gnatcov instrumentation
    
    Before this patch, we instrumented code that's only used during the
    build process to generate more code. This patch marks the
    code-generating code so it's not instrumented for coverage.
    
    gcc/ada/ChangeLog:
    
            * gnat2.gpr: Add library units to coverage exclusion list.

Diff:
---
 gcc/ada/gnat2.gpr | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/gcc/ada/gnat2.gpr b/gcc/ada/gnat2.gpr
index df6484658124..9d9f3b550575 100644
--- a/gcc/ada/gnat2.gpr
+++ b/gcc/ada/gnat2.gpr
@@ -49,6 +49,23 @@ project Gnat2 is
       --  of fresh source files from the run-time library. We need gnatcov to 
not instrument
       --  those files, so we add the clause below. It's unknown why only 
putting "GNAT" is sufficient???
       --  We also pull in GNAT.Lists for example, but specifying it here 
triggers a warning.
-      for Excluded_Units use ("Gnat");
+      Overridden_Runtime_Units := ("GNAT");
+
+      --  We don't want to instrument code generation tools
+      Codegen_Units :=
+        ("Gen_IL",
+         "Gen_IL.Gen",
+         "Gen_IL.Fields",
+         "Gen_IL.Gen.Gen_Entities",
+         "Gen_IL.Gen.Gen_Nodes",
+         "Gen_IL.Internals",
+         "Gen_IL.Main",
+         "Gen_IL.Types",
+         "XSnamesT",
+         "XUtil",
+         "XOSCons",
+         "XLeaps");
+
+      for Excluded_Units use Overridden_Runtime_Units & Codegen_Units;
    end Coverage;
 end Gnat2;

Reply via email to