Кажется, я нашел то, с чем не согласны 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, но я не совсем уверен.Если это ошибка с любым из компиляторов, о ней уже сообщалось?