//===--- CodeGenModule.cpp - Emit LLVM Code from ASTs for a Module --------===// // // The LLVM Compiler Infrastructure // // This file was developed by Chris Lattner and is distributed under // the University of Illinois Open Source License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This coordinates the per-module state used while generating code. // //===----------------------------------------------------------------------===// #include "CodeGenModule.h" #include "CodeGenFunction.h" #include "clang/AST/ASTContext.h" #include "clang/AST/Decl.h" using namespace clang; using namespace CodeGen; CodeGenModule::CodeGenModule(ASTContext &C, llvm::Module &M) : Context(C), TheModule(M), Types(C.Target) {} void CodeGenModule::EmitFunction(FunctionDecl *FD) { // If this is not a prototype, emit the body. if (FD->getBody()) CodeGenFunction(*this).GenerateCode(FD); }