xref: /netbsd-src/external/gpl3/gcc/dist/libsanitizer/include/sanitizer/coverage_interface.h (revision ff6d591ca308ed13e9c5ae142cf113a246c2cdc6)
1f9a78e0eSmrg //===-- sanitizer/coverage_interface.h --------------------------*- C++ -*-===//
2f9a78e0eSmrg //
3*ff6d591cSmrg // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*ff6d591cSmrg // See https://llvm.org/LICENSE.txt for license information.
5*ff6d591cSmrg // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6f9a78e0eSmrg //
7f9a78e0eSmrg //===----------------------------------------------------------------------===//
8f9a78e0eSmrg //
9f9a78e0eSmrg // Public interface for sanitizer coverage.
10f9a78e0eSmrg //===----------------------------------------------------------------------===//
11f9a78e0eSmrg 
12f9a78e0eSmrg #ifndef SANITIZER_COVERAG_INTERFACE_H
13f9a78e0eSmrg #define SANITIZER_COVERAG_INTERFACE_H
14f9a78e0eSmrg 
15f9a78e0eSmrg #include <sanitizer/common_interface_defs.h>
16f9a78e0eSmrg 
17f9a78e0eSmrg #ifdef __cplusplus
18f9a78e0eSmrg extern "C" {
19f9a78e0eSmrg #endif
20f9a78e0eSmrg 
21f9a78e0eSmrg   // Record and dump coverage info.
22181254a7Smrg   void __sanitizer_cov_dump(void);
23f9a78e0eSmrg 
24a3e9eb18Smrg   // Clear collected coverage info.
25181254a7Smrg   void __sanitizer_cov_reset(void);
26f9a78e0eSmrg 
27a3e9eb18Smrg   // Dump collected coverage info. Sorts pcs by module into individual .sancov
28a3e9eb18Smrg   // files.
29a3e9eb18Smrg   void __sanitizer_dump_coverage(const uintptr_t *pcs, uintptr_t len);
30b17d1066Smrg 
31f9a78e0eSmrg #ifdef __cplusplus
32f9a78e0eSmrg }  // extern "C"
33f9a78e0eSmrg #endif
34f9a78e0eSmrg 
35f9a78e0eSmrg #endif  // SANITIZER_COVERAG_INTERFACE_H
36