coverage.cpp raw
1 // Copyright (c) 2025-present The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5 #include <test/util/coverage.h>
6
7 #if defined(__clang__)
8 extern "C" __attribute__((weak)) void __llvm_profile_reset_counters(void);
9 extern "C" __attribute__((weak)) void __gcov_reset(void);
10
11 // Fallback implementations
12 extern "C" __attribute__((weak)) void __llvm_profile_reset_counters(void) {}
13 extern "C" __attribute__((weak)) void __gcov_reset(void) {}
14
15 void ResetCoverageCounters() {
16 // These will call the real ones if available, or our dummies if not
17 __llvm_profile_reset_counters();
18 __gcov_reset();
19 }
20 #else
21 void ResetCoverageCounters() {}
22 #endif
23