Hi Ralf, Ralf Wildenhues <[EMAIL PROTECTED]> writes:
> Hello Ludovic, Simon, > > * Ludovic Courtès wrote on Tue, Oct 28, 2008 at 05:48:12PM CET: >> >> Let me explain this. Suppose you have tests T1 and T2: >> >> * T1 uses code from foo.c and t1.c; >> * T2 uses code from foo.c and t2.c. >> >> Running "make check" runs T1, then T2: >> >> * T1 is run, producing foo.gcda and t1.gcda; >> * T2 is run, *overriding* foo.gcda and producing t2.gcda. >> >> In the end, `lcov' is fed with foo.gcda from the T2 run, whereas what we >> really want to have is the code covered in foo.c by T1 *and* T2. > > That's not what my GCC documentation says (info gcc 'Invoking Gcov', > near the end): > > The execution counts are cumulative. If the example program were > executed again without removing the `.gcda' file, the count for the > number of times each line in the source was executed would be added to > the results of the previous run(s). [...] Oh, you're right. The GCC 4.2 manual contains the same paragaph: http://gcc.gnu.org/onlinedocs/gcc-4.2.4/gcc/Invoking-Gcov.html#Invoking-Gcov . Sorry for the confusion. > FWIW, IIRC then the directory handling of the files was only fixed to be > sane rather recently in the GCC tree (I guess 4.4 only). By "directory handling", you mean the location where GCDA files are produced relative to the location of the corresponding `.o' files? Thanks, Ludo'.