ojhunt wrote: > Opened #200367 to make use of the struct TBAA > > > That seems reasonable, even though most operator new impls use malloc under > > the hood, it's unlikely anyone calling new is ever going to caring about > > the errno impact :D > > Dropping the `errnomem: write` would be another option, which would avoid > this issue entirely. We did recently add this to malloc though, so we should > probably at least try to respect it for new, though the case is weaker > there...
I think it's more reasonable to that anything with struct based TBAA cannot alias errno - I'd want to be even stricter and say anything other than `decltype(errno)*` isn't aliasing errno, which I recognize is incorrect w.r.t to the standard type aliasing rules, but it feels like passing pointers to errno via the wrong type must surely be uncommon? (I haven't ever seen code the passes errno around by address in general, but unlike an llm I didn't need to learn to program by copying the entire body of all code that has ever been written :D) https://github.com/llvm/llvm-project/pull/197199 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
