diff options
author | Richard Smith <richard@metafoo.co.uk> | 2021-03-01 13:55:17 -0800 |
---|---|---|
committer | Richard Smith <richard@metafoo.co.uk> | 2021-03-01 22:19:21 -0800 |
commit | 9e2579dbf434e996b3d35f27b5a1762019cf27bb (patch) | |
tree | bd2f5a5d4ee95b846451292514eecf0a7ead7dcf /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 6d2fd3d9cdd6ed24784ec47741e7e70c236a140e (diff) | |
download | llvm-9e2579dbf434e996b3d35f27b5a1762019cf27bb.zip llvm-9e2579dbf434e996b3d35f27b5a1762019cf27bb.tar.gz llvm-9e2579dbf434e996b3d35f27b5a1762019cf27bb.tar.bz2 |
Fix infinite recursion during IR emission if a constant-initialized lifetime-extended temporary object's initializer refers back to the same object.
`GetAddrOfGlobalTemporary` previously tried to emit the initializer of
a global temporary before updating the global temporary map. Emitting the
initializer could recurse back into `GetAddrOfGlobalTemporary` for the same
temporary, resulting in an infinite recursion.
Reviewed By: rjmccall
Differential Revision: https://reviews.llvm.org/D97733
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions