diff options
Diffstat (limited to 'src/mongo/util/quick_exit.cpp')
-rw-r--r-- | src/mongo/util/quick_exit.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mongo/util/quick_exit.cpp b/src/mongo/util/quick_exit.cpp index caf113da50a..b934067fd8c 100644 --- a/src/mongo/util/quick_exit.cpp +++ b/src/mongo/util/quick_exit.cpp @@ -65,6 +65,8 @@ #ifdef MONGO_GCOV extern "C" void __gcov_flush(); +extern "C" void __gcov_dump(); +extern "C" void __gcov_reset(); #endif namespace mongo { @@ -80,8 +82,13 @@ void quickExitWithoutLogging(int code) { quickExitMutex->lock(); #ifdef MONGO_GCOV +#if (defined(__clang__) && __clang_major__ >= 12) || __GNUC__ >= 11 + __gcov_dump(); + __gcov_reset(); +#else __gcov_flush(); #endif +#endif #if __has_feature(address_sanitizer) // Always dump coverage data first because older versions of sanitizers may not write coverage |