Re: [PATCH] Fix Solaris Workshop Compiler issues
From: Alex Riesen <hidden>
Date: 2016-06-15 22:43:51
Guido Ostkamp, Wed, Nov 14, 2007 21:31:13 +0100:
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.
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?