Details
- Reviewers
ldionne BRevzin rsmith • Quuxplusone Mordante - Group Reviewers
Restricted Project - Commits
- rG46c17429bc86: [libcxx] modifies `_CmpUnspecifiedParam` ignore types outside its domain
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
rejected both nullptr_t ([cmp.categories]/p3 notes that "nullptr_t meets this requirement" at the end of the paragraph)
So? That note is saying that it is conforming for an implementation to use nullptr_t as _CmpUnspecifiedParam, not that users are allowed to compare against nullptr_t.
libcxx/test/std/language.support/cmp/cmp.categories.pre/zero_type.verify.cpp | ||
---|---|---|
39 | Can you split the test macro in 2 marcos, a PASS and a FAIL? Then it's clear which of the tests are expected to a be valid and which should fail. |
libcxx/test/std/language.support/cmp/cmp.categories.pre/zero_type.verify.cpp | ||
---|---|---|
25 | Minor clang-format-induced misformatting here. | |
libcxx/test/std/language.support/cmp/cmp.strongord/strongord.pass.cpp | ||
57–58 | Btw, it is bizarre to me that (throughout the existing code) we take auto& of all these values, instead of making copies with auto. Is there a subtle reason for the & to be here (throughout)? My only wild guess is that it's something broken about constexpr? |
libcxx/test/std/language.support/cmp/cmp.categories.pre/zero_type.verify.cpp | ||
---|---|---|
22 | I think I wasn't clear what I meant for the TEST_PASS. After your change the 0L is valid. This is the reason the number of errors reduced from 18 to 12. So after removing the two lines above the test still passes. This was the part I wanted to have in TEST_PASS. Is allowing 0L really intended? Looking at D85051 it seems @rsmith's intention to prohibit 0L. If it's intended please adjust the unit test, the patch description, and the unit tests to split the TEST_FAIL unit test in a fail and pass part.. | |
42 | Even if I didn't ask for this macro, I still like it better than the previous code :-) |
libcxx/test/std/language.support/cmp/cmp.categories.pre/zero_type.verify.cpp | ||
---|---|---|
22 | Fixed, although I'm not too happy with the solution. Feels kinda hacky? |
I think I wasn't clear what I meant for the TEST_PASS. After your change the 0L is valid. This is the reason the number of errors reduced from 18 to 12. So after removing the two lines above the test still passes. This was the part I wanted to have in TEST_PASS.
Is allowing 0L really intended? Looking at D85051 it seems @rsmith's intention to prohibit 0L.
If it's intended please adjust the unit test, the patch description, and the unit tests to split the TEST_FAIL unit test in a fail and pass part..