MipsTargetStreamer.h revision e53969b4758274ee833ce3acef37134bcf6554ea
1//===-- MipsTargetStreamer.h - Mips Target Streamer ------------*- C++ -*--===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef MIPSTARGETSTREAMER_H 11#define MIPSTARGETSTREAMER_H 12 13#include "llvm/MC/MCELFStreamer.h" 14#include "llvm/MC/MCStreamer.h" 15 16namespace llvm { 17class MipsTargetStreamer : public MCTargetStreamer { 18 virtual void anchor(); 19public: 20 virtual void emitMipsHackELFFlags(unsigned Flags) = 0; 21 virtual void emitSymSTO(MCSymbol *Sym, unsigned Val) = 0; 22}; 23 24// This part is for ascii assembly output 25class MipsTargetAsmStreamer : public MipsTargetStreamer { 26 formatted_raw_ostream &OS; 27 28public: 29 MipsTargetAsmStreamer(formatted_raw_ostream &OS); 30 virtual void emitMipsHackELFFlags(unsigned Flags); 31 virtual void emitSymSTO(MCSymbol *Sym, unsigned Val); 32}; 33 34// This part is for ELF object output 35class MipsTargetELFStreamer : public MipsTargetStreamer { 36public: 37 MCELFStreamer &getStreamer(); 38 MipsTargetELFStreamer(); 39 virtual void emitMipsHackELFFlags(unsigned Flags); 40 virtual void emitSymSTO(MCSymbol *Sym, unsigned Val); 41}; 42} 43 44#endif 45