Testcase:
#include <type_traits>
struct X { static const int x = 1/(1-std::is_constant_evaluated()); };
int z[X::x];
gcc and MSVC correctly error; clang somehow evaluates it to 1. It looks like clang somehow falls back on non-constant-context evaluation in some cases.