From: Johannes Schindelin <redacted>
This seems to be required to define `FLEX_ARRAY` in a manner that MSVC
in C11 mode accepts. Without this fix, building Git for Windows'
experimental FSCache code would fail thusly:
error C2229: struct 'heap_fsentry' has an illegal zero-sized array
Signed-off-by: Johannes Schindelin <redacted>
---
git-compat-util(msvc): C11 does not imply support for zero-sized arrays
In Git for Windows' continuously-rebased branches, I found this problem
[https://github.com/git-for-windows/git/runs/4431149285?check_suite_focus=true#step:9:14507]
(which uses FLEX_ARRAY correctly, but fails because FLEX_ARRAY is no
longer defined as required by MS Visual C).
This patch is based on bc/require-c99.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1094%2Fdscho%2Fflex-array-and-msvc-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1094/dscho/flex-array-and-msvc-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1094
git-compat-util.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/git-compat-util.h b/git-compat-util.h
index 19943e214ba..c9f508b3a83 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -46,7 +46,7 @@
/*
* See if our compiler is known to support flexible array members.
*/
-#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && (!defined(__SUNPRO_C) || (__SUNPRO_C > 0x580))
+#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(_MSC_VER) && (!defined(__SUNPRO_C) || (__SUNPRO_C > 0x580))
# define FLEX_ARRAY /* empty */
#elif defined(__GNUC__)
# if (__GNUC__ >= 3)
base-commit: 7bc341e21b566c6685b7d993ca80459f9994be38
--
gitgitgadget