1 //===- MCSectionDXContainer.h - DXContainer MC Sections ---------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file declares the MCSectionDXContainer class. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #ifndef LLVM_MC_MCSECTIONDXCONTAINER_H 14 #define LLVM_MC_MCSECTIONDXCONTAINER_H 15 16 #include "llvm/MC/MCSection.h" 17 #include "llvm/MC/SectionKind.h" 18 19 namespace llvm { 20 21 class MCSymbol; 22 23 class MCSectionDXContainer final : public MCSection { 24 friend class MCContext; 25 MCSectionDXContainer(StringRef Name,SectionKind K,MCSymbol * Begin)26 MCSectionDXContainer(StringRef Name, SectionKind K, MCSymbol *Begin) 27 : MCSection(SV_DXContainer, Name, K.isText(), /*IsVirtual=*/false, 28 Begin) {} 29 30 public: 31 void printSwitchToSection(const MCAsmInfo &, const Triple &, raw_ostream &, 32 uint32_t) const override; useCodeAlign()33 bool useCodeAlign() const override { return false; } 34 }; 35 36 } // end namespace llvm 37 38 #endif // LLVM_MC_MCSECTIONDXCONTAINER_H 39