| //===-- ubsan_init.h --------------------------------------------*- C++ -*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // Initialization function for UBSan runtime. |
| // |
| //===----------------------------------------------------------------------===// |
| #ifndef UBSAN_INIT_H |
| #define UBSAN_INIT_H |
| |
| namespace __ubsan { |
| |
| // Get the full tool name for UBSan. |
| const char *GetSanititizerToolName(); |
| |
| // Initialize UBSan as a standalone tool. Typically should be called early |
| // during initialization. |
| void InitAsStandalone(); |
| |
| // Initialize UBSan as a standalone tool, if it hasn't been initialized before. |
| void InitAsStandaloneIfNecessary(); |
| |
| // Initializes UBSan as a plugin tool. This function should be called once |
| // from "parent tool" (e.g. ASan) initialization. |
| void InitAsPlugin(); |
| |
| } // namespace __ubsan |
| |
| #endif // UBSAN_INIT_H |