Re: tools/widl/typegen.c pointer initialization

2007-10-30 Thread Gerald Pfeifer
On Mon, 29 Oct 2007, Dan Hipschman wrote: > Compiling with "-O2 -W -Wall" using either gcc 4.0 or 3.4 I don't get > any warnings. Even adding -Wuninitialized doesn't do anything: I am mostly using GCC 3.4 with -O2 -Wall as you did, and occasionally a snapshot of GCC 4.3, with and without -Wextra

Re: tools/widl/typegen.c pointer initialization

2007-10-29 Thread Dan Hipschman
On Sun, Oct 28, 2007 at 07:07:15PM -0700, Dan Kegel wrote: > To get uninitialized warnings, you have to also specify > optimization (-O2). Without -O, gcc doesn't > do the analysis that can detect uninitialized variables. Compiling with "-O2 -W -Wall" using either gcc 4.0 or 3.4 I don't get any w

Re: tools/widl/typegen.c pointer initialization

2007-10-29 Thread Gerald Pfeifer
On Sun, 28 Oct 2007, Dan Hipschman wrote: > The logic is as follows: Thanks for the explanation, Dan! > Better than this would be to put "assert(is_user_type(type));" above the > initializations to convince the programmer at least that name will get > initialized correctly in get_user_type. If

re: tools/widl/typegen.c pointer initialization

2007-10-28 Thread Dan Kegel
Dan H. wrote: > If you tell me what options you build with and I can reproduce the > warning then I'll be more than happy to try to fix it. I build widl > with -W -Wall and get two warnings. To get uninitialized warnings, you have to also specify optimization (-O2). Without -O, gcc doesn't do th

Re: tools/widl/typegen.c pointer initialization

2007-10-28 Thread Dan Hipschman
On Mon, Oct 29, 2007 at 01:26:45AM +0100, Gerald Pfeifer wrote: > I think the question is whether a compiler can reasonably be expected > to deduce that the source is fine. If that deduction involves solving > the halting problem (or similar) hacking the source to avoid the warning > actually does

Re: tools/widl/typegen.c pointer initialization

2007-10-28 Thread Dan Hipschman
On Sun, Oct 28, 2007 at 01:51:34PM +0100, Gerald Pfeifer wrote: > In tools/widl/typegen.c we have the following snippet > > static void write_user_tfs(FILE *file, type_t *type, unsigned int *tafsoff) > { > unsigned int start, absoff, flags; > unsigned int align = 0, ualign = 0; > c