diff options
author | Manuel Klimek <klimek@google.com> | 2013-06-03 13:03:05 +0000 |
---|---|---|
committer | Manuel Klimek <klimek@google.com> | 2013-06-03 13:03:05 +0000 |
commit | d0cf5b2de355cb5ec6ec90a7057f60a4d2a10169 (patch) | |
tree | 0581e56a7d4225f3ab3d1f21acc608dcfbc81b9d /llvm/lib/Support/APFloat.cpp | |
parent | 17ee1abfa7a093fea959037f668e8bb8c67c5f19 (diff) | |
download | llvm-d0cf5b2de355cb5ec6ec90a7057f60a4d2a10169.zip llvm-d0cf5b2de355cb5ec6ec90a7057f60a4d2a10169.tar.gz llvm-d0cf5b2de355cb5ec6ec90a7057f60a4d2a10169.tar.bz2 |
Introduce needsCleanup() for APFloat and APInt.
This is needed in clang so one can check if the object needs the
destructor called after its memory was freed. This is useful when
creating many APInt/APFloat objects with placement new, where the
overhead of tracking the pointers for cleanup is significant.
llvm-svn: 183100
Diffstat (limited to 'llvm/lib/Support/APFloat.cpp')
-rw-r--r-- | llvm/lib/Support/APFloat.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Support/APFloat.cpp b/llvm/lib/Support/APFloat.cpp index 16586fb..2ad66c5 100644 --- a/llvm/lib/Support/APFloat.cpp +++ b/llvm/lib/Support/APFloat.cpp @@ -580,7 +580,7 @@ APFloat::initialize(const fltSemantics *ourSemantics) void APFloat::freeSignificand() { - if (partCount() > 1) + if (needsCleanup()) delete [] significand.parts; } |