From 7ddd694d3684aba30a6f2b49a54aea0f58b6d835 Mon Sep 17 00:00:00 2001 From: Nick Desaulniers Date: Fri, 7 Jun 2019 19:51:22 +0000 Subject: [APFloat] APFloat::Storage::Storage - refix use after move Summary: Re-land r360675 after it was reverted in r360770. This was reported in: https://llvm.org/reports/scan-build/ Based on feedback in: https://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20190513/652286.html Reviewers: RKSimon, efriedma Reviewed By: RKSimon, efriedma Subscribers: eli.friedman, hiraditya, llvm-commits, srhines Tags: #llvm Differential Revision: https://reviews.llvm.org/D62767 llvm-svn: 362833 --- llvm/lib/Support/APFloat.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'llvm/lib') diff --git a/llvm/lib/Support/APFloat.cpp b/llvm/lib/Support/APFloat.cpp index 208950d7ab7..d2cd8b4b688 100644 --- a/llvm/lib/Support/APFloat.cpp +++ b/llvm/lib/Support/APFloat.cpp @@ -4418,8 +4418,9 @@ APFloat::Storage::Storage(IEEEFloat F, const fltSemantics &Semantics) { return; } if (usesLayout(Semantics)) { + const fltSemantics& S = F.getSemantics(); new (&Double) - DoubleAPFloat(Semantics, APFloat(std::move(F), F.getSemantics()), + DoubleAPFloat(Semantics, APFloat(std::move(F), S), APFloat(semIEEEdouble)); return; } -- cgit v1.2.3