This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] Define _LIBCPP_HAS_NO_SPACESHIP_OPERATOR using feature test macro
AbandonedPublic

Authored by broadwaylamb on Jan 24 2020, 7:04 AM.

Details

Summary

Feature test macro for the spaceship operator has landed in
bc633a42dd409dbeb456263e3388b8caa4680aa0, now we can use it in libc++.

I don't know how the buildbots are green, but without this change I have failing tests, for example, this: the thing is that TEST_HAS_NO_SPACESHIP_OPERATOR is already defined based on the feature test macro (see 1f92d8b5449f6fd17360421e2e4da3fb7bff5c5a), but the _LIBCPP_HAS_NO_SPACESHIP_OPERATOR that is used in libc++ for deciding if we want to declare the <=> functions seems to still be defined uncondititionally, so this test file won't compile because of missing <=> declarations.

Event Timeline

broadwaylamb created this revision.Jan 24 2020, 7:04 AM
thakis added a subscriber: thakis.Jan 24 2020, 7:15 AM

This is a duplicate of D72980

The bots are probably green because libcxx tests against the installed compiler, not the just built compiler. Also, I'm fairly confident at this point that either no bots are testing libcxx against top-of-tree clang, or nobody is paying attention to the bots that do.

Also, I'm fairly confident at this point that either no bots are testing libcxx against top-of-tree clang, or nobody is paying attention to the bots that do.

I'm working on running libc++ test suite against top-of-tree clang on this and this bots right now, but in order to set it up, I need, well, the tests to pass :-)