Why does this not compile with gcc/msvc? clang is happy and hopefully right.
#include <type_traits>
extern const int s1;
static_assert(std::is_same_v<decltype(s1),int const>);
auto const s1 = int{42};
static_assert(std::is_same_v<decltype(s1),int const>);