|
clang
5.0.0
|
Used by IntegerLiteral/FloatingLiteral to store the numeric without leaking memory. More...
#include "clang/AST/Expr.h"
Protected Member Functions | |
| APNumericStorage () | |
| llvm::APInt | getIntValue () const |
| void | setIntValue (const ASTContext &C, const llvm::APInt &Val) |
Used by IntegerLiteral/FloatingLiteral 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.
|
inlineprotected |
|
inlineprotected |
Definition at line 1264 of file Expr.h.
Referenced by clang::APIntStorage::getValue(), and clang::APFloatStorage::getValue().
|
protected |
Definition at line 719 of file Expr.cpp.
References clang::ASTContext::Deallocate(), pVal, and VAL.
Referenced by clang::APIntStorage::setValue(), and clang::APFloatStorage::setValue().
| uint64_t* clang::APNumericStorage::pVal |
Used to store the >64 bits integer value.
Definition at line 1252 of file Expr.h.
Referenced by getIntValue(), and setIntValue().
| uint64_t clang::APNumericStorage::VAL |
Used to store the <= 64 bits integer value.
Definition at line 1251 of file Expr.h.
Referenced by getIntValue(), and setIntValue().
1.8.6