12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- //===- lib/MC/MCNullStreamer.cpp - Dummy Streamer Implementation ----------===//
- //
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- //===----------------------------------------------------------------------===//
- #include "llvm/ADT/StringRef.h"
- #include "llvm/MC/MCDirectives.h"
- #include "llvm/MC/MCStreamer.h"
- #include "llvm/Support/SMLoc.h"
- namespace llvm {
- class MCContext;
- class MCExpr;
- class MCSection;
- class MCSymbol;
- } // namespace llvm
- using namespace llvm;
- namespace {
- class MCNullStreamer : public MCStreamer {
- public:
- MCNullStreamer(MCContext &Context) : MCStreamer(Context) {}
- /// @name MCStreamer Interface
- /// @{
- bool hasRawTextSupport() const override { return true; }
- void emitRawTextImpl(StringRef String) override {}
- bool emitSymbolAttribute(MCSymbol *Symbol,
- MCSymbolAttr Attribute) override {
- return true;
- }
- void emitCommonSymbol(MCSymbol *Symbol, uint64_t Size,
- Align ByteAlignment) override {}
- void emitZerofill(MCSection *Section, MCSymbol *Symbol = nullptr,
- uint64_t Size = 0, Align ByteAlignment = Align(1),
- SMLoc Loc = SMLoc()) override {}
- void emitGPRel32Value(const MCExpr *Value) override {}
- void beginCOFFSymbolDef(const MCSymbol *Symbol) override {}
- void emitCOFFSymbolStorageClass(int StorageClass) override {}
- void emitCOFFSymbolType(int Type) override {}
- void endCOFFSymbolDef() override {}
- void
- emitXCOFFSymbolLinkageWithVisibility(MCSymbol *Symbol, MCSymbolAttr Linkage,
- MCSymbolAttr Visibility) override {}
- };
- }
- MCStreamer *llvm::createNullStreamer(MCContext &Context) {
- return new MCNullStreamer(Context);
- }
|