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

Re: [PATCH] xdiff/xdiffi.c: fix warnings about possibly uninitialized variables

From
DLDavide Libenzi <davidel@xmailserver.org>
Date
Apr 8, 2006, 17:18 UTC
Message-ID
<Pine.LNX.4.64.0604081013480.11852@alien.or.mcafeemobile.com>
In-Reply-To
<20060408152720.GA11125@fiberbit.xs4all.nl>
On Sat, 8 Apr 2006, Marco Roeland wrote:
Show 16 quoted lines
> Compiling this module gave the following warnings (some double dutch!):
>
> xdiff/xdiffi.c: In functie 'xdl_recs_cmp':
> xdiff/xdiffi.c:298: let op: 'spl.i1' may be used uninitialized in this function
> xdiff/xdiffi.c:298: let op: 'spl.i2' may be used uninitialized in this function
> xdiff/xdiffi.c:219: let op: 'fbest1' may be used uninitialized in this function
> xdiff/xdiffi.c:219: let op: 'bbest1' may be used uninitialized in this function
>
> A superficial tracking of their usage, without deeper knowledge about the
> algorithm, indeed confirms that there are code paths on which these
> variables will be used uninitialized. In practice these code paths might never
> be reached, but then these fixes will not change the algorithm. If these
> code paths are ever reached we now at least have a predictable outcome. And
> should the very small performance impact of these initializations be
> noticeable, then they should at least be replaced by comments why certain
> code paths will never be reached.

These paths are never reached because of the way data is prepared before and passed to the function. Unfortunately the compiler cannot know this. Using them as -1 or XDL_LINE_MAX won't help either, since those are out of domain values. You can leave it there and the algo won't suffer, or you can relax a little the warning level when building the file.

- Davide
Previous: Marco Roeland
Message 2 of 2 in “xdiff/xdiffi.c: fix warnings about possibly uninitialized variables”
  1. xdiff/xdiffi.c: fix warnings about possibly uninitialized variablesMarco Roeland, Apr 8, 2006
  2. Davide LibenziApr 8, 2006

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.