aboutsummaryrefslogtreecommitdiffstats
path: root/git-compat-util.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-12-23 09:32:10 -0800
committerJunio C Hamano <gitster@pobox.com>2024-12-23 09:32:11 -0800
commit4156b6a741c7fb15a4eccb320612fb6e453f439c (patch)
tree203f68166cc5f2337fd80f6628c3b344d2dd3abf /git-compat-util.h
parentMerge branch 'kn/reftable-writer-log-write-verify' (diff)
parentt/helper: don't depend on implicit wraparound (diff)
downloadgit-4156b6a741c7fb15a4eccb320612fb6e453f439c.tar.gz
git-4156b6a741c7fb15a4eccb320612fb6e453f439c.zip
Merge branch 'ps/build-sign-compare'
Start working to make the codebase buildable with -Wsign-compare. * ps/build-sign-compare: t/helper: don't depend on implicit wraparound scalar: address -Wsign-compare warnings builtin/patch-id: fix type of `get_one_patchid()` builtin/blame: fix type of `length` variable when emitting object ID gpg-interface: address -Wsign-comparison warnings daemon: fix type of `max_connections` daemon: fix loops that have mismatching integer types global: trivial conversions to fix `-Wsign-compare` warnings pkt-line: fix -Wsign-compare warning on 32 bit platform csum-file: fix -Wsign-compare warning on 32-bit platform diff.h: fix index used to loop through unsigned integer config.mak.dev: drop `-Wno-sign-compare` global: mark code units that generate warnings with `-Wsign-compare` compat/win32: fix -Wsign-compare warning in "wWinMain()" compat/regex: explicitly ignore "-Wsign-compare" warnings git-compat-util: introduce macros to disable "-Wsign-compare" warnings
Diffstat (limited to 'git-compat-util.h')
-rw-r--r--git-compat-util.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/git-compat-util.h b/git-compat-util.h
index a06d4f3809..e283c46c6f 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -44,6 +44,16 @@ struct strbuf;
#define GIT_GNUC_PREREQ(maj, min) 0
#endif
+#if defined(__GNUC__) || defined(__clang__)
+# define PRAGMA(pragma) _Pragma(#pragma)
+# define DISABLE_WARNING(warning) PRAGMA(GCC diagnostic ignored #warning)
+#else
+# define DISABLE_WARNING(warning)
+#endif
+
+#ifdef DISABLE_SIGN_COMPARE_WARNINGS
+DISABLE_WARNING(-Wsign-compare)
+#endif
#ifndef FLEX_ARRAY
/*