Кажется, я нашел то, с чем не согласны Clang и GCC. Вот код:
int main() {
if constexpr (2) {}
}
Это успешно компилируется с GCC 7.4.0, но происходит сбой с Clang 7.0.0 с этим сообщением об ошибке:
test.cpp:3:17: error: constexpr if condition evaluates to 2, which cannot be narrowed to type 'bool'
[-Wc++11-narrowing]
if constexpr (2) {}
^
1 error generated.
В cppreference, похоже, не упоминается "сужение", так что это похоже на ошибку Clang, но я не совсем уверен. Если это ошибка с любым из компиляторов, о ней уже сообщалось?