[PATCH] Fix "identifier redeclared" compilation error with SUN cc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Junio,

On Thu, 15 Nov 2007, Junio C Hamano wrote:
As I suspect there are other compilers that do not implement flexible array members (so you cannot use "member[]") nor older gcc extension of zero sized member (so you cannot use "member[0]" either), this checking specifically for Sun is too narrow.

On the other hand, as you said, this is too broad, because not everybody may be using the SUN compiler on Sun, nor the version that does not understand flexible array members.

But being broad should always be safer, albeit a bit wasteful.

How about doing it this way?

it looks ok on Solaris. I assembled the following patch from your posting, could you please include it?


Signed-off-by: Guido Ostkamp <git@xxxxxxxxxxxxxxxxxxx>
---
 git-compat-util.h |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/git-compat-util.h b/git-compat-util.h
index 276a437..97759fd 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -4,11 +4,20 @@
 #define _FILE_OFFSET_BITS 64

 #ifndef FLEX_ARRAY
-#if defined(__GNUC__) && (__GNUC__ < 3)
+#if defined(__GNUC__)
+#if (__GNUC__ < 3)
 #define FLEX_ARRAY 0
 #else
 #define FLEX_ARRAY /* empty */
 #endif
+#else
+/* more cases we know we can use 0 or empty can come here */
+#endif
+#endif
+
+/* if still undefined, default to the safe, old fashioned way */
+#ifndef FLEX_ARRAY
+#define FLEX_ARRAY 1
 #endif

 #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
--
1.5.3.6.728.gea559



-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux