X86MCAsmInfo.h revision 263508
1272343Sngie//===-- X86MCAsmInfo.h - X86 asm properties --------------------*- C++ -*--===// 2272343Sngie// 3272343Sngie// The LLVM Compiler Infrastructure 4272343Sngie// 5272343Sngie// This file is distributed under the University of Illinois Open Source 6272343Sngie// License. See LICENSE.TXT for details. 7272343Sngie// 8272343Sngie//===----------------------------------------------------------------------===// 9272343Sngie// 10272343Sngie// This file contains the declaration of the X86MCAsmInfo class. 11272343Sngie// 12272343Sngie//===----------------------------------------------------------------------===// 13272343Sngie 14272343Sngie#ifndef X86TARGETASMINFO_H 15272343Sngie#define X86TARGETASMINFO_H 16272343Sngie 17272343Sngie#include "llvm/MC/MCAsmInfo.h" 18272343Sngie#include "llvm/MC/MCAsmInfoCOFF.h" 19272343Sngie#include "llvm/MC/MCAsmInfoDarwin.h" 20272343Sngie#include "llvm/MC/MCAsmInfoELF.h" 21272343Sngie 22272343Sngienamespace llvm { 23272343Sngie class Triple; 24272343Sngie 25272343Sngie class X86MCAsmInfoDarwin : public MCAsmInfoDarwin { 26272343Sngie virtual void anchor(); 27272343Sngie public: 28272343Sngie explicit X86MCAsmInfoDarwin(const Triple &Triple); 29272343Sngie }; 30272343Sngie 31272343Sngie struct X86_64MCAsmInfoDarwin : public X86MCAsmInfoDarwin { 32272343Sngie explicit X86_64MCAsmInfoDarwin(const Triple &Triple); 33272343Sngie virtual const MCExpr * 34272343Sngie getExprForPersonalitySymbol(const MCSymbol *Sym, 35272343Sngie unsigned Encoding, 36272343Sngie MCStreamer &Streamer) const; 37272343Sngie }; 38272343Sngie 39272343Sngie class X86ELFMCAsmInfo : public MCAsmInfoELF { 40272343Sngie virtual void anchor(); 41272343Sngie public: 42272343Sngie explicit X86ELFMCAsmInfo(const Triple &Triple); 43272343Sngie virtual const MCSection *getNonexecutableStackSection(MCContext &Ctx) const; 44272343Sngie }; 45272343Sngie 46272343Sngie class X86MCAsmInfoMicrosoft : public MCAsmInfoMicrosoft { 47272343Sngie virtual void anchor(); 48272343Sngie public: 49272343Sngie explicit X86MCAsmInfoMicrosoft(const Triple &Triple); 50272343Sngie }; 51272343Sngie 52272343Sngie class X86MCAsmInfoGNUCOFF : public MCAsmInfoGNUCOFF { 53272343Sngie virtual void anchor(); 54272343Sngie public: 55272343Sngie explicit X86MCAsmInfoGNUCOFF(const Triple &Triple); 56272343Sngie }; 57272343Sngie} // namespace llvm 58272343Sngie 59272343Sngie#endif 60272343Sngie