Re: AllocSetContextCreate changes breake extensions - Mailing list pgsql-hackers

From Tom Lane
Subject Re: AllocSetContextCreate changes breake extensions
Date
Msg-id 23351.1539366713@sss.pgh.pa.us
Whole thread Raw
In response to Re: AllocSetContextCreate changes breake extensions  (Andres Freund <andres@anarazel.de>)
Responses Re: AllocSetContextCreate changes breake extensions  (Andres Freund <andres@anarazel.de>)
Re: AllocSetContextCreate changes breake extensions  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
List pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> But can't we just do something like:

> #if defined(HAVE__BUILTIN_CONSTANT_P) && defined(HAVE__VA_ARGS)
> #define AllocSetContextCreate(parent, name, ...) \
>     (StaticAssertExpr(__builtin_constant_p(name), \
>                       "memory context names must be constant strings"), \
>      AllocSetContextCreateExtended(parent, name, __VA_ARGS__))
> #else
> #define AllocSetContextCreate \
>     AllocSetContextCreateExtended
> #endif

> The set of compilers that have __builtin_constant_p and not vararg
> macros got to be about empty.

Yeah, fair point, and anyway we don't need the StaticAssert to exist
everywhere.  I'll make it so.

Shall we also backpatch the ALLOCSET_*_SIZES macros as Christoph
suggested?  I'm not convinced of the usefulness of that, since
extensions would still have to cope with them not being present
when building against existing minor releases.

            regards, tom lane


pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: AllocSetContextCreate changes breake extensions
Next
From: Andres Freund
Date:
Subject: Re: AllocSetContextCreate changes breake extensions