Am 01.01.23 um 13:11 schrieb Junio C Hamano: > René Scharfe <l.s.r@xxxxxx> writes: > >> On second thought, what do we gain by using __builtin_types_compatible_p >> here? Does it catch cases that the assignment check plus the element >> size check wouldn't? > > I was reacting to this part of an earlier message in the thread: > > Presumably we cannot catch > > int *ip; > unsigned *up; > > (0 ? (*(ip) = *(up), 0) : 0); > (0 ? (*(up) = *(ip), 0) : 0); > > with the approach? > > i.e. *ip and *up are of the same size. Would the assignment check > trigger? Ah, right, __builtin_types_compatible_p returns 0 in this case and an assignment is silently allowed. René