On Fri Mar 27 12:59:30 2026 +0000, Alexandre Julliard wrote:
(yes, things have moved around a little since LLVM 8. No, I don't know why we're using something that old. I don't think the reason is secret, but I never asked.) It's the last version that was MIT-licensed. Newer versions are Apache2 which is not compatible with LGPL v2. But the LLVM project doesn't use the placement-new-operator to create new objects in storage. They use the corresponding compiler intrinsics (https://github.com/llvm/llvm-project/blob/abc0674f839ab4b932f5cc6e15da045668...).
However, here (and in several other code snippets) the placement-new operator is used: https://gitlab.winehq.org/wine/wine/-/blob/master/libs/unwind/src/libunwind.... -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10471#note_134057