On 1/8/18 19:56, Tom Lane wrote:
> Peter Geoghegan <pg@bowt.ie> writes:
>> Anyway, ISTM that it should be possible to make
>> pg_attribute_always_inline have no effect in typical debug builds.
>> Wouldn't that make everyone happy?
>
> That would improve matters, but do we have access to the -O switch
> level as an #if condition?
See __OPTIMIZE__ and __NO_INLINE__ here:
https://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
However, at <https://gcc.gnu.org/onlinedocs/gcc/Inline.html> it says,
"GCC does not inline any functions when not optimizing unless you
specify the ‘always_inline’ attribute for the function". So,
apparently, if the goal is to turn off inlining when not optimizing,
then we should just use the normal inline attribute.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services