clang  mainline
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
clang::TargetInfo Class Reference

Exposes information about the current target. More...

#include <TargetInfo.h>

Inheritance diagram for clang::TargetInfo:
Inheritance graph
[legend]
Collaboration diagram for clang::TargetInfo:
Collaboration graph
[legend]

List of all members.

Classes

struct  AddlRegName
struct  ConstraintInfo
struct  GCCRegAlias

Public Types

enum  IntType {
  NoInt = 0, SignedChar, UnsignedChar, SignedShort,
  UnsignedShort, SignedInt, UnsignedInt, SignedLong,
  UnsignedLong, SignedLongLong, UnsignedLongLong
}
 ===---- Target Data Type Query Methods -------------------------------===// More...
enum  RealType { NoFloat = 255, Float = 0, Double, LongDouble }
enum  BuiltinVaListKind {
  CharPtrBuiltinVaList = 0, VoidPtrBuiltinVaList, AArch64ABIBuiltinVaList, PNaClABIBuiltinVaList,
  PowerABIBuiltinVaList, X86_64ABIBuiltinVaList, AAPCSABIBuiltinVaList, SystemZBuiltinVaList
}
 The different kinds of __builtin_va_list types defined by the target implementation. More...
enum  CallingConvMethodType { CCMT_Unknown, CCMT_Member, CCMT_NonMember }
enum  CallingConvCheckResult { CCCR_OK, CCCR_Warning, CCCR_Ignore }

Public Member Functions

virtual ~TargetInfo ()
TargetOptionsgetTargetOpts () const
 Retrieve the target options.
IntType getSizeType () const
IntType getIntMaxType () const
IntType getUIntMaxType () const
IntType getPtrDiffType (unsigned AddrSpace) const
IntType getIntPtrType () const
IntType getUIntPtrType () const
IntType getWCharType () const
IntType getWIntType () const
IntType getChar16Type () const
IntType getChar32Type () const
IntType getInt64Type () const
IntType getUInt64Type () const
IntType getSigAtomicType () const
IntType getProcessIDType () const
unsigned getTypeWidth (IntType T) const
 Return the width (in bits) of the specified integer type enum.
IntType getIntTypeByWidth (unsigned BitWidth, bool IsSigned) const
 Return integer type with specified width.
IntType getLeastIntTypeByWidth (unsigned BitWidth, bool IsSigned) const
 Return the smallest integer type with at least the specified width.
RealType getRealTypeByWidth (unsigned BitWidth) const
 Return floating point type with specified width.
unsigned getTypeAlign (IntType T) const
 Return the alignment (in bits) of the specified integer type enum.
uint64_t getPointerWidth (unsigned AddrSpace) const
 Return the width of pointers on this target, for the specified address space.
uint64_t getPointerAlign (unsigned AddrSpace) const
unsigned getBoolWidth () const
 Return the size of '_Bool' and C++ 'bool' for this target, in bits.
unsigned getBoolAlign () const
 Return the alignment of '_Bool' and C++ 'bool' for this target.
unsigned getCharWidth () const
unsigned getCharAlign () const
unsigned getShortWidth () const
 Return the size of 'signed short' and 'unsigned short' for this target, in bits.
unsigned getShortAlign () const
 Return the alignment of 'signed short' and 'unsigned short' for this target.
unsigned getIntWidth () const
unsigned getIntAlign () const
unsigned getLongWidth () const
unsigned getLongAlign () const
unsigned getLongLongWidth () const
unsigned getLongLongAlign () const
virtual bool hasInt128Type () const
 Determine whether the __int128 type is supported on this target.
unsigned getSuitableAlign () const
 Return the alignment that is suitable for storing any object with a fundamental alignment requirement.
unsigned getDefaultAlignForAttributeAligned () const
 Return the default alignment for __attribute__((aligned)) on this target, to be used if no alignment value is specified.
unsigned getMinGlobalAlign () const
unsigned getWCharWidth () const
unsigned getWCharAlign () const
unsigned getChar16Width () const
unsigned getChar16Align () const
unsigned getChar32Width () const
unsigned getChar32Align () const
unsigned getHalfWidth () const
 getHalfWidth/Align/Format - Return the size/align/format of 'half'.
unsigned getHalfAlign () const
const llvm::fltSemantics & getHalfFormat () const
unsigned getFloatWidth () const
 getFloatWidth/Align/Format - Return the size/align/format of 'float'.
unsigned getFloatAlign () const
const llvm::fltSemantics & getFloatFormat () const
unsigned getDoubleWidth () const
 getDoubleWidth/Align/Format - Return the size/align/format of 'double'.
unsigned getDoubleAlign () const
const llvm::fltSemantics & getDoubleFormat () const
unsigned getLongDoubleWidth () const
unsigned getLongDoubleAlign () const
const llvm::fltSemantics & getLongDoubleFormat () const
virtual bool useFloat128ManglingForLongDouble () const
 Return true if the 'long double' type should be mangled like __float128.
virtual unsigned getFloatEvalMethod () const
 Return the value for the C99 FLT_EVAL_METHOD macro.
unsigned getLargeArrayMinWidth () const
unsigned getLargeArrayAlign () const
unsigned getMaxAtomicPromoteWidth () const
 Return the maximum width lock-free atomic operation which will ever be supported for the given target.
unsigned getMaxAtomicInlineWidth () const
 Return the maximum width lock-free atomic operation which can be inlined given the supported features of the given target.
virtual bool hasBuiltinAtomic (uint64_t AtomicSizeInBits, uint64_t AlignmentInBits) const
 Returns true if the given target supports lock-free atomic operations at the specified width and alignment.
unsigned getMaxVectorAlign () const
 Return the maximum vector alignment supported for the given target.
unsigned getSimdDefaultAlign () const
 Return default simd alignment for the given target. Generally, this value is type-specific, but this alignment can be used for most of the types for the given target.
unsigned getIntMaxTWidth () const
 Return the size of intmax_t and uintmax_t for this target, in bits.
unsigned getUnwindWordWidth () const
unsigned getRegisterWidth () const
 Return the "preferred" register width on this target.
const char * getUserLabelPrefix () const
 Returns the default value of the __USER_LABEL_PREFIX__ macro, which is the prefix given to user symbols by default.
const char * getMCountName () const
 Returns the name of the mcount instrumentation function.
bool useSignedCharForObjCBool () const
 Check if the Objective-C built-in boolean type should be signed char.
void noSignedCharForObjCBool ()
bool useBitFieldTypeAlignment () const
 Check whether the alignment of bit-field types is respected when laying out structures.
bool useZeroLengthBitfieldAlignment () const
 Check whether zero length bitfields should force alignment of the next member.
unsigned getZeroLengthBitfieldBoundary () const
 Get the fixed alignment value in bits for a member that follows a zero length bitfield.
bool hasAlignMac68kSupport () const
 Check whether this target support '#pragma options align=mac68k'.
const char * getTypeConstantSuffix (IntType T) const
 Return the constant suffix for the specified integer type enum.
bool useObjCFPRetForRealType (RealType T) const
 Check whether the given real type should use the "fpret" flavor of Objective-C message passing on this target.
bool useObjCFP2RetForComplexLongDouble () const
 Check whether _Complex long double should use the "fp2ret" flavor of Objective-C message passing on this target.
bool useAddressSpaceMapMangling () const
 Specify if mangling based on address space map should be used or not for language specific address spaces.
virtual void getTargetDefines (const LangOptions &Opts, MacroBuilder &Builder) const =0
 ===---- Other target property query methods --------------------------===//
virtual void getTargetBuiltins (const Builtin::Info *&Records, unsigned &NumRecords) const =0
virtual bool isCLZForZeroUndef () const
virtual BuiltinVaListKind getBuiltinVaListKind () const =0
 Returns the kind of __builtin_va_list type that should be used with this target.
bool isValidClobber (StringRef Name) const
 Returns whether the passed in string is a valid clobber in an inline asm statement.
bool isValidGCCRegisterName (StringRef Name) const
 Returns whether the passed in string is a valid register name according to GCC.
StringRef getNormalizedGCCRegisterName (StringRef Name) const
 Returns the "normalized" GCC register name.
virtual bool validateCpuSupports (StringRef Name) const
bool validateOutputConstraint (ConstraintInfo &Info) const
bool validateInputConstraint (ConstraintInfo *OutputConstraints, unsigned NumOutputs, ConstraintInfo &info) const
virtual bool validateOutputSize (StringRef, unsigned) const
virtual bool validateInputSize (StringRef, unsigned) const
virtual bool validateConstraintModifier (StringRef, char, unsigned, std::string &) const
bool resolveSymbolicName (const char *&Name, ConstraintInfo *OutputConstraints, unsigned NumOutputs, unsigned &Index) const
virtual std::string convertConstraint (const char *&Constraint) const
virtual bool isNan2008 () const
 Returns true if NaN encoding is IEEE 754-2008. Only MIPS allows a different encoding.
virtual const char * getClobbers () const =0
 Returns a string of target-specific clobbers, in LLVM format.
const llvm::Triple & getTriple () const
 Returns the target triple of the primary target.
const char * getTargetDescription () const
virtual bool hasProtectedVisibility () const
 Does this target support "protected" visibility?
virtual std::string isValidSectionSpecifier (StringRef SR) const
 An optional hook that targets can implement to perform semantic checking on attribute((section("foo"))) specifiers.
virtual void adjust (const LangOptions &Opts)
 Set forced language options.
virtual void getDefaultFeatures (llvm::StringMap< bool > &Features) const
 Get the default set of target features for the CPU; this should include all legal feature strings on the target.
virtual StringRef getABI () const
 Get the ABI currently in use.
TargetCXXABI getCXXABI () const
 Get the C++ ABI currently in use.
virtual bool setCPU (const std::string &Name)
 Target the specified CPU.
virtual bool setABI (const std::string &Name)
 Use the specified ABI.
virtual bool setFPMath (StringRef Name)
 Use the specified unit for FP math.
bool setCXXABI (llvm::StringRef name)
 Use this specified C++ ABI.
virtual bool setCXXABI (TargetCXXABI ABI)
 Set the C++ ABI to be used by this implementation.
virtual void setFeatureEnabled (llvm::StringMap< bool > &Features, StringRef Name, bool Enabled) const
 Enable or disable a specific target feature; the feature name must be valid.
virtual bool handleTargetFeatures (std::vector< std::string > &Features, DiagnosticsEngine &Diags)
 Perform initialization based on the user configured set of features (e.g., +sse4).
virtual bool hasFeature (StringRef Feature) const
 Determine whether the given target has the given feature.
unsigned getRegParmMax () const
bool isTLSSupported () const
 Whether the target supports thread-local storage.
bool hasNoAsmVariants () const
 Return true if {|} are normal characters in the asm string.
virtual int getEHDataRegisterNumber (unsigned RegNo) const
 Return the register number that __builtin_eh_return_regno would return with the specified argument.
virtual const char * getStaticInitSectionSpecifier () const
 Return the section to use for C++ static initialization functions.
const LangAS::MapgetAddressSpaceMap () const
StringRef getPlatformName () const
 Retrieve the name of the platform as it is used in the availability attribute.
VersionTuple getPlatformMinVersion () const
 Retrieve the minimum desired version of the platform, to which the program should be compiled.
bool isBigEndian () const
virtual CallingConv getDefaultCallingConv (CallingConvMethodType MT) const
 Gets the default calling convention for the given target and declaration context.
virtual CallingConvCheckResult checkCallingConvention (CallingConv CC) const
 Determines whether a given calling convention is valid for the target. A calling convention can either be accepted, produce a warning and be substituted with the default calling convention, or (someday) produce an error (such as using thiscall on a non-instance function).
virtual bool hasSjLjLowering () const

Static Public Member Functions

static TargetInfoCreateTargetInfo (DiagnosticsEngine &Diags, const std::shared_ptr< TargetOptions > &Opts)
 Construct a target for the given options.
static IntType getCorrespondingUnsignedType (IntType T)
static bool isTypeSigned (IntType T)
 Returns true if the type is signed; false otherwise.
static const char * getTypeName (IntType T)
 Return the user string for the specified integer type enum.
static const char * getTypeFormatModifier (IntType T)
 Return the printf format modifier for the specified integer type enum.

Protected Member Functions

 TargetInfo (const llvm::Triple &T)
virtual uint64_t getPointerWidthV (unsigned AddrSpace) const
virtual uint64_t getPointerAlignV (unsigned AddrSpace) const
virtual enum IntType getPtrDiffTypeV (unsigned AddrSpace) const
virtual void getGCCRegNames (const char *const *&Names, unsigned &NumNames) const =0
virtual void getGCCRegAliases (const GCCRegAlias *&Aliases, unsigned &NumAliases) const =0
virtual void getGCCAddlRegNames (const AddlRegName *&Addl, unsigned &NumAddl) const
virtual bool validateAsmConstraint (const char *&Name, TargetInfo::ConstraintInfo &info) const =0

Protected Attributes

bool BigEndian
bool TLSSupported
bool NoAsmVariants
unsigned char PointerWidth
unsigned char PointerAlign
unsigned char BoolWidth
unsigned char BoolAlign
unsigned char IntWidth
unsigned char IntAlign
unsigned char HalfWidth
unsigned char HalfAlign
unsigned char FloatWidth
unsigned char FloatAlign
unsigned char DoubleWidth
unsigned char DoubleAlign
unsigned char LongDoubleWidth
unsigned char LongDoubleAlign
unsigned char LargeArrayMinWidth
unsigned char LargeArrayAlign
unsigned char LongWidth
unsigned char LongAlign
unsigned char LongLongWidth
unsigned char LongLongAlign
unsigned char SuitableAlign
unsigned char DefaultAlignForAttributeAligned
unsigned char MinGlobalAlign
unsigned char MaxAtomicPromoteWidth
unsigned char MaxAtomicInlineWidth
unsigned short MaxVectorAlign
unsigned short SimdDefaultAlign
const char * DescriptionString
const char * UserLabelPrefix
const char * MCountName
const llvm::fltSemantics * HalfFormat
const llvm::fltSemantics * FloatFormat
const llvm::fltSemantics * DoubleFormat
const llvm::fltSemantics * LongDoubleFormat
unsigned char RegParmMax
unsigned char SSERegParmMax
TargetCXXABI TheCXXABI
const LangAS::MapAddrSpaceMap
StringRef PlatformName
VersionTuple PlatformMinVersion
unsigned HasAlignMac68kSupport: 1
unsigned RealTypeUsesObjCFPRet: 3
unsigned ComplexLongDoubleUsesFP2Ret: 1
IntType SizeType
IntType IntMaxType
IntType PtrDiffType
IntType IntPtrType
IntType WCharType
IntType WIntType
IntType Char16Type
IntType Char32Type
IntType Int64Type
IntType SigAtomicType
IntType ProcessIDType
unsigned UseSignedCharForObjCBool: 1
 Whether Objective-C's built-in boolean type should be signed char.
unsigned UseBitFieldTypeAlignment: 1
unsigned UseZeroLengthBitfieldAlignment: 1
 Whether zero length bitfields (e.g., int : 0;) force alignment of the next bitfield.
unsigned ZeroLengthBitfieldBoundary
bool UseAddrSpaceMapMangling
 Specify if mangling based on address space map should be used or not for language specific address spaces.

Detailed Description

Exposes information about the current target.

Definition at line 49 of file include/clang/Basic/TargetInfo.h.


Member Enumeration Documentation

The different kinds of __builtin_va_list types defined by the target implementation.

Enumerator:
CharPtrBuiltinVaList 

typedef char* __builtin_va_list;

VoidPtrBuiltinVaList 

typedef void* __builtin_va_list;

AArch64ABIBuiltinVaList 

__builtin_va_list as defind by the AArch64 ABI http://infocenter.arm.com/help/topic/com.arm.doc.ihi0055a/IHI0055A_aapcs64.pdf

PNaClABIBuiltinVaList 

__builtin_va_list as defined by the PNaCl ABI: http://www.chromium.org/nativeclient/pnacl/bitcode-abi#TOC-Machine-Types

PowerABIBuiltinVaList 

__builtin_va_list as defined by the Power ABI: https://www.power.org /resources/downloads/Power-Arch-32-bit-ABI-supp-1.0-Embedded.pdf

X86_64ABIBuiltinVaList 

__builtin_va_list as defined by the x86-64 ABI: http://www.x86-64.org/documentation/abi.pdf

AAPCSABIBuiltinVaList 

__builtin_va_list as defined by ARM AAPCS ABI http://infocenter.arm.com

SystemZBuiltinVaList 

Definition at line 135 of file include/clang/Basic/TargetInfo.h.

Enumerator:
CCCR_OK 
CCCR_Warning 
CCCR_Ignore 

Definition at line 862 of file include/clang/Basic/TargetInfo.h.

Enumerator:
CCMT_Unknown 
CCMT_Member 
CCMT_NonMember 

Definition at line 847 of file include/clang/Basic/TargetInfo.h.

===---- Target Data Type Query Methods -------------------------------===//

Enumerator:
NoInt 
SignedChar 
UnsignedChar 
SignedShort 
UnsignedShort 
SignedInt 
UnsignedInt 
SignedLong 
UnsignedLong 
SignedLongLong 
UnsignedLongLong 

Definition at line 112 of file include/clang/Basic/TargetInfo.h.

Enumerator:
NoFloat 
Float 
Double 
LongDouble 

Definition at line 126 of file include/clang/Basic/TargetInfo.h.


Constructor & Destructor Documentation

TargetInfo::TargetInfo ( const llvm::Triple &  T) [protected]
TargetInfo::~TargetInfo ( ) [virtual]

Definition at line 101 of file Basic/TargetInfo.cpp.


Member Function Documentation

void TargetInfo::adjust ( const LangOptions Opts) [virtual]

Set forced language options.

Apply changes to the target information with respect to certain language options which change the target configuration.

adjust - Set forced language options. Apply changes to the target information with respect to certain language options which change the target configuration.

Definition at line 272 of file Basic/TargetInfo.cpp.

References DoubleAlign, DoubleFormat, DoubleWidth, FloatAlign, FloatFormat, FloatWidth, HalfAlign, HalfFormat, HalfWidth, Int64Type, IntAlign, IntMaxType, IntPtrType, IntWidth, LongAlign, LongDoubleAlign, LongDoubleFormat, LongDoubleWidth, LongLongAlign, LongLongWidth, LongWidth, PointerWidth, PtrDiffType, SignedInt, SignedLong, SignedLongLong, SizeType, UnsignedInt, UnsignedLong, UnsignedShort, UseBitFieldTypeAlignment, and WCharType.

Referenced by clang::CompilerInstance::ExecuteAction().

Determines whether a given calling convention is valid for the target. A calling convention can either be accepted, produce a warning and be substituted with the default calling convention, or (someday) produce an error (such as using thiscall on a non-instance function).

Definition at line 872 of file include/clang/Basic/TargetInfo.h.

References clang::CC_C, CCCR_OK, and CCCR_Warning.

Referenced by clang::Sema::CheckCallingConvAttr().

virtual std::string clang::TargetInfo::convertConstraint ( const char *&  Constraint) const [inline, virtual]

Definition at line 653 of file include/clang/Basic/TargetInfo.h.

Referenced by SimplifyConstraint().

TargetInfo * TargetInfo::CreateTargetInfo ( DiagnosticsEngine Diags,
const std::shared_ptr< TargetOptions > &  Opts 
) [static]

Construct a target for the given options.

Parameters:
Opts- The options to use to initialize the target. The target may modify the options to canonicalize the target feature information to match what the backend expects.

CreateTargetInfo - Return the target info object for the specified target triple.

Definition at line 7323 of file Targets.cpp.

References AllocateTarget(), and clang::DiagnosticsEngine::Report().

Referenced by clang::ASTUnit::CodeComplete(), clang::createChainedIncludesSource(), clang::CompilerInstance::ExecuteAction(), and clang::ASTUnit::LoadFromCompilerInvocationAction().

virtual StringRef clang::TargetInfo::getABI ( ) const [inline, virtual]

Get the ABI currently in use.

Definition at line 729 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::CodeGen::CodeGenModule::getTargetCodeGenInfo().

Definition at line 833 of file include/clang/Basic/TargetInfo.h.

References AddrSpaceMap.

Referenced by getAddressSpaceMap().

Return the alignment of '_Bool' and C++ 'bool' for this target.

Definition at line 284 of file include/clang/Basic/TargetInfo.h.

References BoolAlign.

Return the size of '_Bool' and C++ 'bool' for this target, in bits.

Definition at line 281 of file include/clang/Basic/TargetInfo.h.

References BoolWidth.

Returns the kind of __builtin_va_list type that should be used with this target.

Referenced by clang::ASTContext::getBuiltinVaListDecl().

Definition at line 337 of file include/clang/Basic/TargetInfo.h.

References Char16Type, and getTypeAlign().

Definition at line 223 of file include/clang/Basic/TargetInfo.h.

References Char16Type.

Referenced by InitializePredefinedMacros().

getChar16Width/Align - Return the size of 'char16_t' for this target, in bits.

Definition at line 336 of file include/clang/Basic/TargetInfo.h.

References Char16Type, and getTypeWidth().

Referenced by EvaluateValue(), and getCharWidth().

Definition at line 342 of file include/clang/Basic/TargetInfo.h.

References Char32Type, and getTypeAlign().

Definition at line 224 of file include/clang/Basic/TargetInfo.h.

References Char32Type.

Referenced by InitializePredefinedMacros().

getChar32Width/Align - Return the size of 'char32_t' for this target, in bits.

Definition at line 341 of file include/clang/Basic/TargetInfo.h.

References Char32Type, and getTypeWidth().

Referenced by EvaluateValue(), and getCharWidth().

virtual const char* clang::TargetInfo::getClobbers ( ) const [pure virtual]

Returns a string of target-specific clobbers, in LLVM format.

Referenced by clang::CodeGen::CodeGenFunction::EmitAsmStmt().

Return the default alignment for __attribute__((aligned)) on this target, to be used if no alignment value is specified.

Definition at line 321 of file include/clang/Basic/TargetInfo.h.

References DefaultAlignForAttributeAligned.

Referenced by clang::ASTContext::getTargetDefaultAlignForAttributeAligned().

Gets the default calling convention for the given target and declaration context.

Definition at line 855 of file include/clang/Basic/TargetInfo.h.

References clang::CC_C.

Referenced by clang::Sema::CheckCallingConvAttr(), and clang::ASTContext::getDefaultCallingConvention().

virtual void clang::TargetInfo::getDefaultFeatures ( llvm::StringMap< bool > &  Features) const [inline, virtual]

Get the default set of target features for the CPU; this should include all legal feature strings on the target.

Definition at line 725 of file include/clang/Basic/TargetInfo.h.

Definition at line 356 of file include/clang/Basic/TargetInfo.h.

References DoubleAlign.

const llvm::fltSemantics& clang::TargetInfo::getDoubleFormat ( ) const [inline]

getDoubleWidth/Align/Format - Return the size/align/format of 'double'.

Definition at line 355 of file include/clang/Basic/TargetInfo.h.

References DoubleWidth.

Referenced by getRealTypeByWidth(), and InitializePredefinedMacros().

virtual int clang::TargetInfo::getEHDataRegisterNumber ( unsigned  RegNo) const [inline, virtual]

Return the register number that __builtin_eh_return_regno would return with the specified argument.

Definition at line 824 of file include/clang/Basic/TargetInfo.h.

Definition at line 351 of file include/clang/Basic/TargetInfo.h.

References FloatAlign.

virtual unsigned clang::TargetInfo::getFloatEvalMethod ( ) const [inline, virtual]

Return the value for the C99 FLT_EVAL_METHOD macro.

Definition at line 372 of file include/clang/Basic/TargetInfo.h.

Referenced by InitializePredefinedMacros().

const llvm::fltSemantics& clang::TargetInfo::getFloatFormat ( ) const [inline]

getFloatWidth/Align/Format - Return the size/align/format of 'float'.

Definition at line 350 of file include/clang/Basic/TargetInfo.h.

References FloatWidth.

Referenced by getRealTypeByWidth(), and InitializePredefinedMacros().

virtual void clang::TargetInfo::getGCCAddlRegNames ( const AddlRegName *&  Addl,
unsigned NumAddl 
) const [inline, protected, virtual]
virtual void clang::TargetInfo::getGCCRegAliases ( const GCCRegAlias *&  Aliases,
unsigned NumAliases 
) const [protected, pure virtual]
virtual void clang::TargetInfo::getGCCRegNames ( const char *const *&  Names,
unsigned NumNames 
) const [protected, pure virtual]

Definition at line 346 of file include/clang/Basic/TargetInfo.h.

References HalfAlign.

const llvm::fltSemantics& clang::TargetInfo::getHalfFormat ( ) const [inline]

Definition at line 347 of file include/clang/Basic/TargetInfo.h.

References HalfFormat.

Referenced by clang::ASTContext::getFloatTypeSemantics().

getHalfWidth/Align/Format - Return the size/align/format of 'half'.

Definition at line 345 of file include/clang/Basic/TargetInfo.h.

References HalfWidth.

Definition at line 300 of file include/clang/Basic/TargetInfo.h.

References IntAlign.

Referenced by getInitThreadEpochPtr(), and getTypeAlign().

Return the size of intmax_t and uintmax_t for this target, in bits.

Definition at line 403 of file include/clang/Basic/TargetInfo.h.

References getTypeWidth(), and IntMaxType.

Referenced by clang::Sema::ActOnNumericConstant().

TargetInfo::IntType TargetInfo::getIntTypeByWidth ( unsigned  BitWidth,
bool  IsSigned 
) const

Definition at line 377 of file include/clang/Basic/TargetInfo.h.

References LargeArrayAlign.

Referenced by clang::ASTContext::getDeclAlign().

Definition at line 376 of file include/clang/Basic/TargetInfo.h.

References LargeArrayMinWidth.

Referenced by clang::ASTContext::getDeclAlign().

Definition at line 305 of file include/clang/Basic/TargetInfo.h.

References LongAlign.

Referenced by getTypeAlign().

Definition at line 362 of file include/clang/Basic/TargetInfo.h.

References LongDoubleAlign.

const llvm::fltSemantics& clang::TargetInfo::getLongDoubleFormat ( ) const [inline]

getLongDoubleWidth/Align/Format - Return the size/align/format of 'long double'.

Definition at line 361 of file include/clang/Basic/TargetInfo.h.

References LongDoubleWidth.

Referenced by InitializePredefinedMacros().

Definition at line 310 of file include/clang/Basic/TargetInfo.h.

References LongLongAlign.

Referenced by getTypeAlign().

getLongLongWidth/Align - Return the size of 'signed long long' and 'unsigned long long' for this target, in bits.

Definition at line 309 of file include/clang/Basic/TargetInfo.h.

References LongLongWidth.

Referenced by clang::Sema::ActOnEnumBody(), clang::Sema::ActOnGNUNullExpr(), clang::Sema::ActOnNumericConstant(), getIntTypeByWidth(), getLeastIntTypeByWidth(), getTypeWidth(), and InitializePredefinedMacros().

getLongWidth/Align - Return the size of 'signed long' and 'unsigned long' for this target, in bits.

Definition at line 304 of file include/clang/Basic/TargetInfo.h.

References LongWidth.

Referenced by clang::Sema::ActOnEnumBody(), clang::Sema::ActOnGNUNullExpr(), clang::Sema::ActOnNumericConstant(), getIntTypeByWidth(), getLeastIntTypeByWidth(), getObjCEncodingForPrimitiveKind(), getTypeWidth(), and InitializePredefinedMacros().

Return the maximum width lock-free atomic operation which can be inlined given the supported features of the given target.

Definition at line 384 of file include/clang/Basic/TargetInfo.h.

References MaxAtomicInlineWidth.

Referenced by clang::ASTContext::AtomicUsesUnsupportedLibcall(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), hasBuiltinAtomic(), and InitializePredefinedMacros().

Return the maximum width lock-free atomic operation which will ever be supported for the given target.

Definition at line 381 of file include/clang/Basic/TargetInfo.h.

References MaxAtomicPromoteWidth.

Return the maximum vector alignment supported for the given target.

Definition at line 396 of file include/clang/Basic/TargetInfo.h.

References MaxVectorAlign.

const char* clang::TargetInfo::getMCountName ( ) const [inline]

Returns the name of the mcount instrumentation function.

Definition at line 427 of file include/clang/Basic/TargetInfo.h.

References MCountName.

getMinGlobalAlign - Return the minimum alignment of a global variable, unless its alignment is explicitly reduced via attributes.

Definition at line 327 of file include/clang/Basic/TargetInfo.h.

References MinGlobalAlign.

Referenced by clang::ASTContext::getDeclAlign().

StringRef TargetInfo::getNormalizedGCCRegisterName ( StringRef  Name) const

Returns the "normalized" GCC register name.

For example, on x86 it will return "ax" when "eax" is passed in.

Definition at line 393 of file Basic/TargetInfo.cpp.

References getGCCAddlRegNames(), getGCCRegAliases(), getGCCRegNames(), clang::isDigit(), isValidGCCRegisterName(), and removeGCCRegisterPrefix().

Referenced by AddVariableConstraints(), and clang::CodeGen::CodeGenFunction::EmitAsmStmt().

Retrieve the minimum desired version of the platform, to which the program should be compiled.

Definition at line 843 of file include/clang/Basic/TargetInfo.h.

References PlatformMinVersion.

Referenced by CheckAvailability().

StringRef clang::TargetInfo::getPlatformName ( ) const [inline]

Retrieve the name of the platform as it is used in the availability attribute.

Definition at line 839 of file include/clang/Basic/TargetInfo.h.

References PlatformName.

Referenced by CheckAvailability().

uint64_t clang::TargetInfo::getPointerAlign ( unsigned  AddrSpace) const [inline]
virtual uint64_t clang::TargetInfo::getPointerAlignV ( unsigned  AddrSpace) const [inline, protected, virtual]

Definition at line 891 of file include/clang/Basic/TargetInfo.h.

References PointerAlign.

Referenced by getPointerAlign().

uint64_t clang::TargetInfo::getPointerWidth ( unsigned  AddrSpace) const [inline]
virtual uint64_t clang::TargetInfo::getPointerWidthV ( unsigned  AddrSpace) const [inline, protected, virtual]

Definition at line 888 of file include/clang/Basic/TargetInfo.h.

References PointerWidth.

Referenced by getPointerWidth().

Definition at line 230 of file include/clang/Basic/TargetInfo.h.

References ProcessIDType.

Referenced by clang::ASTContext::getProcessIDType().

IntType clang::TargetInfo::getPtrDiffType ( unsigned  AddrSpace) const [inline]
virtual enum IntType clang::TargetInfo::getPtrDiffTypeV ( unsigned  AddrSpace) const [inline, protected, virtual]

Definition at line 894 of file include/clang/Basic/TargetInfo.h.

References PtrDiffType.

Referenced by getPtrDiffType().

Return floating point type with specified width.

Definition at line 210 of file Basic/TargetInfo.cpp.

References Double, Float, getDoubleWidth(), getFloatWidth(), getLongDoubleFormat(), LongDouble, and NoFloat.

Referenced by clang::ASTContext::getRealTypeForBitwidth().

Return the "preferred" register width on this target.

Definition at line 411 of file include/clang/Basic/TargetInfo.h.

References PointerWidth.

Definition at line 802 of file include/clang/Basic/TargetInfo.h.

References RegParmMax.

Referenced by clang::Sema::CheckRegparmAttr().

Return the alignment of 'signed short' and 'unsigned short' for this target.

Definition at line 295 of file include/clang/Basic/TargetInfo.h.

Referenced by getTypeAlign().

Return the size of 'signed short' and 'unsigned short' for this target, in bits.

Definition at line 291 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::ActOnEnumBody(), getIntTypeByWidth(), getLeastIntTypeByWidth(), getTypeConstantSuffix(), getTypeWidth(), and InitializePredefinedMacros().

Definition at line 229 of file include/clang/Basic/TargetInfo.h.

References SigAtomicType.

Referenced by InitializePredefinedMacros().

Return default simd alignment for the given target. Generally, this value is type-specific, but this alignment can be used for most of the types for the given target.

Definition at line 400 of file include/clang/Basic/TargetInfo.h.

References SimdDefaultAlign.

Referenced by clang::ASTContext::getOpenMPDefaultSimdAlign().

virtual const char* clang::TargetInfo::getStaticInitSectionSpecifier ( ) const [inline, virtual]

Return the section to use for C++ static initialization functions.

Definition at line 829 of file include/clang/Basic/TargetInfo.h.

Return the alignment that is suitable for storing any object with a fundamental alignment requirement.

Definition at line 317 of file include/clang/Basic/TargetInfo.h.

References SuitableAlign.

Referenced by clang::Sema::BuildCXXNew(), and InitializePredefinedMacros().

virtual void clang::TargetInfo::getTargetBuiltins ( const Builtin::Info *&  Records,
unsigned NumRecords 
) const [pure virtual]

Return information about target-specific builtins for the current primary target, and info about which builtins are non-portable across the current set of primary and secondary targets.

Referenced by clang::Builtin::Context::InitializeTarget().

virtual void clang::TargetInfo::getTargetDefines ( const LangOptions Opts,
MacroBuilder Builder 
) const [pure virtual]

===---- Other target property query methods --------------------------===//

Appends the target-specific #define values for this target set to the specified buffer.

Referenced by InitializePredefinedMacros().

const char* clang::TargetInfo::getTargetDescription ( ) const [inline]

Retrieve the target options.

Definition at line 106 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList().

const llvm::Triple& clang::TargetInfo::getTriple ( ) const [inline]

Return the alignment (in bits) of the specified integer type enum.

For example, SignedInt -> getIntAlign().

getTypeAlign - Return the alignment (in bits) of the specified integer type enum. For example, SignedInt -> getIntAlign().

Definition at line 233 of file Basic/TargetInfo.cpp.

References getCharAlign(), getIntAlign(), getLongAlign(), getLongLongAlign(), getShortAlign(), SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.

Referenced by getChar16Align(), getChar32Align(), and getWCharAlign().

const char * TargetInfo::getTypeConstantSuffix ( IntType  T) const

Return the constant suffix for the specified integer type enum.

For example, SignedLong -> "L".

getTypeConstantSuffix - Return the constant suffix for the specified integer type enum. For example, SignedLong -> "L".

Definition at line 123 of file Basic/TargetInfo.cpp.

References getCharWidth(), getIntWidth(), getShortWidth(), SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.

Referenced by DefineExactWidthIntType(), DefineTypeSize(), and InitializePredefinedMacros().

const char * TargetInfo::getTypeFormatModifier ( IntType  T) [static]

Return the printf format modifier for the specified integer type enum.

For example, SignedLong -> "l".

getTypeFormatModifier - Return the printf format modifier for the specified integer type enum. For example, SignedLong -> "l".

Definition at line 146 of file Basic/TargetInfo.cpp.

References SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.

Referenced by DefineFmt().

const char * TargetInfo::getTypeName ( IntType  T) [static]

Return the user string for the specified integer type enum.

For example, SignedShort -> "short".

getTypeName - Return the user string for the specified integer type enum. For example, SignedShort -> "short".

Definition at line 105 of file Basic/TargetInfo.cpp.

References SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.

Referenced by DefineType().

Return the width (in bits) of the specified integer type enum.

For example, SignedInt -> getIntWidth().

getTypeWidth - Return the width (in bits) of the specified integer type enum. For example, SignedInt -> getIntWidth().

Definition at line 164 of file Basic/TargetInfo.cpp.

References getCharWidth(), getIntWidth(), getLongLongWidth(), getLongWidth(), getShortWidth(), SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.

Referenced by DefineExactWidthIntType(), DefineExactWidthIntTypeSize(), DefineTypeSize(), DefineTypeWidth(), getChar16Width(), getChar32Width(), getIntMaxTWidth(), getWCharWidth(), and InitializePredefinedMacros().

Definition at line 408 of file include/clang/Basic/TargetInfo.h.

References getPointerWidth().

Referenced by handleModeAttr().

const char* clang::TargetInfo::getUserLabelPrefix ( ) const [inline]

Returns the default value of the __USER_LABEL_PREFIX__ macro, which is the prefix given to user symbols by default.

On most platforms this is "_", but it is "" on some, and "." on others.

Definition at line 422 of file include/clang/Basic/TargetInfo.h.

References UserLabelPrefix.

Referenced by InitializePredefinedMacros(), and clang::MangleContext::mangleName().

Definition at line 332 of file include/clang/Basic/TargetInfo.h.

References getTypeAlign(), and WCharType.

Definition at line 221 of file include/clang/Basic/TargetInfo.h.

References WCharType.

Referenced by EvaluateValue(), and InitializePredefinedMacros().

getWCharWidth/Align - Return the size of 'wchar_t' for this target, in bits.

Definition at line 331 of file include/clang/Basic/TargetInfo.h.

References getTypeWidth(), and WCharType.

Referenced by clang::CharLiteralParser::CharLiteralParser(), EvaluateValue(), and getCharWidth().

Definition at line 222 of file include/clang/Basic/TargetInfo.h.

References WIntType.

Referenced by InitializePredefinedMacros().

Get the fixed alignment value in bits for a member that follows a zero length bitfield.

Definition at line 457 of file include/clang/Basic/TargetInfo.h.

References ZeroLengthBitfieldBoundary.

virtual bool clang::TargetInfo::handleTargetFeatures ( std::vector< std::string > &  Features,
DiagnosticsEngine Diags 
) [inline, virtual]

Perform initialization based on the user configured set of features (e.g., +sse4).

The list is guaranteed to have at most one entry per feature.

The target may modify the features list, to change which options are passed onwards to the backend.

Returns:
False on error.

Definition at line 791 of file include/clang/Basic/TargetInfo.h.

Check whether this target support '#pragma options align=mac68k'.

Definition at line 462 of file include/clang/Basic/TargetInfo.h.

References HasAlignMac68kSupport.

virtual bool clang::TargetInfo::hasBuiltinAtomic ( uint64_t  AtomicSizeInBits,
uint64_t  AlignmentInBits 
) const [inline, virtual]

Returns true if the given target supports lock-free atomic operations at the specified width and alignment.

Definition at line 387 of file include/clang/Basic/TargetInfo.h.

References getCharWidth(), and getMaxAtomicInlineWidth().

Referenced by emitOMPAtomicRMW(), and clang::CodeGen::CodeGenFunction::typeIsSuitableForInlineAtomic().

virtual bool clang::TargetInfo::hasFeature ( StringRef  Feature) const [inline, virtual]

Determine whether the given target has the given feature.

Definition at line 797 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::DeclSpec::Finish(), HandleNeonVectorTypeAttr(), and hasFeature().

virtual bool clang::TargetInfo::hasInt128Type ( ) const [inline, virtual]

Determine whether the __int128 type is supported on this target.

Definition at line 313 of file include/clang/Basic/TargetInfo.h.

References getPointerWidth().

Referenced by clang::Sema::ActOnNumericConstant(), ConvertDeclSpecToType(), clang::Sema::Initialize(), and InitializePredefinedMacros().

Return true if {|} are normal characters in the asm string.

If this returns false (the default), then {abc|xyz} is syntax that says that when compiling for asm variant #0, "abc" should be generated, but when compiling for asm variant #1, "xyz" should be generated.

Definition at line 818 of file include/clang/Basic/TargetInfo.h.

References NoAsmVariants.

Referenced by clang::GCCAsmStmt::AnalyzeAsmString().

virtual bool clang::TargetInfo::hasProtectedVisibility ( ) const [inline, virtual]

Does this target support "protected" visibility?

Any target which dynamic libraries will naturally support something like "default" (meaning that the symbol is visible outside this shared object) and "hidden" (meaning that it isn't) visibilities, but "protected" is really an ELF-specific concept with weird semantics designed around the convenience of dynamic linker implementations. Which is not to suggest that there's consistent target-independent semantics for "default" visibility either; the entire thing is pretty badly mangled.

Definition at line 700 of file include/clang/Basic/TargetInfo.h.

Referenced by handleVisibilityAttr().

virtual bool clang::TargetInfo::hasSjLjLowering ( ) const [inline, virtual]

Controls if __builtin_longjmp / __builtin_setjmp can be lowered to llvm.eh.sjlj.longjmp / llvm.eh.sjlj.setjmp.

Definition at line 883 of file include/clang/Basic/TargetInfo.h.

Definition at line 845 of file include/clang/Basic/TargetInfo.h.

References BigEndian.

Referenced by InitializePredefinedMacros().

virtual bool clang::TargetInfo::isCLZForZeroUndef ( ) const [inline, virtual]

The __builtin_clz* and __builtin_ctz* built-in functions are specified to have undefined results for zero inputs, but on targets that support these operations in a way that provides well-defined results for zero without loss of performance, it is a good idea to avoid optimizing based on that undef behavior.

Definition at line 519 of file include/clang/Basic/TargetInfo.h.

virtual bool clang::TargetInfo::isNan2008 ( ) const [inline, virtual]

Returns true if NaN encoding is IEEE 754-2008. Only MIPS allows a different encoding.

Definition at line 662 of file include/clang/Basic/TargetInfo.h.

Referenced by TryEvaluateBuiltinNaN().

Whether the target supports thread-local storage.

Definition at line 808 of file include/clang/Basic/TargetInfo.h.

References TLSSupported.

Referenced by clang::Sema::ActOnVariableDeclarator(), handleDeclspecThreadAttr(), HasExtension(), hasFeature(), and HasFeature().

Returns true if the type is signed; false otherwise.

isTypeSigned - Return whether an integer types is signed. Returns true if the type is signed; false otherwise.

Definition at line 251 of file Basic/TargetInfo.cpp.

References SignedChar, SignedInt, SignedLong, SignedLongLong, SignedShort, UnsignedChar, UnsignedInt, UnsignedLong, UnsignedLongLong, and UnsignedShort.

Referenced by DefineExactWidthIntType(), DefineExactWidthIntTypeSize(), DefineFmt(), DefineTypeSize(), EvaluateValue(), clang::ASTContext::InitBuiltinTypes(), and InitializePredefinedMacros().

bool TargetInfo::isValidClobber ( StringRef  Name) const

Returns whether the passed in string is a valid clobber in an inline asm statement.

This is used by Sema.

isValidClobber - Returns whether the passed in string is a valid clobber in an inline asm statement. This is used by Sema.

Definition at line 326 of file Basic/TargetInfo.cpp.

References isValidGCCRegisterName().

Referenced by clang::Sema::ActOnGCCAsmStmt().

bool TargetInfo::isValidGCCRegisterName ( StringRef  Name) const

Returns whether the passed in string is a valid register name according to GCC.

This is used by Sema for inline asm statements.

isValidGCCRegisterName - Returns whether the passed in string is a valid register name according to GCC. This is used by Sema for inline asm statements.

Definition at line 334 of file Basic/TargetInfo.cpp.

References getGCCAddlRegNames(), getGCCRegAliases(), getGCCRegNames(), clang::isDigit(), and removeGCCRegisterPrefix().

Referenced by clang::Sema::ActOnVariableDeclarator(), AddVariableConstraints(), getNormalizedGCCRegisterName(), and isValidClobber().

virtual std::string clang::TargetInfo::isValidSectionSpecifier ( StringRef  SR) const [inline, virtual]

An optional hook that targets can implement to perform semantic checking on attribute((section("foo"))) specifiers.

In this case, "foo" is passed in to be checked. If the section specifier is invalid, the backend should return a non-empty string that indicates the problem.

This hook is a simple quality of implementation feature to catch errors and give good diagnostics in cases when the assembler or code generator would otherwise reject the section specifier.

Definition at line 713 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::checkSectionName(), and handleSectionAttr().

bool TargetInfo::resolveSymbolicName ( const char *&  Name,
ConstraintInfo OutputConstraints,
unsigned  NumOutputs,
unsigned Index 
) const

Definition at line 514 of file Basic/TargetInfo.cpp.

Referenced by SimplifyConstraint(), and validateInputConstraint().

virtual bool clang::TargetInfo::setABI ( const std::string &  Name) [inline, virtual]

Use the specified ABI.

Returns:
False on error (invalid ABI name).

Definition at line 746 of file include/clang/Basic/TargetInfo.h.

virtual bool clang::TargetInfo::setCPU ( const std::string &  Name) [inline, virtual]

Target the specified CPU.

Returns:
False on error (invalid CPU name).

Definition at line 739 of file include/clang/Basic/TargetInfo.h.

bool clang::TargetInfo::setCXXABI ( llvm::StringRef  name) [inline]

Use this specified C++ ABI.

Returns:
False on error (invalid C++ ABI name).

Definition at line 760 of file include/clang/Basic/TargetInfo.h.

References clang::TargetCXXABI::tryParse().

virtual bool clang::TargetInfo::setCXXABI ( TargetCXXABI  ABI) [inline, virtual]

Set the C++ ABI to be used by this implementation.

Returns:
False on error (ABI not valid on this target)

Definition at line 769 of file include/clang/Basic/TargetInfo.h.

References TheCXXABI.

virtual void clang::TargetInfo::setFeatureEnabled ( llvm::StringMap< bool > &  Features,
StringRef  Name,
bool  Enabled 
) const [inline, virtual]

Enable or disable a specific target feature; the feature name must be valid.

Definition at line 776 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::CodeGen::CodeGenModule::ConstructAttributeList().

virtual bool clang::TargetInfo::setFPMath ( StringRef  Name) [inline, virtual]

Use the specified unit for FP math.

Returns:
False on error (invalid unit name).

Definition at line 753 of file include/clang/Basic/TargetInfo.h.

Specify if mangling based on address space map should be used or not for language specific address spaces.

Definition at line 496 of file include/clang/Basic/TargetInfo.h.

References UseAddrSpaceMapMangling.

Referenced by isAddrSpaceMapManglingEnabled().

Check whether the alignment of bit-field types is respected when laying out structures.

Definition at line 445 of file include/clang/Basic/TargetInfo.h.

References UseBitFieldTypeAlignment.

virtual bool clang::TargetInfo::useFloat128ManglingForLongDouble ( ) const [inline, virtual]

Return true if the 'long double' type should be mangled like __float128.

Definition at line 369 of file include/clang/Basic/TargetInfo.h.

Check whether _Complex long double should use the "fp2ret" flavor of Objective-C message passing on this target.

Definition at line 490 of file include/clang/Basic/TargetInfo.h.

References ComplexLongDoubleUsesFP2Ret.

Referenced by clang::CodeGen::CodeGenModule::ReturnTypeUsesFP2Ret().

Check whether the given real type should use the "fpret" flavor of Objective-C message passing on this target.

Definition at line 484 of file include/clang/Basic/TargetInfo.h.

References RealTypeUsesObjCFPRet.

Referenced by clang::CodeGen::CodeGenModule::ReturnTypeUsesFPRet().

Check if the Objective-C built-in boolean type should be signed char.

Otherwise, if this returns false, the normal built-in boolean type should also be used for Objective-C.

Definition at line 436 of file include/clang/Basic/TargetInfo.h.

References UseSignedCharForObjCBool.

Check whether zero length bitfields should force alignment of the next member.

Definition at line 451 of file include/clang/Basic/TargetInfo.h.

References UseZeroLengthBitfieldAlignment.

virtual bool clang::TargetInfo::validateAsmConstraint ( const char *&  Name,
TargetInfo::ConstraintInfo info 
) const [protected, pure virtual]
virtual bool clang::TargetInfo::validateConstraintModifier ( StringRef  ,
char  ,
unsigned  ,
std::string &   
) const [inline, virtual]

Definition at line 640 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::ActOnGCCAsmStmt().

virtual bool clang::TargetInfo::validateCpuSupports ( StringRef  Name) const [inline, virtual]

Definition at line 620 of file include/clang/Basic/TargetInfo.h.

bool TargetInfo::validateInputConstraint ( ConstraintInfo OutputConstraints,
unsigned  NumOutputs,
ConstraintInfo info 
) const
virtual bool clang::TargetInfo::validateInputSize ( StringRef  ,
unsigned   
) const [inline, virtual]

Definition at line 635 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::ActOnGCCAsmStmt().

virtual bool clang::TargetInfo::validateOutputSize ( StringRef  ,
unsigned   
) const [inline, virtual]

Definition at line 630 of file include/clang/Basic/TargetInfo.h.

Referenced by clang::Sema::ActOnGCCAsmStmt().


Member Data Documentation

Definition at line 81 of file include/clang/Basic/TargetInfo.h.

Referenced by getAddressSpaceMap(), and TargetInfo().

Definition at line 55 of file include/clang/Basic/TargetInfo.h.

Referenced by isBigEndian(), and TargetInfo().

Definition at line 59 of file include/clang/Basic/TargetInfo.h.

Referenced by getBoolAlign(), and TargetInfo().

Definition at line 59 of file include/clang/Basic/TargetInfo.h.

Referenced by getBoolWidth(), and TargetInfo().

const char* clang::TargetInfo::DescriptionString [protected]

Definition at line 74 of file include/clang/Basic/TargetInfo.h.

Referenced by getTargetDescription(), and TargetInfo().

Definition at line 63 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getDoubleAlign(), and TargetInfo().

const llvm::fltSemantics * clang::TargetInfo::DoubleFormat [protected]

Definition at line 77 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getDoubleFormat(), and TargetInfo().

Definition at line 63 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getDoubleWidth(), and TargetInfo().

Definition at line 62 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getFloatAlign(), and TargetInfo().

const llvm::fltSemantics * clang::TargetInfo::FloatFormat [protected]

Definition at line 77 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getFloatFormat(), and TargetInfo().

Definition at line 62 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getFloatWidth(), and TargetInfo().

Definition at line 61 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getHalfAlign(), and TargetInfo().

const llvm::fltSemantics* clang::TargetInfo::HalfFormat [protected]

Definition at line 77 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getHalfFormat(), and TargetInfo().

Definition at line 61 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getHalfWidth(), and TargetInfo().

Definition at line 86 of file include/clang/Basic/TargetInfo.h.

Referenced by hasAlignMac68kSupport(), and TargetInfo().

Definition at line 175 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getInt64Type(), getUInt64Type(), and TargetInfo().

Definition at line 60 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getIntAlign(), and TargetInfo().

Definition at line 60 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getIntWidth(), and TargetInfo().

Definition at line 65 of file include/clang/Basic/TargetInfo.h.

Referenced by getLargeArrayAlign(), and TargetInfo().

Definition at line 65 of file include/clang/Basic/TargetInfo.h.

Referenced by getLargeArrayMinWidth(), and TargetInfo().

Definition at line 66 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getLongAlign(), and TargetInfo().

Definition at line 64 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getLongDoubleAlign(), and TargetInfo().

const llvm::fltSemantics * clang::TargetInfo::LongDoubleFormat [protected]

Definition at line 77 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getLongDoubleFormat(), and TargetInfo().

Definition at line 64 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getLongDoubleWidth(), and TargetInfo().

Definition at line 67 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getLongLongAlign(), and TargetInfo().

Definition at line 67 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getLongLongWidth(), and TargetInfo().

Definition at line 66 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getLongWidth(), and TargetInfo().

Definition at line 71 of file include/clang/Basic/TargetInfo.h.

Referenced by getMaxAtomicInlineWidth(), and TargetInfo().

Definition at line 71 of file include/clang/Basic/TargetInfo.h.

Referenced by getMaxAtomicPromoteWidth(), and TargetInfo().

Definition at line 72 of file include/clang/Basic/TargetInfo.h.

Referenced by getMaxVectorAlign(), and TargetInfo().

const char* clang::TargetInfo::MCountName [protected]

Definition at line 76 of file include/clang/Basic/TargetInfo.h.

Referenced by getMCountName(), and TargetInfo().

Definition at line 70 of file include/clang/Basic/TargetInfo.h.

Referenced by getMinGlobalAlign(), and TargetInfo().

Definition at line 57 of file include/clang/Basic/TargetInfo.h.

Referenced by hasNoAsmVariants(), and TargetInfo().

Definition at line 84 of file include/clang/Basic/TargetInfo.h.

Referenced by getPlatformMinVersion(), and TargetInfo().

StringRef clang::TargetInfo::PlatformName [mutable, protected]

Definition at line 83 of file include/clang/Basic/TargetInfo.h.

Referenced by getPlatformName(), and TargetInfo().

Definition at line 58 of file include/clang/Basic/TargetInfo.h.

Referenced by getPointerAlign(), getPointerAlignV(), and TargetInfo().

Definition at line 175 of file include/clang/Basic/TargetInfo.h.

Referenced by getProcessIDType(), and TargetInfo().

Definition at line 87 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo(), and useObjCFPRetForRealType().

Definition at line 79 of file include/clang/Basic/TargetInfo.h.

Referenced by getRegParmMax(), and TargetInfo().

Definition at line 175 of file include/clang/Basic/TargetInfo.h.

Referenced by getSigAtomicType(), and TargetInfo().

Definition at line 73 of file include/clang/Basic/TargetInfo.h.

Referenced by getSimdDefaultAlign(), and TargetInfo().

Definition at line 175 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), getSizeType(), and TargetInfo().

Definition at line 79 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo().

Definition at line 68 of file include/clang/Basic/TargetInfo.h.

Referenced by getSuitableAlign(), and TargetInfo().

Definition at line 80 of file include/clang/Basic/TargetInfo.h.

Referenced by getCXXABI(), setCXXABI(), and TargetInfo().

Definition at line 56 of file include/clang/Basic/TargetInfo.h.

Referenced by isTLSSupported(), and TargetInfo().

Specify if mangling based on address space map should be used or not for language specific address spaces.

Definition at line 206 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo(), and useAddressSpaceMapMangling().

Control whether the alignment of bit-field types is respected when laying out structures. If true, then the alignment of the bit-field type will be used to (a) impact the alignment of the containing structure, and (b) ensure that the individual bit-field will not straddle an alignment boundary.

Definition at line 190 of file include/clang/Basic/TargetInfo.h.

Referenced by adjust(), TargetInfo(), and useBitFieldTypeAlignment().

const char* clang::TargetInfo::UserLabelPrefix [protected]

Definition at line 75 of file include/clang/Basic/TargetInfo.h.

Referenced by getUserLabelPrefix(), and TargetInfo().

Whether Objective-C's built-in boolean type should be signed char.

Otherwise, when this flag is not set, the normal built-in boolean type is used.

Definition at line 183 of file include/clang/Basic/TargetInfo.h.

Referenced by noSignedCharForObjCBool(), TargetInfo(), and useSignedCharForObjCBool().

Whether zero length bitfields (e.g., int : 0;) force alignment of the next bitfield.

If the alignment of the zero length bitfield is greater than the member that follows it, `bar', `bar' will be aligned as the type of the zero-length bitfield.

Definition at line 198 of file include/clang/Basic/TargetInfo.h.

Referenced by TargetInfo(), and useZeroLengthBitfieldAlignment().

Definition at line 175 of file include/clang/Basic/TargetInfo.h.

Referenced by getWIntType(), and TargetInfo().

If non-zero, specifies a fixed alignment value for bitfields that follow zero length bitfield, regardless of the zero length bitfield type.

Definition at line 202 of file include/clang/Basic/TargetInfo.h.

Referenced by getZeroLengthBitfieldBoundary(), and TargetInfo().


The documentation for this class was generated from the following files: