1276789Sdim//===-- ubsan_init.h --------------------------------------------*- C++ -*-===// 2276789Sdim// 3276789Sdim// The LLVM Compiler Infrastructure 4276789Sdim// 5276789Sdim// This file is distributed under the University of Illinois Open Source 6276789Sdim// License. See LICENSE.TXT for details. 7276789Sdim// 8276789Sdim//===----------------------------------------------------------------------===// 9276789Sdim// 10276789Sdim// Initialization function for UBSan runtime. 11276789Sdim// 12276789Sdim//===----------------------------------------------------------------------===// 13276789Sdim#ifndef UBSAN_INIT_H 14276789Sdim#define UBSAN_INIT_H 15276789Sdim 16276789Sdimnamespace __ubsan { 17276789Sdim 18288943Sdim// Initialize UBSan as a standalone tool. Typically should be called early 19288943Sdim// during initialization. 20288943Sdimvoid InitAsStandalone(); 21276789Sdim 22288943Sdim// Initialize UBSan as a standalone tool, if it hasn't been initialized before. 23288943Sdimvoid InitAsStandaloneIfNecessary(); 24288943Sdim 25288943Sdim// Initializes UBSan as a plugin tool. This function should be called once 26288943Sdim// from "parent tool" (e.g. ASan) initialization. 27288943Sdimvoid InitAsPlugin(); 28288943Sdim 29276789Sdim} // namespace __ubsan 30276789Sdim 31276789Sdim#endif // UBSAN_INIT_H 32