<div>For code such as:</div><div><br></div><div>void f(unsigned int u, int i) {</div><div>  (void) (true ? u : i);</div><div>}</div><div><br></div><div>When run with -Wsign-compare, Clang gives the following warning.</div>
<div><br></div><div><div>warning: operands of ? are integers of different signs:</div><div>      'unsigned int' and 'int' [-Wsign-compare]</div><div>  (void) (true ? u : i);</div><div>               ^ ~   ~</div>
</div><div><br></div><div>Yet, no comparison is going on between u and i, so the warning seems out of place for grouping with -Wsign-compare.  I think that it would be better is this warning was pulled out of the -Wsign-compare diagnostic group.  Also, gcc's -Wsign-compare does not warn on this code, so this change will make Clang's sign compare closer to gcc's.  Does this seem reasonable?</div>