Re: simplehash.h: "SH_SCOPE static" causes warnings

2024-04-09 Thread Robert Haas
On Tue, Apr 9, 2024 at 3:33 PM Jeff Davis wrote: > Should I go ahead and commit something like that now, or hold it until > the other thread concludes, or hold it until the July CF? I think it's fine to commit it now if it makes it usefully easier to fix an open item, and otherwise it should

Re: simplehash.h: "SH_SCOPE static" causes warnings

2024-04-09 Thread Robert Haas
On Tue, Apr 9, 2024 at 3:30 PM Jeff Davis wrote: > Pages of warnings is not ideal, though. We should either support > "SH_SCOPE static", or have some kind of useful #error that makes it > clear that we don't support it (and/or don't think it's a good idea). Fair. > > I'm not sure that I like

Re: simplehash.h: "SH_SCOPE static" causes warnings

2024-04-09 Thread Jeff Davis
Hi, On Tue, 2024-04-09 at 11:56 -0700, Andres Freund wrote: > FWIW, with just about any modern-ish compiler just using "inline" > doesn't > actually force inlining, it just changes the cost model to make it > more > likely. OK. In the linked thread, I didn't see a good reason to encourage the

Re: simplehash.h: "SH_SCOPE static" causes warnings

2024-04-09 Thread Jeff Davis
On Tue, 2024-04-09 at 14:49 -0400, Robert Haas wrote: > Hmm. I'm pretty sure that I've run into this problem, but I concluded > that I should use either "static inline" or "extern" and didn't think > any more of it. Pages of warnings is not ideal, though. We should either support "SH_SCOPE

Re: simplehash.h: "SH_SCOPE static" causes warnings

2024-04-09 Thread Andres Freund
Hi, On 2024-04-09 11:10:15 -0700, Jeff Davis wrote: > The reason I'm suggesting it there is because the hash table is used > only for the indexed binary heap, not an ordinary binary heap, so I'd > like to leave it up to the compiler whether to do any inlining or not. FWIW, with just about any

Re: simplehash.h: "SH_SCOPE static" causes warnings

2024-04-09 Thread Robert Haas
On Tue, Apr 9, 2024 at 2:10 PM Jeff Davis wrote: > If using "SH_SCOPE static" with simplehash.h, it causes a bunch of > warnings about functions that are defined but not used. It's simple > enough to fix by appending pg_attribute_unused() to the declarations > (attached). Hmm. I'm pretty sure

simplehash.h: "SH_SCOPE static" causes warnings

2024-04-09 Thread Jeff Davis
If using "SH_SCOPE static" with simplehash.h, it causes a bunch of warnings about functions that are defined but not used. It's simple enough to fix by appending pg_attribute_unused() to the declarations (attached). There are currently no callers that use "SH_SCOPE static", but I'm suggesting its