================
@@ -896,6 +896,12 @@ def Launder : Builtin {
   let Prototype = "void*(void*)";
 }
 
+def StartObjectLifeTime : Builtin {
----------------
sam-mccall wrote:

For creating-objects-via-memcpy, what are we planning to do about the memcpy 
part being UB and the start_lifetime part being correspondingly hard to specify 
(what's the relationship between the bytes and the new objects?)

I thought a combined memcpy + start_object_lifetime intrinsic would solve this 
neatly (values of new objects are the values of the old objects), but certainly 
we want the start-lifetime-only part to support start_lifetime_as.  

I don't see a great way out for non-implicit-lifetime types though...

https://github.com/llvm/llvm-project/pull/82776
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to