From: René Scharfe Date: Sun, 01 Jan 2023 21:05:33 GMT Subject: [PATCH v2 0/4] COPY_ARRAY, MOVE_ARRAY, DUP_ARRAY Message-ID: <9bc1bd74-f72c-1b43-df7c-950815babb03@web.de> In-Reply-To: Changes since v1: - add macro BARF_UNLESS_COPYABLE - use __builtin_types_compatible_p if available factor out BARF_UNLESS_COPYABLE do full type check in BARF_UNLESS_COPYABLE add DUP_ARRAY use DUP_ARRAY attr.c | 3 +-- builtin/am.c | 3 +-- commit-graph.c | 3 +-- commit-reach.c | 3 +-- compat/mingw.c | 3 +-- contrib/coccinelle/array.cocci | 7 +++++++ git-compat-util.h | 15 +++++++++++++-- parse-options.c | 3 +-- pathspec.c | 6 ++---- 9 files changed, 28 insertions(+), 18 deletions(-) Range-Diff gegen v1: 1: 052b9c103d < -: ---------- do full type check in COPY_ARRAY and MOVE_ARRAY -: ---------- > 1: f50df9208f factor out BARF_UNLESS_COPYABLE -: ---------- > 2: 6a98a8f2a2 do full type check in BARF_UNLESS_COPYABLE 2: fb5544fc51 ! 3: 757baca245 add DUP_ARRAY @@ Commit message dst = ARRAY_DUP(src, n); That would be more versatile, as it could be used in declarations as - well. Making it type-safe would require the use of typeof from C23, - though. + well. Making it type-safe would require the use of typeof_unqual from + C23, though. So use the safe and compatible variant for now. 3: bfbf085ac3 = 4: 435fbd8e92 use DUP_ARRAY -- 2.39.0