1198090Srdivacky//===- lib/MC/MCNullStreamer.cpp - Dummy Streamer Implementation ----------===// 2198090Srdivacky// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6198090Srdivacky// 7198090Srdivacky//===----------------------------------------------------------------------===// 8198090Srdivacky 9344779Sdim#include "llvm/ADT/StringRef.h" 10198090Srdivacky#include "llvm/MC/MCInst.h" 11321369Sdim#include "llvm/MC/MCStreamer.h" 12198090Srdivacky#include "llvm/MC/MCSymbol.h" 13198090Srdivacky 14198090Srdivackyusing namespace llvm; 15198090Srdivacky 16198090Srdivackynamespace { 17198090Srdivacky 18198090Srdivacky class MCNullStreamer : public MCStreamer { 19198090Srdivacky public: 20276479Sdim MCNullStreamer(MCContext &Context) : MCStreamer(Context) {} 21198090Srdivacky 22198090Srdivacky /// @name MCStreamer Interface 23198090Srdivacky /// @{ 24198090Srdivacky 25344779Sdim bool hasRawTextSupport() const override { return true; } 26344779Sdim void EmitRawTextImpl(StringRef String) override {} 27344779Sdim 28276479Sdim bool EmitSymbolAttribute(MCSymbol *Symbol, 29276479Sdim MCSymbolAttr Attribute) override { 30261991Sdim return true; 31261991Sdim } 32198090Srdivacky 33276479Sdim void EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size, 34276479Sdim unsigned ByteAlignment) override {} 35288943Sdim void EmitZerofill(MCSection *Section, MCSymbol *Symbol = nullptr, 36341825Sdim uint64_t Size = 0, unsigned ByteAlignment = 0, 37341825Sdim SMLoc Loc = SMLoc()) override {} 38276479Sdim void EmitGPRel32Value(const MCExpr *Value) override {} 39321369Sdim void BeginCOFFSymbolDef(const MCSymbol *Symbol) override {} 40321369Sdim void EmitCOFFSymbolStorageClass(int StorageClass) override {} 41321369Sdim void EmitCOFFSymbolType(int Type) override {} 42321369Sdim void EndCOFFSymbolDef() override {} 43198090Srdivacky }; 44198090Srdivacky 45198090Srdivacky} 46239462Sdim 47198090SrdivackyMCStreamer *llvm::createNullStreamer(MCContext &Context) { 48198090Srdivacky return new MCNullStreamer(Context); 49198090Srdivacky} 50