On Wed, Feb 8, 2017 at 5:21 AM, Dilip Kumar <dilipbal...@gmail.com> wrote: > On Wed, Feb 8, 2017 at 3:44 AM, Robert Haas <robertmh...@gmail.com> wrote: >>>> +#ifndef SH_USE_NONDEFAULT_ALLOCATOR >>>> + >>> >>> That should probably be documented in the file header. >> >> Right. OK, did that and a few other cleanups, and committed. > > I think we need to have prototype for the default allocator outside of > #ifndef SH_USE_NONDEFAULT_ALLOCATOR. Because the file e.g. tidbitmap.c > who wants to use SH_USE_NONDEFAULT_ALLOCATOR will provide the > allocator function definition but it can not have the declaration of > those function as that function take SH_TYPE as input and that will be > only defined once we include the simplehash.h. > > So basically we can not declare prototype before including > simplehash.h for allocator. And, if we don't declare we will get > "implicit declaration warning" because simplehash itself is using > those functions. > > The solution is simplehash.h, should always declare it, and provide > the definitions only if SH_USE_NONDEFAULT_ALLOCATOR is not defined. > Attached patch does that.
Makes sense, will commit. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers