Re: Patch: Remove gcc dependency in definition of inline functions

Поиск
Список
Период
Сортировка
От Marko Kreen
Тема Re: Patch: Remove gcc dependency in definition of inline functions
Дата
Msg-id e51f66da0912160718t38cfcbcbtf388022148db3b54@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Patch: Remove gcc dependency in definition of inline functions  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 12/16/09, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Marko Kreen <markokr@gmail.com> writes:
>  > On 12/16/09, Kurt Harriman <harriman@acm.org> wrote:
>
> >> For gcc, I think the __attribute__ has to come after the function's
>  >> parameter list, rather than before the return type.
>
>  > No.
>
>
> [ squint... ]  That's nowhere documented that I can find: all the
>  examples in the gcc docs show __attribute__ after the parameters.
>  It does seem to work, but should we rely on it?

Heh.  At least in 3.0, 3.1 and 4.2 docs there is:
 __attribute__((noreturn)) void d0 (void),     __attribute__((format(printf, 1, 2))) d1 (const char *, ...),     d2
(void);

describing that _att before decl list applies to all declarations,
but _att after decl applies to only that declaration.  That sort of
explains also why all examples have _att afterwards.
 http://gcc.gnu.org/onlinedocs/gcc-3.1.1/gcc/Attribute-Syntax.html

But I dare not to pick out sentences from Function-Attributes.html
that describe that...

>  The bigger problem though is that not all versions of gcc understand
>  always_inline:
>
>  $ gcc -Wall check.c
>  check.c:3: warning: `always_inline' attribute directive ignored

Oh, another argument against logic in headers.

>  which I think is sufficient reason to put an end to this sub-thread.
>  We have no particular need for force-inline semantics anyway, as
>  long as the compiler behaves reasonably for unreferenced inlines,
>  which gcc always has.

Ok.

-- 
marko


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

Предыдущее
От: "Kevin Grittner"
Дата:
Сообщение: Re: idea - new aggregates median, listagg
Следующее
От: Robert Haas
Дата:
Сообщение: Re: Update on true serializable techniques in MVCC