[libcxx-commits] [libcxx] [libc++] Introduce ABI sensitive areas to avoid requiring _LIBCPP_HIDE_FROM_ABI everywhere (PR #131156)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Wed May 28 01:20:54 PDT 2025


philnik777 wrote:

> > Do you have breakage with hash specifically as well, or are there other cases?
> 
> The first issue encountered was actually on `std::equal_to`. I've not attempted a rebuild of the entire codebase, however I fully expect to also run into the same issue for at least `hash`, `tuple_size`, and `tuple_element`. I suspect there's also others, besides.
> 
> > That is quite interesting. I don't really know what the code does, but given the results it seems somehow wrong.
> 
> I don't think it's _wrong_. Rather, I'd say: when the attribute is used the way libc++ has attempted, this intended-behavior of the compiler results in invalid outcomes.

Whether or not it's used as intended in libc++ doesn't matter. It's inconsistent with itself, which makes it wrong no matter what the intended behvaiour is.

> It's conceivable that with further investigation we could determine that the behavior of the compiler should be changed -- but I think it's much more likely we'd determine that there's good reason to keep the current behavior of the compiler, and that libc++ should just not attempt use the attribute in this manner.


https://github.com/llvm/llvm-project/pull/131156


More information about the libcxx-commits mailing list