diff options
author | Olivier Hainque <hainque@adacore.com> | 2019-07-08 08:13:34 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2019-07-08 08:13:34 +0000 |
commit | 19d9ce464afc12f95951de2a3be3398e1d2f292d (patch) | |
tree | cfaf246522d4a6ae982462e79ff8c8cbec803011 /gcc/function.c | |
parent | abbc45464b1be9895a4842903a5c75b6dd085b9a (diff) | |
download | gcc-19d9ce464afc12f95951de2a3be3398e1d2f292d.zip gcc-19d9ce464afc12f95951de2a3be3398e1d2f292d.tar.gz gcc-19d9ce464afc12f95951de2a3be3398e1d2f292d.tar.bz2 |
[Ada] Arrange not to set DECL_ARTIFICIAL on elab procs
Unlike, say, clones created internally by the compiler, elab procs
materialize specific user code and flagging them artificial now takes
elab code away from gcov's analysis, a regression compared to previous
releases.
On the testcase below:
package Gcov_Q is
function F (X : Integer) return Integer is (X + 1);
end;
with Gcov_Q;
package Gcov_P is
Y : Integer := Gcov_Q.F (X => 1);
end;
with Gcov_P;
procedure Gcov_Test is
begin
if Gcov_P.Y /= 2 then
raise Program_Error;
end if;
end;
After compiling with:
gnatmake -f -g gcov_test.adb \
-cargs -ftest-coverage -fprofile-arcs \
-largs -fprofile-generate
and executing with
./gcov_test
We expect
gcov gcov_p
to produce a gcov_p.ads.gcov report.
2019-07-08 Olivier Hainque <hainque@adacore.com>
gcc/ada/
* gcc-interface/trans.c (Compilation_Unit_to_gnu): Don't request
DECL_ARTIFICIAL_P on elab proc declarations.
From-SVN: r273207
Diffstat (limited to 'gcc/function.c')
0 files changed, 0 insertions, 0 deletions