clang 17.0.0git
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)
 

Static Public Member Functions

static SizeType getSizeType (unsigned nbytes)
 
template<class T >
static 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 ()
 
template<>
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 152 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 153 of file ThreadSafetyTIL.h.

◆ SizeType

Enumerator
ST_0 
ST_1 
ST_8 
ST_16 
ST_32 
ST_64 
ST_128 

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

Member Function Documentation

◆ getSizeType()

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

Definition at line 189 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 ( )
inlinestatic

Definition at line 201 of file ThreadSafetyTIL.h.

References BT_Void, and ST_0.

◆ getValueType() [3/16]

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

Definition at line 206 of file ThreadSafetyTIL.h.

References BT_Bool, and ST_1.

◆ getValueType() [4/16]

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

Definition at line 211 of file ThreadSafetyTIL.h.

References BT_Int, and ST_8.

◆ getValueType() [5/16]

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

Definition at line 216 of file ThreadSafetyTIL.h.

References BT_Int, and ST_8.

◆ getValueType() [6/16]

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

Definition at line 221 of file ThreadSafetyTIL.h.

References BT_Int, and ST_16.

◆ getValueType() [7/16]

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

Definition at line 226 of file ThreadSafetyTIL.h.

References BT_Int, and ST_16.

◆ getValueType() [8/16]

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

Definition at line 231 of file ThreadSafetyTIL.h.

References BT_Int, and ST_32.

◆ getValueType() [9/16]

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

Definition at line 236 of file ThreadSafetyTIL.h.

References BT_Int, and ST_32.

◆ getValueType() [10/16]

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

Definition at line 241 of file ThreadSafetyTIL.h.

References BT_Int, and ST_64.

◆ getValueType() [11/16]

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

Definition at line 246 of file ThreadSafetyTIL.h.

References BT_Int, and ST_64.

◆ getValueType() [12/16]

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

Definition at line 251 of file ThreadSafetyTIL.h.

References BT_Float, and ST_32.

◆ getValueType() [13/16]

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

Definition at line 256 of file ThreadSafetyTIL.h.

References BT_Float, and ST_64.

◆ getValueType() [14/16]

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

Definition at line 261 of file ThreadSafetyTIL.h.

References BT_Float, and ST_128.

◆ getValueType() [15/16]

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

Definition at line 266 of file ThreadSafetyTIL.h.

References BT_String, and getSizeType().

◆ getValueType() [16/16]

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

Definition at line 271 of file ThreadSafetyTIL.h.

References BT_Pointer, and getSizeType().

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 186 of file ThreadSafetyTIL.h.


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