[PATCH v2 0/4] COPY_ARRAY, MOVE_ARRAY, DUP_ARRAY
- From
René Scharfe <l.s.r@web.de>
- Date
- Jan 1, 2023, 21:05 UTC
- Message-ID
- <9bc1bd74-f72c-1b43-df7c-950815babb03@web.de>
- In-Reply-To
- <efe7ec20-201e-a1c1-8e16-2f714a0aee8e@web.de>
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