Re: compiler warnings with GCC 4.5 - Mailing list pgsql-hackers

From Tom Lane
Subject Re: compiler warnings with GCC 4.5
Date
Msg-id 21634.1263745970@sss.pgh.pa.us
Whole thread Raw
In response to compiler warnings with GCC 4.5  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
Peter Eisentraut <peter_e@gmx.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


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: compiler warnings with GCC 4.5
Next
From: Jan Urbański
Date:
Subject: Re: xpath improvement suggestion