diff options
author | Serge Pavlov <sepavloff@gmail.com> | 2020-09-12 21:54:14 +0700 |
---|---|---|
committer | Serge Pavlov <sepavloff@gmail.com> | 2020-09-14 12:15:21 +0700 |
commit | f1cd6593da3ad763eb3f7aaf7761d06fb303493a (patch) | |
tree | dcfe036e9cb41c3f87f19c2896896a769a648d7e /clang/lib/CodeGen/CGBlocks.cpp | |
parent | 88690a965892e82cac05a162a9d10e2ce4e2355f (diff) | |
download | llvm-f1cd6593da3ad763eb3f7aaf7761d06fb303493a.zip llvm-f1cd6593da3ad763eb3f7aaf7761d06fb303493a.tar.gz llvm-f1cd6593da3ad763eb3f7aaf7761d06fb303493a.tar.bz2 |
[AST][FPEnv] Keep FP options in trailing storage of CastExpr
This is recommit of 6c8041aa0f, reverted in de044f7562 because of some
fails. Original commit message is below.
This change allow a CastExpr to have optional FPOptionsOverride object,
stored in trailing storage. Of all cast nodes only ImplicitCastExpr,
CStyleCastExpr, CXXFunctionalCastExpr and CXXStaticCastExpr are allowed
to have FPOptions.
Differential Revision: https://reviews.llvm.org/D85960
Diffstat (limited to 'clang/lib/CodeGen/CGBlocks.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGBlocks.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGBlocks.cpp b/clang/lib/CodeGen/CGBlocks.cpp index 615b782..ac5559a 100644 --- a/clang/lib/CodeGen/CGBlocks.cpp +++ b/clang/lib/CodeGen/CGBlocks.cpp @@ -1024,7 +1024,7 @@ llvm::Value *CodeGenFunction::EmitBlockLiteral(const CGBlockInfo &blockInfo) { type, VK_LValue, SourceLocation()); ImplicitCastExpr l2r(ImplicitCastExpr::OnStack, type, CK_LValueToRValue, - &declRef, VK_RValue); + &declRef, VK_RValue, FPOptionsOverride()); // FIXME: Pass a specific location for the expr init so that the store is // attributed to a reasonable location - otherwise it may be attributed to // locations of subexpressions in the initialization. |