Re: [PATCH/RFC 0/3] compiling git with gcc -O3 -Wuninitialized

2012-12-15 Thread Jeff King
On Sat, Dec 15, 2012 at 10:07:54AM +0700, Nguyen Thai Ngoc Duy wrote: If get_foo() is not inlined, then when compiling some_fun, gcc sees only that a pointer to the local variable is passed, and must assume that it is an out parameter that is initialized after get_foo returns. However,

Re: [PATCH/RFC 0/3] compiling git with gcc -O3 -Wuninitialized

2012-12-15 Thread Johannes Sixt
Am 14.12.2012 23:09, schrieb Jeff King: Can anybody think of a clever way to expose the constant return value of error() to the compiler? We could do it with a macro, but that is also out for error(), as we do not assume the compiler has variadic macros. I guess we could hide it behind #ifdef

Re: [PATCH/RFC 0/3] compiling git with gcc -O3 -Wuninitialized

2012-12-15 Thread Jeff King
On Sat, Dec 15, 2012 at 11:49:25AM +0100, Johannes Sixt wrote: Am 14.12.2012 23:09, schrieb Jeff King: Can anybody think of a clever way to expose the constant return value of error() to the compiler? We could do it with a macro, but that is also out for error(), as we do not assume the

Re: [PATCH/RFC 0/3] compiling git with gcc -O3 -Wuninitialized

2012-12-14 Thread Nguyen Thai Ngoc Duy
On Sat, Dec 15, 2012 at 5:09 AM, Jeff King p...@peff.net wrote: I always compile git with gcc -Wall -Werror, because it catches a lot of dubious constructs, and we usually keep the code warning-free. However, I also typically compile with -O0 because I end up debugging a fair bit. Sometimes,