blob: 33942534fd0342afb22f62d1b5862b1d16f9b044 [file] [log] [blame]
//===-- examples/clang-interpreter/Invoke.h - Clang C Interpreter Example -===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef CLANG_EXAMPLE_INTERPRETER_INVOKE_H
#define CLANG_EXAMPLE_INTERPRETER_INVOKE_H
namespace llvm {
class ExecutionEngine;
class Function;
}
#include <string>
#include <vector>
namespace interpreter {
typedef std::vector<std::string> InvokeArgs;
typedef int (*Invoker)(llvm::ExecutionEngine *EE, llvm::Function *EntryFn,
const InvokeArgs &Args, char *const *EnvP);
int TryIt(llvm::ExecutionEngine *EE, llvm::Function *EntryFn,
const InvokeArgs &Args, char *const *EnvP,
Invoker Invoke);
} // interpreter
#endif // CLANG_EXAMPLE_INTERPRETER_INVOKE_H