blob: 939d4ed3d8375d2ed3e44ff5d384ff9995f5e1ad [file] [log] [blame]
//===- SAFECodeRuntime.h -- Runtime interface of SAFECode ------*- C++ -*-===//
//
// The LLVM Compiler Infrast`ructure
//
// This file was developed by the LLVM research group and is distributed under
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file defines the interface of SAFECode runtime library.
//
//===----------------------------------------------------------------------===//
#ifndef _SAFECODE_RUNTIME_H_
#define _SAFECODE_RUNTIME_H_
#ifdef __cplusplus
extern "C" {
#endif
struct PoolTy;
/// All functions that perform checking return a synchronization token
void __sc_poolcheck(PoolTy *Pool, void *Node);
void __sc_poolcheckui(PoolTy *Pool, void *Node);
void __sc_boundscheck (PoolTy * Pool, void * Source, void * Dest);
void __sc_boundscheckui (PoolTy * Pool, void * Source, void * Dest) __attribute__ ((always_inline));
void __sc_wait_for_completion();
#ifdef __cplusplus
}
#endif
#endif