Обсуждение: static-if-inline

Поиск
Список
Период
Сортировка

static-if-inline

От
Alvaro Herrera
Дата:
The ilist patch from Andres Freund introduces a cute trick for defining
maybe-inline functions, which works regardless of whether the compiler
supports inlining, and eliminates the need to write the code twice
(first in the header and also the .c file.)  It's really quite a simple
thing, but the whole topic on inlining has generated a lot of debate.

So to remove that controversy out of said patch, here's a preliminary
one: get rid of duplicate definitions in sortsupport.c, list.c, mcxt.c
(which are currently defined as static inline in their respective
headers for compilers that support it, and as regular functions in the
.c files for those that don't).

What's being done in this patch is exactly what would be done in the
ilist code.  So if there are problems with this, please speak up.

--
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

Вложения

Re: static-if-inline

От
Tom Lane
Дата:
Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> What's being done in this patch is exactly what would be done in the
> ilist code.  So if there are problems with this, please speak up.

Stylistic gripe: in palloc.h you didn't follow the pattern of#ifndef USE_INLINEextern ...#endif
before (rather than after) the function definitions.  Nitpicky I know,
but if we're trying to create a pattern, we should be consistent.

The comment added in c.h has some grammar issues, too.  Looks good
otherwise.
        regards, tom lane