1f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines//===- DefSymParser.h -----------------------------------------------------===// 2f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines// 3f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines// The MCLinker Project 4f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines// 5f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines// This file is distributed under the University of Illinois Open Source 6f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines// License. See LICENSE.TXT for details. 7f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines// 8f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines//===----------------------------------------------------------------------===// 9f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines#ifndef MCLD_DEFSYM_PARSER_H 10f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines#define MCLD_DEFSYM_PARSER_H 11f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 12f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines#include <mcld/Module.h> 13f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines#include <llvm/ADT/StringRef.h> 14f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 15f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hinesnamespace mcld { 16f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 17f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines/** \class DefSymParser 18f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines * \brief DefSymParser parses --defsym option. 19f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines */ 20f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hinesclass DefSymParser 21f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines{ 22f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hinespublic: 23f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines DefSymParser(const Module& pModule); 24f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 25f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines // parse a valid expression and set the value in the second parameter 26f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines bool parse(llvm::StringRef, uint64_t&); 27f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 28f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hinesprivate: 29f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines const Module& m_Module; 30f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines}; 31f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 32f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines} // mcld 33f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines 34f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines#endif 35