clang  6.0.0svn
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
clang::threadSafety::til::ValueType Struct Reference

ValueTypes are data types that can actually be held in registers. More...

#include "clang/Analysis/Analyses/ThreadSafetyTIL.h"

Collaboration diagram for clang::threadSafety::til::ValueType:
Collaboration graph
[legend]

Public Types

enum  BaseType : unsigned char {
  BT_Void = 0, BT_Bool, BT_Int, BT_Float,
  BT_String, BT_Pointer, BT_ValueRef
}
 
enum  SizeType : unsigned char {
  ST_0 = 0, ST_1, ST_8, ST_16,
  ST_32, ST_64, ST_128
}
 

Public Member Functions

 ValueType (BaseType B, SizeType Sz, bool S, unsigned char VS)
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 
template<>
ValueType getValueType ()
 

Static Public Member Functions

static SizeType getSizeType (unsigned nbytes)
 
template<class T >
static ValueType getValueType ()
 

Public Attributes

BaseType Base
 
SizeType Size
 
bool Signed
 
unsigned char VectSize
 

Detailed Description

ValueTypes are data types that can actually be held in registers.

All variables and expressions must have a value type. Pointer types are further subdivided into the various heap-allocated types, such as functions, records, etc. Structured types that are passed by value (e.g. complex numbers) require special handling; they use BT_ValueRef, and size ST_0.

Definition at line 132 of file ThreadSafetyTIL.h.

Member Enumeration Documentation

◆ BaseType

Enumerator
BT_Void 
BT_Bool 
BT_Int 
BT_Float 
BT_String 
BT_Pointer 
BT_ValueRef 

Definition at line 133 of file ThreadSafetyTIL.h.

◆ SizeType

Enumerator
ST_0 
ST_1 
ST_8 
ST_16 
ST_32 
ST_64 
ST_128 

Definition at line 143 of file ThreadSafetyTIL.h.

Constructor & Destructor Documentation

◆ ValueType()

clang::threadSafety::til::ValueType::ValueType ( BaseType  B,
SizeType  Sz,
bool  S,
unsigned char  VS 
)
inline

Definition at line 158 of file ThreadSafetyTIL.h.

Referenced by getValueType().

Member Function Documentation

◆ getSizeType()

ValueType::SizeType clang::threadSafety::til::ValueType::getSizeType ( unsigned  nbytes)
inlinestatic

Definition at line 169 of file ThreadSafetyTIL.h.

References ST_0, ST_128, ST_16, ST_32, ST_64, and ST_8.

Referenced by getValueType().

◆ getValueType() [1/16]

template<class T >
static ValueType clang::threadSafety::til::ValueType::getValueType ( )
inlinestatic

◆ getValueType() [2/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 182 of file ThreadSafetyTIL.h.

References BT_Void, ST_0, and ValueType().

◆ getValueType() [3/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 187 of file ThreadSafetyTIL.h.

References BT_Bool, ST_1, and ValueType().

◆ getValueType() [4/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 192 of file ThreadSafetyTIL.h.

References BT_Int, ST_8, and ValueType().

◆ getValueType() [5/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 197 of file ThreadSafetyTIL.h.

References BT_Int, ST_8, and ValueType().

◆ getValueType() [6/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 202 of file ThreadSafetyTIL.h.

References BT_Int, ST_16, and ValueType().

◆ getValueType() [7/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 207 of file ThreadSafetyTIL.h.

References BT_Int, ST_16, and ValueType().

◆ getValueType() [8/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 212 of file ThreadSafetyTIL.h.

References BT_Int, ST_32, and ValueType().

◆ getValueType() [9/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 217 of file ThreadSafetyTIL.h.

References BT_Int, ST_32, and ValueType().

◆ getValueType() [10/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 222 of file ThreadSafetyTIL.h.

References BT_Int, ST_64, and ValueType().

◆ getValueType() [11/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 227 of file ThreadSafetyTIL.h.

References BT_Int, ST_64, and ValueType().

◆ getValueType() [12/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 232 of file ThreadSafetyTIL.h.

References BT_Float, ST_32, and ValueType().

◆ getValueType() [13/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 237 of file ThreadSafetyTIL.h.

References BT_Float, ST_64, and ValueType().

◆ getValueType() [14/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 242 of file ThreadSafetyTIL.h.

References BT_Float, ST_128, and ValueType().

◆ getValueType() [15/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 247 of file ThreadSafetyTIL.h.

References BT_String, getSizeType(), and ValueType().

◆ getValueType() [16/16]

template<>
ValueType clang::threadSafety::til::ValueType::getValueType ( )
inline

Definition at line 252 of file ThreadSafetyTIL.h.

References BT_Pointer, getSizeType(), and ValueType().

Member Data Documentation

◆ Base

BaseType clang::threadSafety::til::ValueType::Base

Definition at line 162 of file ThreadSafetyTIL.h.

◆ Signed

bool clang::threadSafety::til::ValueType::Signed

Definition at line 164 of file ThreadSafetyTIL.h.

◆ Size

SizeType clang::threadSafety::til::ValueType::Size

Definition at line 163 of file ThreadSafetyTIL.h.

◆ VectSize

unsigned char clang::threadSafety::til::ValueType::VectSize

Definition at line 165 of file ThreadSafetyTIL.h.


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