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 Savchenkovoid test() { 17*497b57adSDenys Petrov // no crash 184b958dd6SValeriy Savchenko (void)(0 <=> 0); 194b958dd6SValeriy Savchenko } 20