Mercurial > hg > CbC > CbC_llvm
view tools/llvm-readobj/ObjDumper.h @ 23:7694d90773c7
if a code segment is a variadic function , llvm/clang doesn't do TCE. ( avoid a error )
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 04 Nov 2013 23:30:18 +0900 |
parents | 9ad51c7bc036 |
children | 54457678186b |
line wrap: on
line source
//===-- ObjDumper.h -------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef LLVM_READOBJ_OBJDUMPER_H #define LLVM_READOBJ_OBJDUMPER_H namespace llvm { namespace object { class ObjectFile; } class error_code; template<typename T> class OwningPtr; class StreamWriter; class ObjDumper { public: ObjDumper(StreamWriter& Writer); virtual ~ObjDumper(); virtual void printFileHeaders() = 0; virtual void printSections() = 0; virtual void printRelocations() = 0; virtual void printSymbols() = 0; virtual void printDynamicSymbols() = 0; virtual void printUnwindInfo() = 0; // Only implemented for ELF at this time. virtual void printDynamicTable() { } virtual void printNeededLibraries() { } virtual void printProgramHeaders() { } protected: StreamWriter& W; }; error_code createCOFFDumper(const object::ObjectFile *Obj, StreamWriter& Writer, OwningPtr<ObjDumper> &Result); error_code createELFDumper(const object::ObjectFile *Obj, StreamWriter& Writer, OwningPtr<ObjDumper> &Result); error_code createMachODumper(const object::ObjectFile *Obj, StreamWriter& Writer, OwningPtr<ObjDumper> &Result); } // namespace llvm #endif