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