8335 Commits

Author SHA1 Message Date
Pierre-Marie de Rodat
50efc7cf03 Merge branch 'mr/pmderodat/pragma-no-body-closure' into 'master'
instrument-projects.adb: fix handling of No_Body units as closure roots

See merge request eng/das/cov/gnatcoverage!1117

Units that contain only `pragma No_Body;` should be ignored when
computing an Ada source closure: LibGPR2 assigns them no name (so
gnatcov could crash with an assertion failure), and they cannot have
dependencies anyway.

For https://gitlab.adacore-it.com/eng/das/cov/gnatcoverage/-/issues/496
2026-02-12 09:38:19 +00:00
Pierre-Marie de Rodat
2286b389c7 instrument-projects.adb: fix handling of No_Body units as closure roots
Units that contain only `pragma No_Body;` should be ignored when
computing an Ada source closure: LibGPR2 assigns them no name (so
gnatcov could crash with an assertion failure), and they cannot have
dependencies anyway.
2026-02-12 09:07:26 +00:00
Pierre-Marie de Rodat
3c43e4980e Merge branch 'mr/pmderodat/524-ud' into 'master'
Qualif/C/stmt/Core/08_Statements/05_Iteration/03_For: fix undef behavior

Closes #524

See merge request eng/das/cov/gnatcoverage!1116

Closes https://gitlab.adacore-it.com/eng/das/cov/gnatcoverage/-/issues/524
2026-02-11 17:11:53 +00:00
Pierre-Marie de Rodat
12542a4ca4 Qualif/C/stmt/Core/08_Statements/05_Iteration/03_For: fix undef behavior 2026-02-11 16:27:19 +00:00
Pierre-Marie de Rodat
bbd674ae70 Merge branch 'mr/pmderodat/scos-annotations' into 'master'
sc_obligations.adb: make fingerprints insensitive to line number changes

Closes #455

See merge request eng/das/cov/gnatcoverage!1111

This allows passing to `gnatcov coverage` traces produced before the
addition of exemption annotations (or gnatcov-unrelated annotation) to
source code.

This commit also adapts `320-varying-scos` tests so that SCOS that are
supposed to be distinct get different column numbers, in order to
correctly exercise the "SCO fingerprint mismatch" behavior.

Closes https://gitlab.adacore-it.com/eng/das/cov/gnatcoverage/-/issues/455
2026-02-11 13:33:01 +00:00
Pierre-Marie de Rodat
b37901aedd sc_obligations.adb: make fingerprints insensitive to line number changes
This allows passing to `gnatcov coverage` traces produced before the
addition of exemption annotations (or gnatcov-unrelated annotation) to
source code.

This commit also adapts `320-varying-scos` tests so that SCOS that are
supposed to be distinct get different column numbers, in order to
correctly exercise the "SCO fingerprint mismatch" behavior.
2026-02-11 12:57:43 +00:00
Pierre-Marie de Rodat
b0f54878c0 Merge branch 'mr/pmderodat/relocate-build-tree' into 'master'
Make it possible to pass --relocate-build-tree without an explicit dir

Closes #521

See merge request eng/das/cov/gnatcoverage!1113

Closes https://gitlab.adacore-it.com/eng/das/cov/gnatcoverage/-/issues/521
2026-02-11 10:06:44 +00:00
Pierre-Marie de Rodat
7804f3fad4 Make it possible to pass --relocate-build-tree without an explicit dir 2026-02-06 13:33:55 +00:00
Pierre-Marie de Rodat
a610fd3de4 command_line.ads: harmonize option value patterns 2026-02-06 12:59:30 +00:00
Dorian Peron
cf768acb84 Merge branch 'next-ctors' into 'master'
instr-cpp: Implement instrumentation for most of C++ constructors

See merge request eng/das/cov/gnatcoverage!1110

Part of #382
2026-02-06 12:29:49 +00:00
Dorian Peron
c94b420243 doc: Update C++ funcall limitations 2026-02-06 12:47:56 +01:00
Dorian Peron
52f85570ad test(cpp-funcall): Add tests for ctors call instrumentation 2026-02-06 12:47:56 +01:00
Dorian Peron
bcf284c0c2 instr-c(funcall): Avoid instrumenting unsupported CallInit VarDecls with auto 2026-02-06 12:38:08 +01:00
Dorian Peron
15cfd65e2f instr-c(funcall): Instrument constructors 2026-02-05 11:51:01 +01:00
Pierre-Marie de Rodat
8f7d5516ce Merge branch 'mr/pmderodat/unstabilize' into 'master'
Port edge commits to master

See merge request eng/das/cov/gnatcoverage!1112

For https://gitlab.adacore-it.com/eng/das/cov/gnatcoverage/-/issues/520

Depends-On: https://gitlab.adacore-it.com/eng/shared/anod/-/merge_requests/7897
2026-02-03 15:37:24 +00:00
Pierre-Marie de Rodat
1ef4cc57e5 Ada 2022: add support for contracts in access-to-subp types
(cherry picked from commit 05fd8b3b1e)
2026-02-02 21:20:17 +00:00
Pierre-Marie de Rodat
397e01fad5 Check support for expression defaults for generic formal functions
(cherry picked from commit 080266a0ae)
2026-02-02 21:07:16 +00:00
Pierre-Marie de Rodat
b02afa6c0f Check support for deep delta aggregates
(cherry picked from commit 652de8613c)
2026-02-02 21:07:16 +00:00
Léo Creuse
34e630e4ca XFAIL misbehaving tests pending GCC adaptations
Following the update to GCC 15 on aarch64-elf, some tests started
misbehaving with -O1. XFAIL the tests while investigations and fixes
are made on the GCC side.

(cherry picked from commit 746e5d02b4)
2026-02-02 21:07:16 +00:00
Pierre-Marie de Rodat
fd733c0d06 Ada 2022: add support for contracts in generic formal subprograms
(cherry picked from commit e70d901e62)
2026-02-02 21:07:16 +00:00
Pierre-Marie de Rodat
ad81422640 Update test baselines after recent GPR2 error messages improvements
(cherry picked from commit 50558f71a3)
2026-02-02 21:07:16 +00:00
Pierre-Marie de Rodat
880d059086 CI: make testing resilient to missing gnatcov builds
(cherry picked from commit 0c6fe5a582)
2026-02-02 21:07:16 +00:00
Pierre-Marie de Rodat
2856081fab instrument-ada_unit.adb: update after a breaking LAL API change
(cherry picked from commit bac3ad4b79)
2026-02-02 21:07:16 +00:00
Pierre-Marie de Rodat
6766c145a8 Merge branch 'mr/pmderodat/windows' into 'master'
716-static-decision-merging-in-ckpt: shorten name for Windows

See merge request eng/das/cov/gnatcoverage!1108

Some testsuite runs on Windows are done in a directory whose name is
long enough for this group of tests to hit the 256 bytes limit for
filenames on Windows. Shorten this directory name to avoid this problem
in practice.

For https://gitlab.adacore-it.com/eng/gpr/gpr-issues/-/issues/646
2026-02-02 08:16:22 +00:00
Pierre-Marie de Rodat
51a9459d75 716-static-decision-merging-in-ckpt: shorten name for Windows
Some testsuite runs on Windows are done in a directory whose name is
long enough for this group of tests to hit the 256 bytes limit for
filenames on Windows. Shorten this directory name to avoid this problem
in practice.
2026-02-02 08:13:44 +00:00