diff options
Diffstat (limited to 'lib/VMCore')
-rw-r--r-- | lib/VMCore/AsmWriter.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp index b96fbff..6fb5516 100644 --- a/lib/VMCore/AsmWriter.cpp +++ b/lib/VMCore/AsmWriter.cpp @@ -521,7 +521,9 @@ static void WriteConstantInt(std::ostream &Out, const Constant *CV, Out << 'L'; else assert(0 && "Unsupported floating point type"); - const uint64_t* p = CFP->getValueAPF().convertToAPInt().getRawData(); + // api needed to prevent premature destruction + APInt api = CFP->getValueAPF().convertToAPInt(); + const uint64_t* p = api.getRawData(); uint64_t word = *p; int shiftcount=60; int width = CFP->getValueAPF().convertToAPInt().getBitWidth(); |