Input.cpp revision 37b74a387bb3993387029859c2d9d051c41c724e
1//===- Input.cpp ----------------------------------------------------------===// 2// 3// The MCLinker Project 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9#include "mcld/MC/Input.h" 10 11#include "mcld/MC/Attribute.h" 12#include "mcld/LD/LDContext.h" 13 14namespace mcld { 15 16//===----------------------------------------------------------------------===// 17// mcld::Input 18//===----------------------------------------------------------------------===// 19Input::Input(llvm::StringRef pName) 20 : m_Type(Unknown), 21 m_Name(pName.data()), 22 m_Path(), 23 m_pAttr(NULL), 24 m_bNeeded(false), 25 m_bNoExport(false), 26 m_fileOffset(0), 27 m_pMemArea(NULL), 28 m_pContext(NULL) { 29} 30 31Input::Input(llvm::StringRef pName, const AttributeProxy& pProxy) 32 : m_Type(Unknown), 33 m_Name(pName.data()), 34 m_Path(), 35 m_pAttr(const_cast<Attribute*>(pProxy.attr())), 36 m_bNeeded(false), 37 m_bNoExport(false), 38 m_fileOffset(0), 39 m_pMemArea(NULL), 40 m_pContext(NULL) { 41} 42 43Input::Input(llvm::StringRef pName, 44 const sys::fs::Path& pPath, 45 unsigned int pType, 46 off_t pFileOffset) 47 : m_Type(pType), 48 m_Name(pName.data()), 49 m_Path(pPath), 50 m_pAttr(NULL), 51 m_bNeeded(false), 52 m_bNoExport(false), 53 m_fileOffset(pFileOffset), 54 m_pMemArea(NULL), 55 m_pContext(NULL) { 56} 57 58Input::Input(llvm::StringRef pName, 59 const sys::fs::Path& pPath, 60 const AttributeProxy& pProxy, 61 unsigned int pType, 62 off_t pFileOffset) 63 : m_Type(pType), 64 m_Name(pName.data()), 65 m_Path(pPath), 66 m_pAttr(const_cast<Attribute*>(pProxy.attr())), 67 m_bNeeded(false), 68 m_bNoExport(false), 69 m_fileOffset(pFileOffset), 70 m_pMemArea(NULL), 71 m_pContext(NULL) { 72} 73 74Input::~Input() { 75 // Attribute is deleted by AttributeFactory 76 // MemoryArea is deleted by MemoryAreaFactory 77} 78 79} // namespace mcld 80