<div dir="ltr"><div>Hello,</div><div>I'm not sure that this mail should really have to be sent on this list, Maybe should I report this to specific clang mailing list. But, I hope you put me on the right way...</div><div><br></div><div>Here is the overflow_error.cpp which contains what I expected to be 16 error case when using std::integral_constant.</div><div><br></div><div>The point was, for me, perfectly clear : for each integer type, if I try to define some constant whose value is  std::numeric_limits<the_type>::min()-1 or std::numeric_limits<the_type>::max() + 1, I should get the same behaviour : at least some compile time warning, or mabe even some compile time error.</div><div><br></div><div>Having two error cases for each data type, and eight data types, I was expecting to get ... sixteen error when trying to compile this file.</div><div><br></div><div>But, as you  can see it in the error_output.txt, they are only fourteen errors:</div><div>using std::numeric_limits<uint32_t>::max() +1 and std::numeric_limits<uint64_t>::max() + 1 do not produce the same behaviour than usigne other data types or values.</div><div><br></div><div>IMHO, there is some incoherence behind that.  Isn't it?</div><div><br></div><div>PS: Please forgive my poor English, but my mother tongue is French<br></div></div>