================
@@ -91,6 +91,19 @@ class CIRGenFunction : public CIRGenTypeCache {
 
   /// Tracks function scope overall cleanup handling.
   EHScopeStack ehStack;
+  llvm::SmallVector<char, 256> lifetimeExtendedCleanupStack;
+
+  /// Header for data within LifetimeExtendedCleanupStack.
+  struct alignas(uint64_t) LifetimeExtendedCleanupHeader {
----------------
erichkeane wrote:

I kinda hate this.... am I getting this right that our `CleanupKind` is some 
sort of tail allocation?  Why can't we just do that as a pointer to a different 
allocation and not do the ... funny business above? 

This is getting really opaque of an implementation as a result of supporting 
the tail-allocation I think.

https://github.com/llvm/llvm-project/pull/189754
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to