">

clang: lib/AST/ExprConstShared.h File Reference (original) (raw)

#include "[clang/Basic/TypeTraits.h](TypeTraits%5F8h%5Fsource.html)"
#include <cstdint>

Go to the source code of this file.

Namespaces
namespace llvm
Diagnostic wrappers for TextAPI types for error reporting.
namespace clang
The JSON file list parser is used to communicate input to InstallAPI.
Enumerations
enum class GCCTypeClass { None = -1 , Void = 0 , Integer = 1 , Enum = 3 , Bool = 4 , Pointer = 5 , PointerToDataMember = 7 , RealFloat = 8 , Complex = 9 , PointerToMemberFunction = 12 , ClassOrStruct = 12 , Union = 13 , BitInt = 18 , Vector = 19 }
Values returned by __builtin_classify_type, chosen to match the values produced by GCC's builtin. More...
Functions
GCCTypeClass EvaluateBuiltinClassifyType (QualType T, const LangOptions &LangOpts)
EvaluateBuiltinClassifyType - Evaluate __builtin_classify_type the same way as GCC.
void HandleComplexComplexMul (llvm::APFloat A, llvm::APFloat B, llvm::APFloat C, llvm::APFloat D, llvm::APFloat &ResR, llvm::APFloat &ResI)
void HandleComplexComplexDiv (llvm::APFloat A, llvm::APFloat B, llvm::APFloat C, llvm::APFloat D, llvm::APFloat &ResR, llvm::APFloat &ResI)
CharUnits GetAlignOfExpr (const ASTContext &Ctx, const Expr *E, UnaryExprOrTypeTrait ExprKind)
uint8_t GFNIMultiplicativeInverse (uint8_t Byte)
uint8_t GFNIMul (uint8_t AByte, uint8_t BByte)
uint8_t GFNIAffine (uint8_t XByte, const llvm::APInt &AQword, const llvm::APSInt &Imm, bool Inverse=false)

GCCTypeClass

Values returned by __builtin_classify_type, chosen to match the values produced by GCC's builtin.

Enumerator
None
Void
Integer
Enum
Bool
Pointer
PointerToDataMember
RealFloat
Complex
PointerToMemberFunction
ClassOrStruct
Union
BitInt
Vector

Definition at line 35 of file ExprConstShared.h.

EvaluateBuiltinClassifyType()

EvaluateBuiltinClassifyType - Evaluate __builtin_classify_type the same way as GCC.

Definition at line 15166 of file ExprConstant.cpp.

References BitInt, Bool, clang::cast(), clang::Type::castAs(), ClassOrStruct, Complex, Enum, EvaluateBuiltinClassifyType(), getKind(), clang::Type::getTypeClass(), clang::AtomicType::getValueType(), Integer, clang::Type::isMemberDataPointerType(), clang::Type::isUnionType(), None, Pointer, PointerToDataMember, PointerToMemberFunction, clang::T, Union, Vector, and Void.

Referenced by EvaluateBuiltinClassifyType(), EvaluateBuiltinClassifyType(), and clang::interp::interp__builtin_classify_type().

GetAlignOfExpr()

GFNIAffine()

uint8_t GFNIAffine ( uint8_t XByte,
const llvm::APInt & AQword,
const llvm::APSInt & Imm,
bool Inverse = false )

GFNIMul()

uint8_t GFNIMul ( uint8_t AByte,
uint8_t BByte )

GFNIMultiplicativeInverse()

uint8_t GFNIMultiplicativeInverse ( uint8_t Byte )

HandleComplexComplexDiv()

void HandleComplexComplexDiv ( llvm::APFloat A,
llvm::APFloat B,
llvm::APFloat C,
llvm::APFloat D,
llvm::APFloat & ResR,
llvm::APFloat & ResI )

HandleComplexComplexMul()

void HandleComplexComplexMul ( llvm::APFloat A,
llvm::APFloat B,
llvm::APFloat C,
llvm::APFloat D,
llvm::APFloat & ResR,
llvm::APFloat & ResI )