Improve implementation of pg_attribute_always_inline.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 434e6e1484418c55561914600de9e180fc408378
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2018-01-24T04:07:13Z
Releases: 11.0
Improve implementation of pg_attribute_always_inline.

Avoid compiler warnings on MSVC (which doesn't want to see both
__forceinline and inline) and ancient GCC (which doesn't have
__attribute__((always_inline))).

Don't force inline-ing when building at -O0, as the programmer is probably
hoping for exact source-to-object-line correspondence in that case.
(For the moment this only works for GCC; maybe we can extend it later.)

Make pg_attribute_always_inline be syntactically a drop-in replacement
for inline, rather than an additional wart.

And improve the comments.

Thomas Munro and Michail Nikolaev, small tweaks by me

Discussion: https://postgr.es/m/32278.1514863068@sss.pgh.pa.us
Discussion: https://postgr.es/m/CANtu0oiYp74brgntKOxgg1FK5+t8uQ05guSiFU6FYz_5KUhr6Q@mail.gmail.com

Files

PathChange+/−
src/backend/executor/nodeHashjoin.c modified +1 −2
src/include/c.h modified +12 −5

Discussion