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;