Only enable code coverage counters on linux

This commit is contained in:
Clifford Wolf 2015-01-09 17:32:53 +01:00
parent bd3dd80526
commit 95f1eb9b87
4 changed files with 6 additions and 6 deletions

View File

@ -406,7 +406,7 @@ int main(int argc, char **argv)
}
}
#ifdef YOSYS_ENABLE_COVER
#if defined(YOSYS_ENABLE_COVER) && defined(__linux__)
if (getenv("YOSYS_COVER_DIR") || getenv("YOSYS_COVER_FILE"))
{
string filename;

View File

@ -402,7 +402,7 @@ void log_cell(RTLIL::Cell *cell, std::string indent)
// ---------------------------------------------------
// This is the magic behind the code coverage counters
// ---------------------------------------------------
#ifdef YOSYS_ENABLE_COVER
#if defined(YOSYS_ENABLE_COVER) && defined(__linux__)
dict<std::string, std::pair<std::string, int>> extra_coverage_data;

View File

@ -92,10 +92,10 @@ static inline void log_assert_worker(bool cond, const char *expr, const char *fi
// This is the magic behind the code coverage counters
// ---------------------------------------------------
#ifdef YOSYS_ENABLE_COVER
#if defined(YOSYS_ENABLE_COVER) && defined(__linux__)
#define cover(_id) do { \
static CoverData __d YS_ATTRIBUTE(section("yosys_cover_list"), aligned(1), used) = { __FILE__, __FUNCTION__, _id, __LINE__, 0 }; \
static CoverData __d __attribute__((section("yosys_cover_list"), aligned(1), used)) = { __FILE__, __FUNCTION__, _id, __LINE__, 0 }; \
__d.counter++; \
} while (0)

View File

@ -80,7 +80,7 @@ struct CoverPass : public Pass {
log(" printf \"%%-60s %%10d %%s\\n\", p[i], c[i], i; }' {files} | sort -k3\n");
log("\n");
log("\n");
log("Coverage counters are only available in debug builds of Yosys for Linux.\n");
log("Coverage counters are only available in Yosys for Linux.\n");
log("\n");
}
virtual void execute(std::vector<std::string> args, RTLIL::Design *design)
@ -128,7 +128,7 @@ struct CoverPass : public Pass {
log("\n");
}
#ifdef YOSYS_ENABLE_COVER
#if defined(YOSYS_ENABLE_COVER) && defined(__linux__)
for (auto &it : get_coverage_data()) {
if (!patterns.empty()) {
for (auto &p : patterns)