clang  8.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 154 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 155 of file ThreadSafetyTIL.h.

◆ SizeType

Enumerator
ST_0 
ST_1 
ST_8 
ST_16 
ST_32 
ST_64 
ST_128 

Definition at line 165 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 175 of file ThreadSafetyTIL.h.

Referenced by getValueType().

Member Function Documentation

◆ getSizeType()

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

Definition at line 191 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 203 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 208 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 213 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 218 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 223 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 228 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 233 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 238 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 243 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 248 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 253 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 258 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 263 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 268 of file ThreadSafetyTIL.h.

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

◆ getValueType() [16/16]

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

Definition at line 273 of file ThreadSafetyTIL.h.

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

Member Data Documentation

◆ Base

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

◆ Signed

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

◆ Size

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

◆ VectSize

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

Definition at line 188 of file ThreadSafetyTIL.h.


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