diff options
Diffstat (limited to 'include/clang/CodeGen/ModuleBuilder.h')
-rw-r--r-- | include/clang/CodeGen/ModuleBuilder.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/include/clang/CodeGen/ModuleBuilder.h b/include/clang/CodeGen/ModuleBuilder.h new file mode 100644 index 0000000..5812da1 --- /dev/null +++ b/include/clang/CodeGen/ModuleBuilder.h @@ -0,0 +1,40 @@ +//===--- CodeGen/ModuleBuilder.h - Build LLVM from ASTs ---------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines the ModuleBuilder interface. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_CODEGEN_MODULEBUILDER_H +#define LLVM_CLANG_CODEGEN_MODULEBUILDER_H + +#include "clang/AST/ASTConsumer.h" +#include <string> + +namespace llvm { + class Module; +} + +namespace clang { + class Diagnostic; + class LangOptions; + class CompileOptions; + + class CodeGenerator : public ASTConsumer { + public: + virtual llvm::Module* GetModule() = 0; + virtual llvm::Module* ReleaseModule() = 0; + }; + + CodeGenerator *CreateLLVMCodeGen(Diagnostic &Diags, + const std::string &ModuleName, + const CompileOptions &CO); +} + +#endif |