LLVM  4.0.0
MCNullStreamer.cpp
Go to the documentation of this file.
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 
16 using namespace llvm;
17 
18 namespace {
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 EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
33  unsigned ByteAlignment) override {}
34  void EmitZerofill(MCSection *Section, MCSymbol *Symbol = nullptr,
35  uint64_t Size = 0, unsigned ByteAlignment = 0) override {}
36  void EmitGPRel32Value(const MCExpr *Value) override {}
37  };
38 
39 }
40 
42  return new MCNullStreamer(Context);
43 }
Instances of this class represent a uniqued identifier for a section in the current translation unit...
Definition: MCSection.h:40
LLVMContext & Context
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Definition: MCSymbol.h:39
MCStreamer * createNullStreamer(MCContext &Ctx)
Create a dummy machine code streamer, which does nothing.
Base class for the full range of assembler expressions which are needed for parsing.
Definition: MCExpr.h:34
Context object for machine code objects.
Definition: MCContext.h:51
Streaming machine code generation interface.
Definition: MCStreamer.h:161
MCSymbolAttr
Definition: MCDirectives.h:19
LLVM Value Representation.
Definition: Value.h:71