libsanitizer merge from upstream r175733
[official-gcc.git] / libsanitizer / include / sanitizer / common_interface_defs.h
blobc218b5b565414e158a428f4595e148ff87cbe026
1 //===-- sanitizer/common_interface_defs.h -----------------------*- C++ -*-===//
2 //
3 // This file is distributed under the University of Illinois Open Source
4 // License. See LICENSE.TXT for details.
5 //
6 //===----------------------------------------------------------------------===//
7 //
8 // Common part of the public sanitizer interface.
9 //===----------------------------------------------------------------------===//
11 #ifndef SANITIZER_COMMON_INTERFACE_DEFS_H
12 #define SANITIZER_COMMON_INTERFACE_DEFS_H
14 #include <stddef.h>
15 #include <stdint.h>
17 // GCC does not understand __has_feature.
18 #if !defined(__has_feature)
19 # define __has_feature(x) 0
20 #endif
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 // Tell the tools to write their reports to "path.<pid>" instead of stderr.
26 void __sanitizer_set_report_path(const char *path);
28 // Tell the tools to write their reports to given file descriptor instead of
29 // stderr.
30 void __sanitizer_set_report_fd(int fd);
32 // Notify the tools that the sandbox is going to be turned on. The reserved
33 // parameter will be used in the future to hold a structure with functions
34 // that the tools may call to bypass the sandbox.
35 void __sanitizer_sandbox_on_notify(void *reserved);
37 // This function is called by the tool when it has just finished reporting
38 // an error. 'error_summary' is a one-line string that summarizes
39 // the error message. This function can be overridden by the client.
40 void __sanitizer_report_error_summary(const char *error_summary);
42 #ifdef __cplusplus
43 } // extern "C"
44 #endif
46 #endif // SANITIZER_COMMON_INTERFACE_DEFS_H