git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 0/8] enhancing builds on Solaris

From
Brandon Casey <casey@nrlssc.navy.mil>
Date
Jun 6, 2009, 00:41 UTC
Message-ID
<T7_w8K5IX5OgW5JLdf5peLzAiFf8SXQIHPcceb1qc4y8ncD9xtH3Cw@cipher.nrlssc.navy.mil>
In-Reply-To
<7vbpp2fcca.fsf@alter.siamese.dyndns.org>
Junio C Hamano wrote:
> Looked good except for 3/8 which I did not quite understand.

I get this error when compiling using the SUNWspro c99 compiler when delta.h is included in diff-delta.c:

"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 44
c99: acomp failed for diff-delta.c
gmake: *** [diff-delta.o] Error 2
I don't see any difference between those two "current" and "previous" statements.

I thought I knew why the error was occurring, but now I don't think I do. There are other function declarations in delta.h that are implemented in diff-delta.c, and those functions are both declared and implemented _before_ create_delta in delta.h and diff-delta.c respectively.

But, there does not seem to be anything declared in delta.h that is required by diff-delta.c.

Maybe the commit message should be shortened to something more like:
   The SUNWspro C99 compiler complains: "identifier redeclared: create_delta" when
   delta.h is included.  There is nothing in "delta.h" that is required by
   diff-delta.c, so don't #include it.

Hmm, well, I just noticed that in the commit message I said "diff.h" everywhere when I meant to say "delta.h". Maybe that is the confusion.

-brandon
Previous: Junio C HamanoNext: Jeff King
Message 29 of 30 in “enhancing builds on Solaris”
  1. 0/8 enhancing builds on SolarisBrandon Casey, Jun 5, 2009
  2. 1/8 Makefile: use /usr/ucb/install on SunOS platforms rather than ginstallBrandon Casey, Jun 5, 2009
  3. 2/8 Makefile: add NEEDS_RESOLV to optionally add -lresolv to compile argumentsBrandon Casey, Jun 5, 2009
  4. 3/8 diff-delta.c: "diff.h" is not a required includeBrandon Casey, Jun 5, 2009
  5. 4/8 On Solaris choose the OLD_ICONV iconv() declaration based on the UNIX specBrandon Casey, Jun 5, 2009
  6. 5/8 git-compat-util.h: tweak the way _XOPEN_SOURCE is set on SolarisBrandon Casey, Jun 5, 2009
  7. 6/8 Makefile: define __sun__ on SunOSBrandon Casey, Jun 5, 2009
  8. 7/8 Makefile: introduce SANE_TOOL_PATH for prepending required elements to PATHBrandon Casey, Jun 5, 2009
  9. 8/8 Makefile: add section for SunOS 5.7Brandon Casey, Jun 5, 2009
  10. Jeff KingJun 8, 2009
  11. Brandon CaseyJun 8, 2009
  12. Jeff KingJun 8, 2009
  13. Brandon CaseyJun 8, 2009
  14. Junio C HamanoJun 8, 2009
  15. Jeff KingJun 8, 2009
  16. Brandon CaseyJun 8, 2009
  17. Brandon CaseyJun 9, 2009
  18. 3/8 diff-delta.c: "delta.h" is not a required includeBrandon Casey, Jun 6, 2009
  19. Nicolas PitreJun 6, 2009
  20. Brandon CaseyJun 6, 2009
  21. Nicolas PitreJun 6, 2009
  22. Brandon CaseyJun 6, 2009
  23. git-compat-util.h: avoid using c99 flex array feature with Sun compiler 5.8Brandon Casey, Jun 8, 2009
  24. Jakub NarebskiJun 6, 2009
  25. Brandon CaseyJun 7, 2009
  26. configure: test whether -lresolv is neededRalf Wildenhues, Jun 7, 2009
  27. Brandon CaseyJun 5, 2009
  28. Junio C HamanoJun 6, 2009
  29. Brandon CaseyJun 6, 2009
  30. Jeff KingJun 8, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.