From: Ronan Desplanques <[email protected]>
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.
Tested on x86_64-pc-linux-gnu, committed on master.
---
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 df648465812..9d9f3b55057 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;
--
2.43.0