clang  9.0.0svn
Public Types | Public Attributes | Protected Attributes | List of all members
clang::TransferrableTargetInfo Struct Reference

Fields controlling how types are laid out in memory; these may need to be copied for targets like AMDGPU that base their ABIs on an auxiliary CPU target. More...

#include "clang/Basic/TargetInfo.h"

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

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,
  Float128
}
 

Public Attributes

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 Float128Align
 
unsigned char LargeArrayMinWidth
 
unsigned char LargeArrayAlign
 
unsigned char LongWidth
 
unsigned char LongAlign
 
unsigned char LongLongWidth
 
unsigned char LongLongAlign
 
unsigned char ShortAccumWidth
 
unsigned char ShortAccumAlign
 
unsigned char AccumWidth
 
unsigned char AccumAlign
 
unsigned char LongAccumWidth
 
unsigned char LongAccumAlign
 
unsigned char ShortFractWidth
 
unsigned char ShortFractAlign
 
unsigned char FractWidth
 
unsigned char FractAlign
 
unsigned char LongFractWidth
 
unsigned char LongFractAlign
 
bool PaddingOnUnsignedFixedPoint
 
unsigned char ShortAccumScale
 
unsigned char AccumScale
 
unsigned char LongAccumScale
 
unsigned char SuitableAlign
 
unsigned char DefaultAlignForAttributeAligned
 
unsigned char MinGlobalAlign
 
unsigned short NewAlign
 
unsigned short MaxVectorAlign
 
unsigned short MaxTLSAlign
 
const llvm::fltSemantics * HalfFormat
 
const llvm::fltSemantics * FloatFormat
 
const llvm::fltSemantics * DoubleFormat
 
const llvm::fltSemantics * LongDoubleFormat
 
const llvm::fltSemantics * Float128Format
 

Protected Attributes

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. More...
 
unsigned UseBitFieldTypeAlignment: 1
 Control whether the alignment of bit-field types is respected when laying out structures. More...
 
unsigned UseZeroLengthBitfieldAlignment: 1
 Whether zero length bitfields (e.g., int : 0;) force alignment of the next bitfield. More...
 
unsigned UseExplicitBitFieldAlignment: 1
 Whether explicit bit field alignment attributes are honored. More...
 
unsigned ZeroLengthBitfieldBoundary
 If non-zero, specifies a fixed alignment value for bitfields that follow zero length bitfield, regardless of the zero length bitfield type. More...
 

Detailed Description

Fields controlling how types are laid out in memory; these may need to be copied for targets like AMDGPU that base their ABIs on an auxiliary CPU target.

Definition at line 54 of file TargetInfo.h.

Member Enumeration Documentation

◆ IntType

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

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

Definition at line 104 of file TargetInfo.h.

◆ RealType

Enumerator
NoFloat 
Float 
Double 
LongDouble 
Float128 

Definition at line 118 of file TargetInfo.h.

Member Data Documentation

◆ AccumAlign

unsigned char clang::TransferrableTargetInfo::AccumAlign

Definition at line 68 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ AccumScale

unsigned char clang::TransferrableTargetInfo::AccumScale

Definition at line 89 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ AccumWidth

unsigned char clang::TransferrableTargetInfo::AccumWidth

Definition at line 68 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ BoolAlign

unsigned char clang::TransferrableTargetInfo::BoolAlign

◆ BoolWidth

unsigned char clang::TransferrableTargetInfo::BoolWidth

◆ Char16Type

IntType clang::TransferrableTargetInfo::Char16Type
protected

◆ Char32Type

IntType clang::TransferrableTargetInfo::Char32Type
protected

◆ DefaultAlignForAttributeAligned

unsigned char clang::TransferrableTargetInfo::DefaultAlignForAttributeAligned

◆ DoubleAlign

unsigned char clang::TransferrableTargetInfo::DoubleAlign

◆ DoubleFormat

const llvm::fltSemantics * clang::TransferrableTargetInfo::DoubleFormat

◆ DoubleWidth

unsigned char clang::TransferrableTargetInfo::DoubleWidth

◆ Float128Align

unsigned char clang::TransferrableTargetInfo::Float128Align

Definition at line 61 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ Float128Format

const llvm::fltSemantics * clang::TransferrableTargetInfo::Float128Format

◆ FloatAlign

unsigned char clang::TransferrableTargetInfo::FloatAlign

◆ FloatFormat

const llvm::fltSemantics * clang::TransferrableTargetInfo::FloatFormat

◆ FloatWidth

unsigned char clang::TransferrableTargetInfo::FloatWidth

◆ FractAlign

unsigned char clang::TransferrableTargetInfo::FractAlign

Definition at line 71 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ FractWidth

unsigned char clang::TransferrableTargetInfo::FractWidth

Definition at line 71 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ HalfAlign

unsigned char clang::TransferrableTargetInfo::HalfAlign

◆ HalfFormat

const llvm::fltSemantics* clang::TransferrableTargetInfo::HalfFormat

◆ HalfWidth

unsigned char clang::TransferrableTargetInfo::HalfWidth

◆ Int64Type

IntType clang::TransferrableTargetInfo::Int64Type
protected

◆ IntAlign

unsigned char clang::TransferrableTargetInfo::IntAlign

◆ IntMaxType

IntType clang::TransferrableTargetInfo::IntMaxType
protected

◆ IntPtrType

IntType clang::TransferrableTargetInfo::IntPtrType
protected

◆ IntWidth

unsigned char clang::TransferrableTargetInfo::IntWidth

◆ LargeArrayAlign

unsigned char clang::TransferrableTargetInfo::LargeArrayAlign

Definition at line 62 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ LargeArrayMinWidth

unsigned char clang::TransferrableTargetInfo::LargeArrayMinWidth

Definition at line 62 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ LongAccumAlign

unsigned char clang::TransferrableTargetInfo::LongAccumAlign

Definition at line 69 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ LongAccumScale

unsigned char clang::TransferrableTargetInfo::LongAccumScale

Definition at line 90 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ LongAccumWidth

unsigned char clang::TransferrableTargetInfo::LongAccumWidth

Definition at line 69 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ LongAlign

unsigned char clang::TransferrableTargetInfo::LongAlign

◆ LongDoubleAlign

unsigned char clang::TransferrableTargetInfo::LongDoubleAlign

◆ LongDoubleFormat

const llvm::fltSemantics * clang::TransferrableTargetInfo::LongDoubleFormat

◆ LongDoubleWidth

unsigned char clang::TransferrableTargetInfo::LongDoubleWidth

◆ LongFractAlign

unsigned char clang::TransferrableTargetInfo::LongFractAlign

Definition at line 72 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ LongFractWidth

unsigned char clang::TransferrableTargetInfo::LongFractWidth

Definition at line 72 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ LongLongAlign

unsigned char clang::TransferrableTargetInfo::LongLongAlign

◆ LongLongWidth

unsigned char clang::TransferrableTargetInfo::LongLongWidth

◆ LongWidth

unsigned char clang::TransferrableTargetInfo::LongWidth

◆ MaxTLSAlign

unsigned short clang::TransferrableTargetInfo::MaxTLSAlign

Definition at line 98 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ MaxVectorAlign

unsigned short clang::TransferrableTargetInfo::MaxVectorAlign

◆ MinGlobalAlign

unsigned char clang::TransferrableTargetInfo::MinGlobalAlign

◆ NewAlign

unsigned short clang::TransferrableTargetInfo::NewAlign

◆ PaddingOnUnsignedFixedPoint

bool clang::TransferrableTargetInfo::PaddingOnUnsignedFixedPoint

Definition at line 79 of file TargetInfo.h.

Referenced by clang::TargetInfo::adjust(), and clang::TargetInfo::TargetInfo().

◆ PointerAlign

unsigned char clang::TransferrableTargetInfo::PointerAlign

◆ PointerWidth

unsigned char clang::TransferrableTargetInfo::PointerWidth

◆ ProcessIDType

IntType clang::TransferrableTargetInfo::ProcessIDType
protected

◆ PtrDiffType

IntType clang::TransferrableTargetInfo::PtrDiffType
protected

◆ ShortAccumAlign

unsigned char clang::TransferrableTargetInfo::ShortAccumAlign

Definition at line 67 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ ShortAccumScale

unsigned char clang::TransferrableTargetInfo::ShortAccumScale

Definition at line 88 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ ShortAccumWidth

unsigned char clang::TransferrableTargetInfo::ShortAccumWidth

Definition at line 67 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ ShortFractAlign

unsigned char clang::TransferrableTargetInfo::ShortFractAlign

Definition at line 70 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ ShortFractWidth

unsigned char clang::TransferrableTargetInfo::ShortFractWidth

Definition at line 70 of file TargetInfo.h.

Referenced by clang::TargetInfo::TargetInfo().

◆ SigAtomicType

IntType clang::TransferrableTargetInfo::SigAtomicType
protected

◆ SizeType

IntType clang::TransferrableTargetInfo::SizeType
protected

◆ SuitableAlign

unsigned char clang::TransferrableTargetInfo::SuitableAlign

◆ UseBitFieldTypeAlignment

unsigned clang::TransferrableTargetInfo::UseBitFieldTypeAlignment
protected

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 141 of file TargetInfo.h.

Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::TargetInfo::adjust(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().

◆ UseExplicitBitFieldAlignment

unsigned clang::TransferrableTargetInfo::UseExplicitBitFieldAlignment
protected

Whether explicit bit field alignment attributes are honored.

Definition at line 152 of file TargetInfo.h.

Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().

◆ UseSignedCharForObjCBool

unsigned clang::TransferrableTargetInfo::UseSignedCharForObjCBool
protected

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 134 of file TargetInfo.h.

Referenced by clang::targets::DarwinAArch64TargetInfo::DarwinAArch64TargetInfo(), clang::targets::DarwinARMTargetInfo::DarwinARMTargetInfo(), and clang::TargetInfo::TargetInfo().

◆ UseZeroLengthBitfieldAlignment

unsigned clang::TransferrableTargetInfo::UseZeroLengthBitfieldAlignment
protected

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 149 of file TargetInfo.h.

Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().

◆ WCharType

IntType clang::TransferrableTargetInfo::WCharType
protected

◆ WIntType

IntType clang::TransferrableTargetInfo::WIntType
protected

◆ ZeroLengthBitfieldBoundary

unsigned clang::TransferrableTargetInfo::ZeroLengthBitfieldBoundary
protected

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 156 of file TargetInfo.h.

Referenced by clang::targets::NVPTXTargetInfo::NVPTXTargetInfo(), and clang::TargetInfo::TargetInfo().


The documentation for this struct was generated from the following file: