1//===- lib/MC/MCNullStreamer.cpp - Dummy Streamer Implementation ----------===// 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#include "llvm/MC/MCStreamer.h" 11#include "llvm/MC/MCContext.h" 12#include "llvm/MC/MCInst.h" 13#include "llvm/MC/MCSectionMachO.h" 14#include "llvm/MC/MCSymbol.h" 15 16using namespace llvm; 17 18namespace { 19 20 class MCNullStreamer : public MCStreamer { 21 public: 22 MCNullStreamer(MCContext &Context) : MCStreamer(Context) {} 23 24 /// @name MCStreamer Interface 25 /// @{ 26 27 bool EmitSymbolAttribute(MCSymbol *Symbol, 28 MCSymbolAttr Attribute) override { 29 return true; 30 } 31 32 void EmitCOFFSecRel32(MCSymbol const *Symbol) override {} 33 void EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size, 34 unsigned ByteAlignment) override {} 35 void EmitZerofill(const MCSection *Section, MCSymbol *Symbol = nullptr, 36 uint64_t Size = 0, unsigned ByteAlignment = 0) override {} 37 void EmitGPRel32Value(const MCExpr *Value) override {} 38 }; 39 40} 41 42MCStreamer *llvm::createNullStreamer(MCContext &Context) { 43 return new MCNullStreamer(Context); 44} 45