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

3 messages, 3 authors, 2016-06-15 · open the first message on its own page

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

From: Bruce Stephens <hidden>
Date: 2016-06-15 22:49:01

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?)

(First instance in git that I can see is
67affd5173da059ca60aab7896985331acacd9b4, 2006.)

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

From: Joshua Juran <hidden>
Date: 2016-06-15 22:49:04

On Jun 29, 2010, at 5:28 AM, Bruce Stephens wrote:
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 <redacted> (or s/gmail/metamage/)

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

Cheers,
Josh

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

From: David Aguilar <hidden>
Date: 2016-06-15 22:49:04

On Tue, Jun 29, 2010 at 01:28:19PM +0100, Bruce Stephens wrote:
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?)

(First instance in git that I can see is
67affd5173da059ca60aab7896985331acacd9b4, 2006.)

There are some good explanations in the list archives.
http://thread.gmane.org/gmane.comp.version-control.git/133278/focus=133422
http://thread.gmane.org/gmane.comp.version-control.git/124676/focus=124803


-- 
		David
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help