diff options
author | Ed Schouten <ed@FreeBSD.org> | 2009-06-02 17:58:47 +0000 |
---|---|---|
committer | Ed Schouten <ed@FreeBSD.org> | 2009-06-02 17:58:47 +0000 |
commit | ec2b103c267a06a66e926f62cd96767b280f5cf5 (patch) | |
tree | ce7d964cbb5e39695b71481698f10cb099c23d4a /include/clang/CodeGen/ModuleBuilder.h |
Notes
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 0000000000000..5812da1b562e2 --- /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 |