On Wed, Oct 05, 2016 at 03:40:18PM +0000, Joseph Myers wrote: > On Tue, 4 Oct 2016, Martin Sebor wrote: > > > > Well, typically cases where one of long and int is passed and the other is > > > expected, but they have the same size, are bugs waiting to happen when the > > > code is built on a 64-bit system. That is, they *should* warn. > > > > Typically, yes. In the case of wchar_t (or int) and wint_t I don't > > think it's helpful. Consider this case from my comment #5 on bug > > 72858. I don't think there is any point in issuing a warning here. > > On the majority of targets they either all are or promote to a type > > of the same size, don't they? > > I'm unconvinced by that "majority of targets" of argument (which once > would have been true for int and long, and you could say it is true for > long and size_t). There's a clear correct type here, and it's wint_t, and > it's always easy to fix the code to use the correct type.
But, can we reliably detect differences between wint_t and unsigned int if wint_t is a typedef to that, or size_t and unsigned long etc., I mean doesn't early folding already throw it away? Jakub