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

Re: [PATCH 0/2] -Wuninitialized

From
Ramsay Jones <ramsay@ramsayjones.plus.com>
Date
Mar 20, 2018, 22:41 UTC
Message-ID
<ce46b318-2c37-4562-7e57-526f511cd6a8@ramsayjones.plus.com>
In-Reply-To
<20180320043225.GB13302@sigill.intra.peff.net>
On 20/03/18 04:32, Jeff King wrote:
> On Mon, Mar 19, 2018 at 05:53:09PM +0000, Ramsay Jones wrote:
Show 21 quoted lines
>> If we now add a patch to remove all self-initialization, which would be the
>> first patch plus the obvious change to 'saved_namelen' in read-cache.c, then
>> note the warnings issued by various compilers at various optimization levels
>> on several different platforms [5]:
>>
>>                     O0      O1      O2      O3      Os       Og
>>  1) gcc 4.8.3   |   -      1,20     1    1,18-19  1-4,21-23  1,5-17
>>  2) gcc 4.8.4   |   -      1,20     1       1     1-4,21-23  1,5-8,10-13,15-16 
>>  3) clang 3.4   |   -       -       -       -        -       n/a 
>>  4) gcc 5.4.0   |   -       1       1       1     1,3-4,21   1,5-8,10-13,16-16
>>  5) clang 3.8.0 |   -       -       -       -        -       n/a 
>>  6) gcc 5.4.0   |   -       1       1       1       1-4     1,5-17 
>>  7) clang 3.8.0 |   -       -       -       -        -       n/a 
>>  8) gcc 6.4.0   |   -       1       1    1,18-19    1,4     1,5-17
>>  9) clang 5.0.1 |   -       -       -       -        -        -
>> 10) gcc 7.2.1   |   -       1       1       1       1,4     1,5-17
> 
> So I guess this could create headaches for people using DEVELOPER=1 on
> as ancient a compiler as 4.8.4, but most other people should be OK. I
> think I can live with that as a cutoff, and the Travis builds should
> work there.

Yeah, I have an even older laptop (Windows 95 era), but I'm not sure if it will even boot these days. (It does have gcc on it IIRC, but who knows which version). ;-)

Show 6 quoted lines
> (And if we do the detect-compiler stuff from the other nearby thread,
> somebody who cares can even loosen the warnings for those old gcc
> versions).
> 
> I'm neglecting anybody doing -O3 or -Os here, but IMHO those are
> sufficiently rare that the builder can tweak their own settings.

I have occasionally used -O3, never used -Os (except for this exercise) and have been meaning to try -Og (in anger) for a while. ;-)

> I wonder if people use -Og, though? I don't (I usually do -O0 for my
> edit-compile-debug cycle).
In the gcc documentation, the -Og description says:
  "... It should be the optimization level of choice for the standard
   edit-compile-debug cycle, ..."

Like you, I use -O0 (very old habits). As I said above, I have been meaning to try -Og, but, well round tuits ... ;-)

[BTW, gcc also supports -Ofast, but I don't think we want to go there ...]

ATB, Ramsay Jones

Previous: Jeff KingNext: Johannes Schindelin
Message 3 of 5 in “-Wuninitialized”
  1. 0/2 -WuninitializedRamsay Jones, Mar 19, 2018
  2. Jeff KingMar 20, 2018
  3. Ramsay JonesMar 20, 2018
  4. Johannes SchindelinMar 20, 2018
  5. Ramsay JonesMar 20, 2018

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.