diff options
author | Timm Bäder <tbaeder@redhat.com> | 2024-06-28 13:23:51 +0200 |
---|---|---|
committer | Timm Bäder <tbaeder@redhat.com> | 2024-06-29 21:10:24 +0200 |
commit | 8d4aa1f22ea08b12a7958b681e8a265f78cb349f (patch) | |
tree | 84e9798ccfa4520ad05eedd1a3b68c3aaae9ca6f /llvm/utils/FileCheck/FileCheck.cpp | |
parent | ddaa93b095288ce459be4096193c40a4ea247b11 (diff) | |
download | llvm-8d4aa1f22ea08b12a7958b681e8a265f78cb349f.zip llvm-8d4aa1f22ea08b12a7958b681e8a265f78cb349f.tar.gz llvm-8d4aa1f22ea08b12a7958b681e8a265f78cb349f.tar.bz2 |
[clang][Interp] Update global temporaries at the end of a declaration
When we create a global temporary variable via a
LifetimeExtendedTemporaryDecl, we have an expression to initialize it
with, so we evaluate that expression, convert it to an APValue and set
it on the LETD. However, when the value is updated after the
initialization, we don't propagate the new value to the LETD, which
means we will see an outdated value set on the LETD.
Fix this by keeping a list of seen LETDs and update them from the
global variable at the end of evaluation a declaration.
Diffstat (limited to 'llvm/utils/FileCheck/FileCheck.cpp')
0 files changed, 0 insertions, 0 deletions