Re: const correctness

Поиск
Список
Период
Сортировка
От Thomas Munro
Тема Re: const correctness
Дата
Msg-id CADLWmXVqGBwhJnK7226AWa4eGMo4h-mOQpAUgofqojaqn4vtpQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: const correctness  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Ответы Re: const correctness  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Re: const correctness  (Peter Eisentraut <peter_e@gmx.net>)
Список pgsql-hackers
On 9 November 2011 19:35, Kevin Grittner <Kevin.Grittner@wicourts.gov> wrote:
> Robert Haas <robertmhaas@gmail.com> wrote:
>> So that's already duplicating list_head, foreach, and forboth.
>
> OK, I failed to pick up on that properly.  With that stripped out,
> you get the attached patch, which does nothing but add "const" to
> 661 lines.  It still applies cleanly, builds with no warnings, and
> passes regression tests.
>
> It is a bit disappointing that without creating two flavors of the
> list_head function and the foreach and forboth macros, there are a
> number of functions which aren't intended to modify their inputs
> which can't be declared with const parameters; but unless there is
> some demonstrable performance benefit from those changes, I agree
> that the argument for having the two flavors is thin.

There is another option: if list_head is changed to take a pointer to
const List and return a pointer to non-const ListCell (something I was
trying to avoid before), then no XXX_const functions/macros are
necessary, and all of the functions from the first patch can keep
their 'const', adding const to 930 lines.

I've attached a new patch, which simply adds the keyword 'const' in
lots of places, no new functions etc.  This version generates no
warnings under -Wcast-qual (now that I've read Peter E's thread and
been inspired to fix up some places that previously cast away const)
for all code under backend/nodes.  To achieve that I had to stray
outside backend/nodes and change get_leftop and get_rightop (from
clauses.h).

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: heap vacuum & cleanup locks
Следующее
От: "Kevin Grittner"
Дата:
Сообщение: Re: const correctness