ClickHouse/base/common/coverage.cpp
2020-03-21 22:49:26 +03:00

33 lines
519 B
C++

#include "coverage.h"
#if WITH_COVERAGE
# include <mutex>
# include <unistd.h>
# if defined(__clang__)
extern "C" void __llvm_profile_dump();
# elif defined(__GNUC__) || defined(__GNUG__)
extern "C" void __gcov_exit();
# endif
#endif
void dumpCoverageReportIfPossible()
{
#if WITH_COVERAGE
static std::mutex mutex;
std::lock_guard lock(mutex);
# if defined(__clang__)
__llvm_profile_dump();
# elif defined(__GNUC__) || defined(__GNUG__)
__gcov_exit();
# endif
#endif
}