From: René Scharfe Date: Sun, 01 Jan 2023 12:32:11 GMT Subject: Re: [PATCH 1/3] do full type check in COPY_ARRAY and MOVE_ARRAY Message-ID: <269d85de-1448-0198-8251-9af898fedc67@web.de> In-Reply-To: Am 01.01.23 um 13:11 schrieb Junio C Hamano: > René Scharfe 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é