[libcxx-commits] [PATCH] D101708: [libcxx] expands `_CmpUnspecifiedParam` to accept `nullptr_t` and ignore types outside its domain

Christopher Di Bella via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sat May 1 21:03:40 PDT 2021


cjdb created this revision.
cjdb added reviewers: ldionne, BRevzin.
cjdb requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

D85051 <https://reviews.llvm.org/D85051>'s honeypot solution was a bit too aggressive and rejected both
`nullptr_t` ([cmp.categories]/p3 notes that "`nullptr_t` meets this
requirement" at the end of the paragraph). `nullptr_t` is now allowed,
but `0L` and `1 - 1` are still invalid 'zero literals'.

The honeypot also swallowed up the comparison types, which made comparing
objects of different ordering types ambiguous. This has now been accounted
for as well.

Depends on D101707 <https://reviews.llvm.org/D101707>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D101708

Files:
  libcxx/include/compare
  libcxx/test/std/language.support/cmp/cmp.categories.pre/zero_type.verify.cpp
  libcxx/test/std/language.support/cmp/cmp.partialord/partialord.pass.cpp
  libcxx/test/std/language.support/cmp/cmp.strongord/strongord.pass.cpp
  libcxx/test/std/language.support/cmp/cmp.weakord/weakord.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D101708.342202.patch
Type: text/x-patch
Size: 7211 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210502/0ca9a8c3/attachment.bin>


More information about the libcxx-commits mailing list