Re: [PATCH 1/2] fast-import: Fix an gcc -Wuninitialized warning
From: Ramsay Jones <hidden>
Date: 2016-06-15 22:56:33
Jeff King wrote:
On Tue, Mar 26, 2013 at 07:09:44PM +0000, Ramsay Jones wrote:quoted
Commit cbfd5e1c ("drop some obsolete "x = x" compiler warning hacks", 21-03-2013) removed a gcc hack that suppressed an "might be used uninitialized" warning issued by older versions of gcc. However, commit 3aa99df8 ('fast-import: clarify "inline" logic in file_change_m', 21-03-2013) addresses an (almost) identical issue (with very similar code), but includes additional code in it's resolution. The solution used by this commit, unlike that used by commit cbfd5e1c, also suppresses the -Wuninitialized warning on older versions of gcc. In order to suppress the warning (against the 'oe' symbol) in the note_change_n() function, we adopt the same solution used by commit 3aa99df8.Yeah, they are essentially the same piece of code, so I don't mind this change. It is odd to me that gcc gets it right in one case but not the other, but I think we are deep into the vagaries of the compiler's code flow analysis here, and we cannot make too many assumptions. Were you actually triggering this warning, and if so, on what version of gcc?
yes, with:
gcc v3.4.4 (cygwin)
gcc v4.1.2 (Linux)
msvc v15.00.30729.01 (VC/C++ 2008 express edition)
no, with:
gcc v4.4.0 (msysgit)
clang 3.2 (Linux)
tcc v0.9.26 (Linux)
[lcc can't compile git; I forget why exactly.]
Or did the asymmetry just offend your sensibilities?
My sensibilities were, indeed, very offended! ;-) ATB, Ramsay Jones