1//===-- ubsan_init.h --------------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// Initialization function for UBSan runtime. 11// 12//===----------------------------------------------------------------------===// 13#ifndef UBSAN_INIT_H 14#define UBSAN_INIT_H 15 16namespace __ubsan { 17 18// Get the full tool name for UBSan. 19const char *GetSanititizerToolName(); 20 21// Initialize UBSan as a standalone tool. Typically should be called early 22// during initialization. 23void InitAsStandalone(); 24 25// Initialize UBSan as a standalone tool, if it hasn't been initialized before. 26void InitAsStandaloneIfNecessary(); 27 28// Initializes UBSan as a plugin tool. This function should be called once 29// from "parent tool" (e.g. ASan) initialization. 30void InitAsPlugin(); 31 32} // namespace __ubsan 33 34#endif // UBSAN_INIT_H 35