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

Re: Git compile warnings (under mac/clang)

From
Jeff King <peff@peff.net>
Date
Jan 22, 2015, 22:01 UTC
Message-ID
<20150122220140.GB6695@peff.net>
In-Reply-To
<b2cbad0d8e59a0c4eb0565608f3f90bc@www.dscho.org>
On Thu, Jan 22, 2015 at 10:20:01PM +0100, Johannes Schindelin wrote:
Show 17 quoted lines
> On 2015-01-22 20:59, Stefan Beller wrote:
> > cc Johannes Schindelin <Johannes.Schindelin@gmx.de> who is working in
> > the fsck at the moment
> >
> > On Thu, Jan 22, 2015 at 11:43 AM, Michael Blume <blume.mike@gmail.com> wrote:
> >
> >>     CC fsck.o
> >> fsck.c:110:38: warning: comparison of unsigned enum expression >= 0 is
> >> always true [-Wtautological-compare]
> >>         if (options->msg_severity && msg_id >= 0 && msg_id < FSCK_MSG_MAX)
> >>                                      ~~~~~~ ^  ~
> 
> According to A2.5.4 of The C Programming Language 2nd edition:
> 
>     Identifiers declared as enumerators (see Par.A.8.4) are constants of type int.
> 
> Therefore, the warning is incorrect: any assumption about enum fsck_msg_id to be unsigned is false.

I'm not sure that made it to ANSI. C99 says (setion 6.7.2.2, paragraph 4):

  Each enumerated type shall be compatible with char, a signed integer
  type, or an unsigned integer type. The choice of type is
  implementation-defined, but shall be capable of representing the
  values of all the members of the enumeration.

I don't have a copy of C89, but this isn't mentioned in the (very cursory) list of changes found in C99. Anyway, that's academic.

I think we dealt with a similar situation before, in 3ce3ffb840a1dfa7fcbafa9309fab37478605d08.

-Peff
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 5 of 15 in “Git compile warnings (under mac/clang)”
  1. Michael BlumeJan 22, 2015
  2. Stefan BellerJan 22, 2015
  3. Peter WuJan 22, 2015
  4. Johannes SchindelinJan 22, 2015
  5. Jeff KingJan 22, 2015
  6. Johannes SchindelinJan 23, 2015
  7. Jeff KingJan 23, 2015
  8. Johannes SchindelinJan 23, 2015
  9. Jeff KingJan 23, 2015
  10. Junio C HamanoJan 23, 2015
  11. Jeff KingJan 23, 2015
  12. Johannes SchindelinJan 23, 2015
  13. Jeff KingJan 23, 2015
  14. Johannes SchindelinJan 23, 2015
  15. Junio C HamanoJan 23, 2015

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.