GCC compatibility code coverage issue .

Hi All,

We trying to use clang+llvm to generate the gcc coverage format as

clang version 3.6.0

$clang --coverage -Xclang -coverage-cfg-checksum -Xclang
-coverage-no-function-names-in-data -Xclang -coverage-version='407*'
test.c

$a.out

$llvm-cov gcov test.gcda

Unexpected version: *704.
Invalid .gcno File!

Debugging the above cause ,But any hints from experts here ,will help a lot .

Appreciate your time ,Thank you
~Umesh

I had the same problem. And I’ve fixed it by using instead of

Hi All,

We trying to use clang+llvm to generate the gcc coverage format as

clang version 3.6.0

$clang --coverage -Xclang -coverage-cfg-checksum -Xclang
-coverage-no-function-names-in-data -Xclang -coverage-version=‘407*’
test.c

$a.out

$llvm-cov gcov test.gcda

Unexpected version: *704.
Invalid .gcno File!

The llvm-cov tool supports the 402* format, which is what clang emits by default. If you remove the -Xclang arguments from your compilation it should work.

Thank you Mohamed for the quick reply ,unfortunately the solution
didn't worked for me .

bash-4.1$ clang -g -O0 -fprofile-arcs -ftest-coverage -Xclang
-coverage-cfg-checksum -Xclang -coverage-no-function-names-in-data
test.c
bash-4.1$ ./a.out
bash-4.1$ llvm-cov gcov test.c
Unexpected end of memory buffer: 386832052.
Invalid .gcno File!

bash-4.1$ clang -v
clang version 3.6.0 (tags/RELEASE_360/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix

Thank you again.
~Umesh

Hi Justin ,

Thank you for the reply,but without version too ,the llvm-cov fails i.e

bash-4.1$ clang -fprofile-arcs -ftest-coverage test.c
bash-4.1$ ./a.out
bash-4.1$ llvm-cov gcov test.c
Unexpected number of edges (in main).
Invalid .gcda File!

bash-4.1$ clang -g -O0 -fprofile-arcs -ftest-coverage -Xclang
-coverage-cfg-checksum -Xclang -coverage-no-function-names-in-data
test.c
bash-4.1$ ./a.out
bash-4.1$ llvm-cov gcov test.c
Unexpected end of memory buffer: 386832052.
Invalid .gcno File!

bash-4.1$ clang -v
clang version 3.6.0 (tags/RELEASE_360/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix

Thank you
~Umesh

Oh, sorry, this is http://llvm.org/PR22436 which is fixed in trunk, but not in 3.6.0. I’ll double-check / see about getting the fix in 3.6.1.