[libcxx-commits] [PATCH] D133661: [libc++] Improve binary size when using __transaction
Alexander Kornienko via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jan 31 05:53:37 PST 2023
alexfh added a comment.
In D133661#4093307 <https://reviews.llvm.org/D133661#4093307>, @philnik wrote:
> In D133661#4093298 <https://reviews.llvm.org/D133661#4093298>, @bgraur wrote:
>
>> We're seeing a lot of fallout from this patch and they all look related to the ODR violations that seem to be intentionally added here: both the patch description and the comment for the `__exception_guard` mention explicitly that combinations of code compiled with exceptions and without exceptions are common.
>>
>> Am I missing something here?
>
> Do you have a specific example?
Well, we have tons of different examples, but most of them are difficult to isolate and reduce. Some of them manifest in linker complaining about invalid debug information in thinlto mode. Some manifest as runtime crashes and/or sanitizer errors. We'll try to provide something specific, but it may take days to come up with something.
> We have similar ODR violations all over the code base related to exception handling.
Well, I don't know how bad these were, but we definitely didn't see any related issues previously. Maybe this commit was the straw that broke the camel's back or it introduced a novel kind of an ODR violation when using mixed exception modes, e.g. that previously the differences were limited to exception handling within function bodies and now the definition of the `__exception_guard` class being different is somehow more problematic.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D133661/new/
https://reviews.llvm.org/D133661
More information about the libcxx-commits
mailing list