[PATCH] D155809: [NFC] [Clang] Fix strict weak ordering in ItaniumVTableBuilder

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 2 05:31:25 PDT 2023


aaron.ballman added a comment.

In D155809#4551876 <https://reviews.llvm.org/D155809#4551876>, @danlark wrote:

> In D155809#4551721 <https://reviews.llvm.org/D155809#4551721>, @cor3ntin wrote:
>
>> I think the test we want is a set of classes and virtuaal fuc
>>
>> In D155809#4551686 <https://reviews.llvm.org/D155809#4551686>, @philnik wrote:
>>
>>> @aaron.ballman I think what @danlark means is that when building clang against a libc++ which has debug assertions enabled, the clang tests he mentioned result in an assertion firing within libc++. i.e. the libc++ debug mode catches the non-strict weak ordering that it gets from the clang code. That's why he can't just add a test that fires the assertion. Currently, there are no bots that build clang against a libc++ with debug assertions enabled.
>>
>> What we are asking for is a standalone minimal test that doesn't depend on libc++ at all, living in `clang/test/`
>
> That's impossible. No test will fail because no implementation of std::stable_sort calls `comp(a, a)`. Only libcxx calls it in debug mode. But by C++ standard rules, `comp(a, a)` is allowed to be called.

It's not impossible. :-) Can you share a link to which libc++ test case is failing in debug mode? We can work backwards from there to build up a test case.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D155809/new/

https://reviews.llvm.org/D155809



More information about the cfe-commits mailing list