]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
Merge clang 7.0.1 and several follow-up changes
[FreeBSD/FreeBSD.git] / contrib / llvm / lib / Target / AArch64 / MCTargetDesc / AArch64MCAsmInfo.h
1 //=====-- AArch64MCAsmInfo.h - AArch64 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 AArch64MCAsmInfo class.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #ifndef LLVM_LIB_TARGET_AARCH64_MCTARGETDESC_AARCH64MCASMINFO_H
15 #define LLVM_LIB_TARGET_AARCH64_MCTARGETDESC_AARCH64MCASMINFO_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 MCStreamer;
23 class Target;
24 class Triple;
25
26 struct AArch64MCAsmInfoDarwin : public MCAsmInfoDarwin {
27   explicit AArch64MCAsmInfoDarwin();
28   const MCExpr *
29   getExprForPersonalitySymbol(const MCSymbol *Sym, unsigned Encoding,
30                               MCStreamer &Streamer) const override;
31 };
32
33 struct AArch64MCAsmInfoELF : public MCAsmInfoELF {
34   explicit AArch64MCAsmInfoELF(const Triple &T);
35 };
36
37 struct AArch64MCAsmInfoMicrosoftCOFF : public MCAsmInfoMicrosoft {
38   explicit AArch64MCAsmInfoMicrosoftCOFF();
39 };
40
41 struct AArch64MCAsmInfoGNUCOFF : public MCAsmInfoGNUCOFF {
42   explicit AArch64MCAsmInfoGNUCOFF();
43 };
44
45 } // namespace llvm
46
47 #endif