Re: Unimpressed with pg_attribute_always_inline
Thomas Munro <thomas.munro@enterprisedb.com>
From: Thomas Munro <thomas.munro@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>, pgsql-hackers@lists.postgresql.org
Date: 2018-01-04T11:11:19Z
Lists: pgsql-hackers
Attachments
- fix-always-inline-warnings.patch (application/octet-stream) patch
On Tue, Jan 2, 2018 at 4:58 PM, Thomas Munro <thomas.munro@enterprisedb.com> wrote: > On Tue, Jan 2, 2018 at 4:17 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> gaur | nodeHashjoin.c:167: warning: `always_inline' attribute directive ignored >> mastodon | .\src\backend\executor\nodeHashjoin.c(165): warning C4141: 'inline' : used more than once > > 1. MSVC doesn't like you to say both "__forceinline" and "inline". > > 2. GCC 2.95.3 doesn't understand always_inline. From a quick look at > archived manuals, it seems that that attribute arrived in 3.1. Here is one way to fix those warnings. Thoughts? >> Therefore, I think that pg_attribute_always_inline is not merely >> useless but actively bad, and should be removed. How about a macro PG_NOINLINE, which, if defined, inhibits this? Or I could give up this strategy and maintain two separate very similar functions, ExecHashJoin and ExecParallelHashJoin. -- Thomas Munro http://www.enterprisedb.com
Commits
-
Improve implementation of pg_attribute_always_inline.
- 434e6e148441 11.0 landed
-
Add pg_attribute_always_inline.
- dbb3d6f0102e 11.0 cited