The first two patches fix errors causing `make hdr-check` to fail. The third is
legacy from v1 but provides code cleanup so we leave it. Finally, the last
patch is a patch which improves the portability and correctness of `hdr-check`.
Changes since v1:
* Reordered patches to put fixes first
* Took Peff's improvement suggestions for the $(HCO) target
* Added "pack-bitmap.h: fix unused variable warning"
Denton Liu (4):
apply.h: include missing header
promisor-remote.h: include missing header
pack-bitmap.h: remove magic number
Makefile: emulate compile in $(HCO) target better
.gitignore | 1 +
Makefile | 12 +++++++++---
apply.h | 1 +
pack-bitmap.h | 6 +++---
promisor-remote.h | 2 ++
5 files changed, 16 insertions(+), 6 deletions(-)
Range-diff against v1:
1: 0336d1345a < -: ---------- Makefile: use $(ALL_CFLAGS) in $(HCO) target
2: 1fc6dfc5fa = 1: 74efb6c04c apply.h: include missing header
3: 8ccbd81673 = 2: 2befc450fb promisor-remote.h: include missing header
4: a3a3357925 ! 3: 50e37c16f9 pack-bitmap.h: fix unused variable warning
@@ Metadata
Author: Denton Liu <[email protected]>
## Commit message ##
- pack-bitmap.h: fix unused variable warning
+ pack-bitmap.h: remove magic number
- When we ran `make hdr-check`, we got the following warning on Arch
Linux:
+ When we ran `make hdr-check` with the following patch
+
+ diff --git a/Makefile b/Makefile
+ index f879697ea3..d8df4e316b 100644
+ --- a/Makefile
+ +++ b/Makefile
+ @@ -2773,7 +2773,7 @@ CHK_HDRS = $(filter-out
$(EXCEPT_HDRS),$(patsubst ./%,%,$(LIB_H)))
+ HCO = $(patsubst %.h,%.hco,$(CHK_HDRS))
+
+ $(HCO): %.hco: %.h FORCE
+ - $(QUIET_HDR)$(CC) -include git-compat-util.h -I. -o
/dev/null -c -xc $<
+ + $(QUIET_HDR)$(CC) -include git-compat-util.h -I. -o
/dev/null -c -xc $(ALL_CFLAGS) $<
+
+ .PHONY: hdr-check $(HCO)
+ hdr-check: $(HCO)
+
+ and with `DEVELOPER=1`, we got the following warning on Arch Linux:
pack-bitmap.h:20:19: error: ‘BITMAP_IDX_SIGNATURE’ defined but
not used [-Werror=unused-const-variable=]
20 | static const char BITMAP_IDX_SIGNATURE[] = {'B', 'I',
'T', 'M'};
@@ Commit message
cc1: all warnings being treated as errors
"Use" the BITMAP_IDX_SIGNATURE variable by making the size of
- bitmap_disk_header.magic equal to the size of BITMAP_IDX_SIGNATURE. An
- alternative was to simply add MAYBE_UNUSED. However, this design was
- chosen because we eliminate the magic number (4) in the process.
+ bitmap_disk_header.magic equal to the size of BITMAP_IDX_SIGNATURE,
+ thereby eliminating the magic number (4).
+
+ An alternative was to simply add MAYBE_UNUSED, however that does not
+ eliminate the magic number.
+
+ Another alternative was to change the definition to
+
+ extern const char BITMAP_IDX_SIGNATURE[4];
+
+ However, this design was also not chosen as the static definition
allows
+ us to keep the declaration together for readability along with removing
+ the magic number.
## pack-bitmap.h ##
@@ pack-bitmap.h: struct commit;
-: ---------- > 4: 14def72319 Makefile: emulate compile in $(HCO) target
better
--
2.23.0.248.g3a9dd8fb08