Re: Further news on Clang - spurious warnings

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Geoghegan <peter(at)2ndquadrant(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, PG Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Further news on Clang - spurious warnings
Date: 2011-08-06 18:58:07
Message-ID: 3117.1312657087@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Peter Geoghegan <peter(at)2ndquadrant(dot)com> writes:
> On 5 August 2011 20:07, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> If I were trying to get rid of this warning, I'd be wondering why
>> ReplNodeTag is a distinct enum in the first place.

> Indeed, that doesn't seem to be justified anywhere, and seems to be a
> violation of the abstraction of Node as a pseudo base class which
> would have broken any "downcasting" that we might have attempted to
> do. Since ReplNodeTag wasn't being used directly, just its enumeration
> constants, simply moving the constants to the global, generic NodeTag
> enum fixes the issue.

> That is what the attached patch does.

I did this plus moving replnodes.h into a saner spot: if they're
full-fledged Nodes, they ought to be defined in src/include/nodes/.

I did not renumber the existing node tags as your patch suggests.
We might want to do that at some point to make a bit more breathing
room, but I think it's too late in the 9.1 cycle to be doing that
in 9.1. People have probably already built third-party code that
incorporates values like T_ReturnSetInfo.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2011-08-06 19:30:30 Re: mosbench revisited
Previous Message Alex Hunsaker 2011-08-06 18:37:28 Re: plperl crash with Debian 6 (64 bit), pl/perlu, libwww and https