llvm/clang/test/SemaCXX/libstdcxx_is_nothrow_convertible_hack.cpp

// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -verify -std=gnu++20 -fms-extensions -Wno-microsoft %s
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -verify -std=gnu++23 -fms-extensions -Wno-microsoft %s

template <class T, class U>
struct Same {
  static constexpr auto value = __is_same(T, U);
};

template <class T>
struct __is_nothrow_convertible { // expected-warning{{keyword '__is_nothrow_convertible' will be made available as an identifier for the remainder of the translation unit}}
  using type = T;
};

using A = Same<__is_nothrow_convertible<int>::type, __is_nothrow_convertible<int>::type>;