CompilerInstance.cpp revision 16b7449d86b843d0926b04f87104cf3fff7149fe
12a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar//===--- CompilerInstance.cpp ---------------------------------------------===// 22a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar// 32a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar// The LLVM Compiler Infrastructure 42a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar// 52a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar// This file is distributed under the University of Illinois Open Source 62a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar// License. See LICENSE.TXT for details. 72a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar// 82a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar//===----------------------------------------------------------------------===// 92a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar 102a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar#include "clang/Frontend/CompilerInstance.h" 112a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar#include "clang/Basic/Diagnostic.h" 1216b7449d86b843d0926b04f87104cf3fff7149feDaniel Dunbar#include "clang/Basic/FileManager.h" 1316b7449d86b843d0926b04f87104cf3fff7149feDaniel Dunbar#include "clang/Basic/SourceManager.h" 142a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar#include "clang/Basic/TargetInfo.h" 152a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar#include "llvm/LLVMContext.h" 162a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbarusing namespace clang; 172a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar 182a79e162a3fde25c1941151a67966830d873f2dbDaniel DunbarCompilerInstance::CompilerInstance(llvm::LLVMContext *_LLVMContext, 192a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar bool _OwnsLLVMContext) 202a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar : LLVMContext(_LLVMContext), 212a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar OwnsLLVMContext(_OwnsLLVMContext) { 222a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar} 232a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar 242a79e162a3fde25c1941151a67966830d873f2dbDaniel DunbarCompilerInstance::~CompilerInstance() { 252a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar if (OwnsLLVMContext) 262a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar delete LLVMContext; 272a79e162a3fde25c1941151a67966830d873f2dbDaniel Dunbar} 2816b7449d86b843d0926b04f87104cf3fff7149feDaniel Dunbar 2916b7449d86b843d0926b04f87104cf3fff7149feDaniel Dunbarvoid CompilerInstance::createFileManager() { 3016b7449d86b843d0926b04f87104cf3fff7149feDaniel Dunbar FileMgr.reset(new FileManager()); 3116b7449d86b843d0926b04f87104cf3fff7149feDaniel Dunbar} 3216b7449d86b843d0926b04f87104cf3fff7149feDaniel Dunbar 3316b7449d86b843d0926b04f87104cf3fff7149feDaniel Dunbarvoid CompilerInstance::createSourceManager() { 3416b7449d86b843d0926b04f87104cf3fff7149feDaniel Dunbar SourceMgr.reset(new SourceManager()); 3516b7449d86b843d0926b04f87104cf3fff7149feDaniel Dunbar} 36