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// Initialize UBSan as a standalone tool. Typically should be called early 19// during initialization. 20void InitAsStandalone(); 21 22// Initialize UBSan as a standalone tool, if it hasn't been initialized before. 23void InitAsStandaloneIfNecessary(); 24 25// Initializes UBSan as a plugin tool. This function should be called once 26// from "parent tool" (e.g. ASan) initialization. 27void InitAsPlugin(); 28 29} // namespace __ubsan 30 31#endif // UBSAN_INIT_H 32