llvm-project
35dcb5c1 - [CIR] Add EH handling for lifetime extended cleanups (#192305)

Commit
8 days ago
[CIR] Add EH handling for lifetime extended cleanups (#192305) This adds code to call pushDestroyAndDeferDeactivation from the pushLifetimeExtendedDestroy function. This was needed to generate the correct code for lifetime extended cleanups when exceptions are enabled. An extended version of the cleanup with automatic storage duration is used as a test case. To make this work correctly, I had to add a CleanupDeactivationScope to RunCleanupsScope and force deactivation when forceCleanup is called. This matches the corresponding code in classic codegen. I surveyed other places where classic codegen is using CleanupDeactivationScope and added a MissingFeatures marker in one location where it was not previously marked. Other places where it was missing were already marked in this way.
Author
Parents
Loading