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
20namespace llvm {
21class Triple;
22
23class ARMMCAsmInfoDarwin : public MCAsmInfoDarwin {
24  virtual void anchor();
25
26public:
27  explicit ARMMCAsmInfoDarwin(const Triple &TheTriple);
28};
29
30class ARMELFMCAsmInfo : public MCAsmInfoELF {
31  void anchor() override;
32
33public:
34  explicit ARMELFMCAsmInfo(const Triple &TT);
35
36  void setUseIntegratedAssembler(bool Value) override;
37};
38
39class ARMCOFFMCAsmInfoMicrosoft : public MCAsmInfoMicrosoft {
40  void anchor() override;
41
42public:
43  explicit ARMCOFFMCAsmInfoMicrosoft();
44};
45
46class ARMCOFFMCAsmInfoGNU : public MCAsmInfoGNUCOFF {
47  void anchor() override;
48
49public:
50  explicit ARMCOFFMCAsmInfoGNU();
51};
52
53} // namespace llvm
54
55#endif
56