Re: [PATCH] Fix Solaris Workshop Compiler issues
- From
Alex Riesen <raa.lkml@gmail.com>
- Date
- Nov 14, 2007, 20:47 UTC
- Message-ID
- <20071114204732.GE3973@steel.home>
- In-Reply-To
- <Pine.LNX.4.64.0711142125460.17530@bianca.dialin.t-online.de>
Guido Ostkamp, Wed, Nov 14, 2007 21:31:13 +0100:
Show 18 quoted lines
> Hello,
>
> please find below a patch that solves an error when compiling with the
> original Sun Solaris Compiler. When compiling out of the box, the following
> happens:
>
> CC diff-delta.o
> "diff-delta.c", line 314: identifier redeclared: create_delta
> current : function(pointer to const struct delta_index {unsigned long
> memsize, pointer to const void src_buf, unsigned long src_size, unsigned
> int hash_mask, array[-1] of pointer to struct index_entry {..} hash},
> pointer to const void, unsigned long, pointer to unsigned long, unsigned
> long) returning pointer to void
> previous: function(pointer to const struct delta_index {unsigned long
> memsize, pointer to const void src_buf, unsigned long src_size, unsigned
> int hash_mask, array[-1] of pointer to struct index_entry {..} hash},
> pointer to const void, unsigned long, pointer to unsigned long, unsigned
> long) returning pointer to void : "delta.h", line 44The both prototypes listed are *exactly* the same. And both are wrong. Looks like you're dealing with typically broken Sun compiler.
Try defining const to nothing or removing it from this prototype. I suspect the thing is just so old and broken that it does not even know anything of const.
Show 5 quoted lines
> cc: acomp failed for diff-delta.c > make: *** [diff-delta.o] Error 2 > > This is because 'struct delta_index' is declared with no size in delta.h > and with size in diff-delta.c which does not fit.
Huh?! Ever heard of forward declaration?