[Bug gcov-profile/86109] New: [GCOV] gcov reports lines in lambdas as not executable
jasminekahuja at yahoo dot com
gcc-bugzilla@gcc.gnu.org
Mon Jun 11 17:28:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86109
Bug ID: 86109
Summary: [GCOV] gcov reports lines in lambdas as not executable
Product: gcc
Version: 8.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: gcov-profile
Assignee: unassigned at gcc dot gnu.org
Reporter: jasminekahuja at yahoo dot com
CC: marxin at gcc dot gnu.org
Target Milestone: ---
gcov doesn't report lines in lambdas as executable, so it won't properly report
coverage for lambdas.
$ /xyz/toolchain13/bin/g++ -v
Using built-in specs.
COLLECT_GCC=/xyz/toolchain13/bin/g++
COLLECT_LTO_WRAPPER=/xyz/toolchain13/libexec/gcc/x86_64-pc-linux-gnu/8.1.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc_8_1_0/configure --prefix=/xyz/toolchain13
--enable-languages=c,c++ --enable-lto --disable-plugin --program-suffix=-8.1.0
--disable-multilib --disable-shared
Thread model: posix
gcc version 8.1.0 (GCC)
$ /xyz/toolchain13/bin/gcov -v
gcov (GCC) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
$ cat hello.cpp
int main()
{
auto partially_uncovered_lambda = [](int i) {
if (i > 10)
return 0;
return 1;
};
partially_uncovered_lambda(20);
}
$ /xyz/toolchain13/bin/g++ -w -fprofile-arcs -ftest-coverage -std=c++17
hello.cpp; ./a.out; /xyz/toolchain13/bin/gcov hello.cpp; cat hello.cpp.gcov
File 'hello.cpp'
Lines executed:100.00% of 3
Creating 'hello.cpp.gcov'
-: 0:Source:hello.cpp
-: 0:Graph:hello.gcno
-: 0:Data:hello.gcda
-: 0:Runs:1
-: 0:Programs:1
1: 1:int main()
-: 2:{
-: 3: auto partially_uncovered_lambda = [](int i) {
-: 4: if (i > 10)
-: 5: return 0;
-: 6: return 1;
-: 7: };
1: 8: partially_uncovered_lambda(20);
1: 9:}
Would expect to see line 6 show up as uncovered.
More information about the Gcc-bugs
mailing list