[PPL-devel] [GIT] ppl/ppl(master): Suggest using -fno-elide-constructors when configuring for coverage.
Enea Zaffanella
zaffanella at cs.unipr.it
Thu Sep 10 15:26:38 CEST 2009
Module: ppl/ppl
Branch: master
Commit: 6a1b3b278146ed990e74b338c1608471d3314be8
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=6a1b3b278146ed990e74b338c1608471d3314be8
Author: Enea Zaffanella <zaffanella at cs.unipr.it>
Date: Thu Sep 10 15:24:16 2009 +0200
Suggest using -fno-elide-constructors when configuring for coverage.
---
STANDARDS | 17 +++++++++++------
1 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/STANDARDS b/STANDARDS
index 43654aa..e0096c7 100644
--- a/STANDARDS
+++ b/STANDARDS
@@ -566,12 +566,17 @@ o Ideally the tests should exercise every line of code in the library.
Here we summarize the steps needed to produce coverage information
using `lcov' (see below for a few hints on the direct use of `gcov').
The build tree under test must be configured with the
- `--enable-coverage' and `--disable-optimization options' (and possibly
- also with --enable-profiling). For example:
-
- $ configure --enable-coverage --disable-optimization \
- --enable-profiling \
- --enable-assertions --enable-more-assertions
+ `--enable-coverage' and `--disable-optimization' options (and possibly
+ also with --enable-profiling). Furthermore, according to this thread
+ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12076
+ GCC performs NRV (Named Return Value) transformations even when
+ optimizations are turned off; hence, to avoid spurious zero counts
+ in return statements, the compilation flag `-fno-elide-constructors'
+ is recommended. For example:
+
+ $ configure --enable-coverage --enable-profiling \
+ --disable-optimization --with-cxxflags='-fno-elide-constructors' \
+ --enable-assertions --enable-more-assertions
Running the tests (with `make check') produces many .gcno and .gcda
files in src/.libs and in the test directories. These are data
More information about the PPL-devel
mailing list