/3rd_party/llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.h

https://code.google.com/p/softart/ · C++ Header · 59 lines · 38 code · 9 blank · 12 comment · 0 complexity · f4f91bf0f8ab3bd19b4a03ee49bc3a92 MD5 · raw file

  1. //===-- X86MCAsmInfo.h - X86 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 X86MCAsmInfo class.
  11. //
  12. //===----------------------------------------------------------------------===//
  13. #ifndef X86TARGETASMINFO_H
  14. #define X86TARGETASMINFO_H
  15. #include "llvm/MC/MCAsmInfo.h"
  16. #include "llvm/MC/MCAsmInfoCOFF.h"
  17. #include "llvm/MC/MCAsmInfoDarwin.h"
  18. #include "llvm/MC/MCAsmInfoELF.h"
  19. namespace llvm {
  20. class Triple;
  21. class X86MCAsmInfoDarwin : public MCAsmInfoDarwin {
  22. virtual void anchor();
  23. public:
  24. explicit X86MCAsmInfoDarwin(const Triple &Triple);
  25. };
  26. struct X86_64MCAsmInfoDarwin : public X86MCAsmInfoDarwin {
  27. explicit X86_64MCAsmInfoDarwin(const Triple &Triple);
  28. virtual const MCExpr *
  29. getExprForPersonalitySymbol(const MCSymbol *Sym,
  30. unsigned Encoding,
  31. MCStreamer &Streamer) const;
  32. };
  33. class X86ELFMCAsmInfo : public MCAsmInfoELF {
  34. virtual void anchor();
  35. public:
  36. explicit X86ELFMCAsmInfo(const Triple &Triple);
  37. virtual const MCSection *getNonexecutableStackSection(MCContext &Ctx) const;
  38. };
  39. class X86MCAsmInfoMicrosoft : public MCAsmInfoMicrosoft {
  40. virtual void anchor();
  41. public:
  42. explicit X86MCAsmInfoMicrosoft(const Triple &Triple);
  43. };
  44. class X86MCAsmInfoGNUCOFF : public MCAsmInfoGNUCOFF {
  45. virtual void anchor();
  46. public:
  47. explicit X86MCAsmInfoGNUCOFF(const Triple &Triple);
  48. };
  49. } // namespace llvm
  50. #endif