Re: compiler warnings with GCC 4.5

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: pgsql-hackers(at)postgresql(dot)org, Michael Meskes <meskes(at)postgresql(dot)org>
Subject: Re: compiler warnings with GCC 4.5
Date: 2010-01-17 16:32:50
Message-ID: 21634.1263745970@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> read.c: In function nodeRead:
> read.c:370:3: warning: case value 1000001 not in enumerated type
> NodeTag

> This can be fixed by changing
> switch (type)
> to
> switch ((int) type)

No objection from here. We don't attempt to cover all possible NodeTags
in that switch anyway, so I don't see that we're losing any error
detection capability by adding the cast.

> preproc.y: In function base_yyparse:
> preproc.y:8043:19: warning: operation on yyval.str may be undefined

> The code in question looks like

> | SETOF SimpleTypename opt_array_bounds
> { $$ = $$ = cat_str(3, make_str("setof"), $2, $3.str); }
> ^^^^^^^

> It is converted from the main grammar, so it looks like a bug in the
> conversion routine.

The double assignment looks inefficient, but I bet what it's really unhappy
about is that one of the cat_str arguments has a .str suffix and the
other doesn't --- why is that?

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jan Urbański 2010-01-17 16:33:40 Re: xpath improvement suggestion
Previous Message Peter Eisentraut 2010-01-17 16:19:38 compiler warnings with GCC 4.5