MCNullStreamer.cpp 1.2 KB

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