clang 22.0.0git
|
#include "llvm/Support/raw_ostream.h"
#include <climits>
#include <cstddef>
#include <cstdint>
Go to the source code of this file.
Namespaces | |
namespace | clang |
The JSON file list parser is used to communicate input to InstallAPI. | |
namespace | clang::interp |
Macros | |
#define | TYPE_SWITCH_CASE(Name, B) |
Helper macro to simplify type switches. | |
#define | TYPE_SWITCH(Expr, B) |
#define | INT_TYPE_SWITCH(Expr, B) |
#define | INT_TYPE_SWITCH_NO_BOOL(Expr, B) |
#define | TYPE_SWITCH_ALLOC(Expr, B) |
Enumerations | |
enum | clang::interp::PrimType : uint8_t { clang::interp::PT_Sint8 = 0 , clang::interp::PT_Uint8 = 1 , clang::interp::PT_Sint16 = 2 , clang::interp::PT_Uint16 = 3 , clang::interp::PT_Sint32 = 4 , clang::interp::PT_Uint32 = 5 , clang::interp::PT_Sint64 = 6 , clang::interp::PT_Uint64 = 7 , clang::interp::PT_IntAP = 8 , clang::interp::PT_IntAPS = 9 , clang::interp::PT_Bool = 10 , clang::interp::PT_FixedPoint = 11 , clang::interp::PT_Float = 12 , clang::interp::PT_Ptr = 13 , clang::interp::PT_MemberPtr = 14 } |
Enumeration of the primitive types of the VM. More... | |
enum class | clang::interp::CastKind : uint8_t { clang::interp::Reinterpret , clang::interp::Volatile , clang::interp::Dynamic } |
Functions | |
constexpr bool | clang::interp::isPtrType (PrimType T) |
constexpr bool | clang::interp::isSignedType (PrimType T) |
llvm::raw_ostream & | clang::interp::operator<< (llvm::raw_ostream &OS, interp::CastKind CK) |
constexpr bool | clang::interp::isIntegralType (PrimType T) |
template<typename T> | |
constexpr bool | clang::interp::needsAlloc () |
constexpr bool | clang::interp::needsAlloc (PrimType T) |
size_t | clang::interp::primSize (PrimType Type) |
Returns the size of a primitive type in bytes. | |
constexpr size_t | clang::interp::align (size_t Size) |
Aligns a size to the pointer alignment. | |
constexpr bool | clang::interp::aligned (uintptr_t Value) |
static bool | clang::interp::aligned (const void *P) |
#define INT_TYPE_SWITCH | ( | Expr, | |
B ) |
Definition at line 228 of file PrimType.h.
Referenced by clang::interp::Context::evaluateStrlen(), clang::interp::interp__builtin_bswap(), clang::interp::interp__builtin_memcmp(), clang::interp::interp__builtin_select(), clang::interp::interp__builtin_strcmp(), clang::interp::popToAPSInt(), clang::interp::pushInteger(), clang::interp::SetThreeWayComparisonField(), and clang::interp::Pointer::toRValue().
#define INT_TYPE_SWITCH_NO_BOOL | ( | Expr, | |
B ) |
Definition at line 247 of file PrimType.h.
Referenced by clang::interp::assignInteger(), clang::interp::interp__builtin_blend(), clang::interp::interp__builtin_elementwise_abs(), clang::interp::interp__builtin_elementwise_countzeroes(), clang::interp::interp__builtin_elementwise_int_binop(), clang::interp::interp__builtin_elementwise_maxmin(), clang::interp::interp__builtin_elementwise_popcount(), clang::interp::interp__builtin_elementwise_triop(), clang::interp::interp__builtin_ia32_pmul(), clang::interp::interp__builtin_memchr(), clang::interp::interp__builtin_select(), and clang::interp::interp__builtin_vector_reduce().
#define TYPE_SWITCH | ( | Expr, | |
B ) |
Definition at line 207 of file PrimType.h.
Referenced by BCP(), clang::interp::cleanupAfterFunctionCall(), clang::interp::InterpStack::clear(), clang::interp::InterpStack::clearTo(), clang::interp::copyComposite(), clang::interp::copyRecord(), clang::interp::InterpFrame::describe(), clang::interp::discard(), clang::interp::InterpStack::dump(), clang::interp::Program::dump(), getCtorArrayPrim(), getDtorArrayPrim(), clang::interp::InterpFrame::getParamPointer(), clang::interp::interp__builtin_x86_insert_subvector(), clang::interp::popArg(), clang::interp::primSize(), clang::interp::Pointer::toRValue(), and clang::interp::zeroAll().
#define TYPE_SWITCH_ALLOC | ( | Expr, | |
B ) |
Definition at line 265 of file PrimType.h.
Referenced by clang::interp::finishGlobalRecurse().
#define TYPE_SWITCH_CASE | ( | Name, | |
B ) |
Helper macro to simplify type switches.
The macro implicitly exposes a type T in the scope of the inner block.
Definition at line 201 of file PrimType.h.