123456789101112131415161718192021222324252627282930313233343536373839 |
- //===- GOFFAsmParser.cpp - GOFF Assembly Parser ---------------------------===//
- //
- // 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/MC/MCParser/MCAsmParserExtension.h"
- using namespace llvm;
- namespace {
- class GOFFAsmParser : public MCAsmParserExtension {
- template <bool (GOFFAsmParser::*HandlerMethod)(StringRef, SMLoc)>
- void addDirectiveHandler(StringRef Directive) {
- MCAsmParser::ExtensionDirectiveHandler Handler =
- std::make_pair(this, HandleDirective<GOFFAsmParser, HandlerMethod>);
- getParser().addDirectiveHandler(Directive, Handler);
- }
- public:
- GOFFAsmParser() = default;
- void Initialize(MCAsmParser &Parser) override {
- // Call the base implementation.
- this->MCAsmParserExtension::Initialize(Parser);
- }
- };
- } // namespace
- namespace llvm {
- MCAsmParserExtension *createGOFFAsmParser() { return new GOFFAsmParser; }
- } // namespace llvm
|