clang 20.0.0git
|
Used by IntegerLiteral/FloatingLiteral/EnumConstantDecl to store the numeric without leaking memory. More...
#include "clang/AST/APNumericStorage.h"
Protected Member Functions | |
APNumericStorage () | |
llvm::APInt | getIntValue () const |
void | setIntValue (const ASTContext &C, const llvm::APInt &Val) |
Used by IntegerLiteral/FloatingLiteral/EnumConstantDecl to store the numeric without leaking memory.
For large floats/integers, APFloat/APInt will allocate memory from the heap to represent these numbers. Unfortunately, when we use a BumpPtrAllocator to allocate IntegerLiteral/FloatingLiteral nodes the memory associated with the APFloat/APInt values will never get freed. APNumericStorage uses ASTContext's allocator for memory allocation.
Definition at line 26 of file APNumericStorage.h.
|
inlineprotected |
Definition at line 39 of file APNumericStorage.h.
|
inlineprotected |
Definition at line 41 of file APNumericStorage.h.
Referenced by clang::APIntStorage::getValue(), and clang::APFloatStorage::getValue().
|
protected |
Definition at line 949 of file Expr.cpp.
References clang::C, pVal, and VAL.
Referenced by clang::APFloatStorage::setValue(), and clang::APIntStorage::setValue().
uint64_t* clang::APNumericStorage::pVal |
Used to store the >64 bits integer value.
Definition at line 29 of file APNumericStorage.h.
Referenced by getIntValue(), and setIntValue().
uint64_t clang::APNumericStorage::VAL |
Used to store the <= 64 bits integer value.
Definition at line 28 of file APNumericStorage.h.
Referenced by getIntValue(), and setIntValue().