1 //===-- ARMMCAsmInfo.h - ARM asm properties --------------------*- C++ -*--===// 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 // This file contains the declaration of the ARMMCAsmInfo class. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_LIB_TARGET_ARM_MCTARGETDESC_ARMMCASMINFO_H 15 #define LLVM_LIB_TARGET_ARM_MCTARGETDESC_ARMMCASMINFO_H 16 17 #include "llvm/MC/MCAsmInfoCOFF.h" 18 #include "llvm/MC/MCAsmInfoDarwin.h" 19 #include "llvm/MC/MCAsmInfoELF.h" 20 21 namespace llvm { 22 class Triple; 23 24 class ARMMCAsmInfoDarwin : public MCAsmInfoDarwin { 25 virtual void anchor(); 26 27 public: 28 explicit ARMMCAsmInfoDarwin(const Triple &TheTriple); 29 }; 30 31 class ARMELFMCAsmInfo : public MCAsmInfoELF { 32 void anchor() override; 33 34 public: 35 explicit ARMELFMCAsmInfo(const Triple &TT); 36 37 void setUseIntegratedAssembler(bool Value) override; 38 }; 39 40 class ARMCOFFMCAsmInfoMicrosoft : public MCAsmInfoMicrosoft { 41 void anchor() override; 42 43 public: 44 explicit ARMCOFFMCAsmInfoMicrosoft(); 45 }; 46 47 class ARMCOFFMCAsmInfoGNU : public MCAsmInfoGNUCOFF { 48 void anchor() override; 49 50 public: 51 explicit ARMCOFFMCAsmInfoGNU(); 52 }; 53 54 } // namespace llvm 55 56 #endif 57