14b958dd6SValeriy Savchenko // RUN: %clang_analyze_cc1 -std=c++20 -w -analyzer-checker=core -verify %s
24b958dd6SValeriy Savchenko 
34b958dd6SValeriy Savchenko // expected-no-diagnostics
44b958dd6SValeriy Savchenko 
54b958dd6SValeriy Savchenko namespace std {
64b958dd6SValeriy Savchenko struct strong_ordering {
74b958dd6SValeriy Savchenko   int n;
operator intstd::strong_ordering84b958dd6SValeriy Savchenko   constexpr operator int() const { return n; }
94b958dd6SValeriy Savchenko   static const strong_ordering equal, greater, less;
104b958dd6SValeriy Savchenko };
114b958dd6SValeriy Savchenko constexpr strong_ordering strong_ordering::equal = {0};
124b958dd6SValeriy Savchenko constexpr strong_ordering strong_ordering::greater = {1};
134b958dd6SValeriy Savchenko constexpr strong_ordering strong_ordering::less = {-1};
144b958dd6SValeriy Savchenko } // namespace std
154b958dd6SValeriy Savchenko 
test()164b958dd6SValeriy Savchenko void test() {
17*497b57adSDenys Petrov   // no crash
184b958dd6SValeriy Savchenko   (void)(0 <=> 0);
194b958dd6SValeriy Savchenko }
20