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