MCDirectives.h revision 226633
198944Sobrien//===- MCDirectives.h - Enums for directives on various targets -*- C++ -*-===// 298944Sobrien// 3130803Smarcel// The LLVM Compiler Infrastructure 498944Sobrien// 598944Sobrien// This file is distributed under the University of Illinois Open Source 698944Sobrien// License. See LICENSE.TXT for details. 798944Sobrien// 898944Sobrien//===----------------------------------------------------------------------===// 998944Sobrien// 1098944Sobrien// This file defines various enums that represent target-specific directives. 1198944Sobrien// 1298944Sobrien//===----------------------------------------------------------------------===// 1398944Sobrien 1498944Sobrien#ifndef LLVM_MC_MCDIRECTIVES_H 1598944Sobrien#define LLVM_MC_MCDIRECTIVES_H 1698944Sobrien 1798944Sobriennamespace llvm { 1898944Sobrien 1998944Sobrienenum MCSymbolAttr { 2098944Sobrien MCSA_Invalid = 0, ///< Not a valid directive. 2198944Sobrien 2298944Sobrien // Various directives in alphabetical order. 23130803Smarcel MCSA_ELF_TypeFunction, ///< .type _foo, STT_FUNC # aka @function 24130803Smarcel MCSA_ELF_TypeIndFunction, ///< .type _foo, STT_GNU_IFUNC 2598944Sobrien MCSA_ELF_TypeObject, ///< .type _foo, STT_OBJECT # aka @object 2698944Sobrien MCSA_ELF_TypeTLS, ///< .type _foo, STT_TLS # aka @tls_object 2798944Sobrien MCSA_ELF_TypeCommon, ///< .type _foo, STT_COMMON # aka @common 2898944Sobrien MCSA_ELF_TypeNoType, ///< .type _foo, STT_NOTYPE # aka @notype 29130803Smarcel MCSA_ELF_TypeGnuUniqueObject, /// .type _foo, @gnu_unique_object 30130803Smarcel MCSA_Global, ///< .globl 31130803Smarcel MCSA_Hidden, ///< .hidden (ELF) 32130803Smarcel MCSA_IndirectSymbol, ///< .indirect_symbol (MachO) 33130803Smarcel MCSA_Internal, ///< .internal (ELF) 34130803Smarcel MCSA_LazyReference, ///< .lazy_reference (MachO) 35130803Smarcel MCSA_Local, ///< .local (ELF) 3698944Sobrien MCSA_NoDeadStrip, ///< .no_dead_strip (MachO) 37130803Smarcel MCSA_SymbolResolver, ///< .symbol_resolver (MachO) 38130803Smarcel MCSA_PrivateExtern, ///< .private_extern (MachO) 39130803Smarcel MCSA_Protected, ///< .protected (ELF) 4098944Sobrien MCSA_Reference, ///< .reference (MachO) 4198944Sobrien MCSA_Weak, ///< .weak 4298944Sobrien MCSA_WeakDefinition, ///< .weak_definition (MachO) 4398944Sobrien MCSA_WeakReference, ///< .weak_reference (MachO) 4498944Sobrien MCSA_WeakDefAutoPrivate ///< .weak_def_can_be_hidden (MachO) 4598944Sobrien}; 4698944Sobrien 4798944Sobrienenum MCAssemblerFlag { 4898944Sobrien MCAF_SyntaxUnified, ///< .syntax (ARM/ELF) 49130803Smarcel MCAF_SubsectionsViaSymbols, ///< .subsections_via_symbols (MachO) 50130803Smarcel MCAF_Code16, ///< .code16 (X86) / .code 16 (ARM) 51130803Smarcel MCAF_Code32, ///< .code32 (X86) / .code 32 (ARM) 52130803Smarcel MCAF_Code64 ///< .code64 (X86) 5398944Sobrien}; 5498944Sobrien 5598944Sobrien} // end namespace llvm 5698944Sobrien 57130803Smarcel#endif 5898944Sobrien