LLVM 24.0.0git
PluginCAS.cpp File Reference

Implements ObjectStore and ActionCache on top of a dynamically loaded plugin that provides the C API in "llvm-c/CAS/PluginAPI_functions.h". More...

#include "PluginAPI.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/CAS/ActionCache.h"
#include "llvm/CAS/ObjectStore.h"
#include "llvm/Support/DynamicLibrary.h"
#include "llvm/Support/Error.h"
#include "PluginAPI_functions.def"

Go to the source code of this file.

Macros

#define CASPLUGINAPI_FUNCTION(name, required)

Functions

static StringRef toStringRef (llcas_digest_t c_digest)

Detailed Description

Implements ObjectStore and ActionCache on top of a dynamically loaded plugin that provides the C API in "llvm-c/CAS/PluginAPI_functions.h".

The asynchronous entry points of the plugin API are not called yet; they will be wired up once ObjectStore and ActionCache grow asynchronous interfaces.

Definition in file PluginCAS.cpp.

Macro Definition Documentation

◆ CASPLUGINAPI_FUNCTION

#define CASPLUGINAPI_FUNCTION ( name,
required )
Value:
if (!(Functions.name = (decltype(llcas_functions_t::name)) \
Lib.getAddressOfSymbol("llcas_" #name))) { \
if (required) \
return reportError("failed symbol 'llcas_" #name "' lookup"); \
}
static Error reportError(StringRef Message)
static const char * name

Function Documentation

◆ toStringRef()

StringRef toStringRef ( llcas_digest_t c_digest)
static