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

Re: Purpose of "struct object_entry *oe = oe;"?

From
JJJoshua Juran <jjuran@gmail.com>
Date
Jul 2, 2010, 01:43 UTC
Message-ID
<69D6E995-8F0E-446C-90CD-758C160A7807@gmail.com>
In-Reply-To
<8039w681lo.fsf@tiny.isode.net>
On Jun 29, 2010, at 5:28 AM, Bruce Stephens wrote:
Show 17 quoted lines
> Out of curiousity, where did this convention/idiom come from, and  
> what's
> it for?
>
> I presume it's to remove a warning ("oe might be used  
> uninitialised") on
> a compiler (or something) that's clever enough to attempt such  
> analysis
> but too stupid to notice that the supposed initialisation is using
> something uninitialised (or perhaps the compiler's deliberately
> recognising the convention?).  Is that right, or does it actually do
> something more?
>
> I'm mostly surprised that it surprises me.  Is it used commonly in  
> other
> projects?  (It appears not to be mentioned in CodingGuidelines; should
> it be?)

I was wondering this myself. My compiler complains in (and only in) the *presence* of this idiom, rather than its absence, so I undid it:

jj/warn/uninitialized branch on GitHub http://github.com/jjuran/git/tree/jj/warn/uninitialized

jj/warn/uninitialized commit on GitHub
http://github.com/jjuran/git/commit/ 
8affbf2d8e46fbd5f3d6898aa07ea8548432e7bc
Signed-Off-By:  Joshua Juran <jjuran@gmail.com> (or s/gmail/metamage/)

A compiler that warns of uninitialized usage *unless* a variable is initialized *with itself* is doubly broken.

Cheers, Josh

Previous: Bruce StephensNext: David Aguilar
Message 2 of 4 in “Purpose of "struct object_entry *oe = oe;"?”
  1. Bruce StephensJun 29, 2010
  2. Joshua JuranJul 2, 2010
  3. David AguilarJul 2, 2010
  4. Bruce StephensJul 2, 2010

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.