clang version 9.0.0 (https://github.com/msys2/MINGW-packages.git fdafa4d8c4022588676c8ec0985dafaf834258ae) Target: x86_64-w64-windows-gnu Thread model: posix InstalledDir: D:\dev\msys64\mingw64\bin main.cpp:6:41: error: non-type template argument evaluates to -129, which cannot be narrowed to type 'signed char' [-Wc++11-narrowing] using I8Min = integral_constant::min()-1>; ^ main.cpp:7:43: error: non-type template argument evaluates to -32769, which cannot be narrowed to type 'short' [-Wc++11-narrowing] using I16Min = integral_constant::min()-1>; ^ main.cpp:8:43: error: non-type template argument is not a constant expression using I32Min = integral_constant::min()-1>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.cpp:8:73: note: value -2147483649 is outside the range of representable values of type 'int' using I32Min = integral_constant::min()-1>; ^ main.cpp:9:43: error: non-type template argument is not a constant expression using I64Min = integral_constant::min()-1>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.cpp:9:73: note: value -9223372036854775809 is outside the range of representable values of type 'long long' using I64Min = integral_constant::min()-1>; ^ main.cpp:11:41: error: non-type template argument evaluates to 128, which cannot be narrowed to type 'signed char' [-Wc++11-narrowing] using I8Max = integral_constant::max()+1>; ^ main.cpp:12:43: error: non-type template argument evaluates to 32768, which cannot be narrowed to type 'short' [-Wc++11-narrowing] using I16Max = integral_constant::max()+1>; ^ main.cpp:13:43: error: non-type template argument is not a constant expression using I32Max = integral_constant::max()+1>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.cpp:13:73: note: value 2147483648 is outside the range of representable values of type 'int' using I32Max = integral_constant::max()+1>; ^ main.cpp:14:43: error: non-type template argument is not a constant expression using I64Max = integral_constant::max()+1>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ main.cpp:14:73: note: value 9223372036854775808 is outside the range of representable values of type 'long long' using I64Max = integral_constant::max()+1>; ^ main.cpp:16:43: error: non-type template argument evaluates to -1, which cannot be narrowed to type 'unsigned char' [-Wc++11-narrowing] using UI8Min = integral_constant::min()-1>; ^ main.cpp:17:45: error: non-type template argument evaluates to -1, which cannot be narrowed to type 'unsigned short' [-Wc++11-narrowing] using UI16Min = integral_constant::min()-1>; ^ main.cpp:21:43: error: non-type template argument evaluates to 256, which cannot be narrowed to type 'unsigned char' [-Wc++11-narrowing] using UI8Max = integral_constant::max()+1>; ^ main.cpp:22:45: error: non-type template argument evaluates to 65536, which cannot be narrowed to type 'unsigned short' [-Wc++11-narrowing] using UI16Max = integral_constant::max()+1>; ^ 12 errors generated.