From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | pgsql-hackers(at)postgresql(dot)org, Christoph Berg <cb(at)df7cb(dot)de> |
Subject: | Re: AllocSetContextCreate changes breake extensions |
Date: | 2018-10-12 17:51:53 |
Message-ID: | 23351.1539366713@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andres Freund <andres(at)anarazel(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2018-10-12 17:56:55 | Re: AllocSetContextCreate changes breake extensions |
Previous Message | Andres Freund | 2018-10-12 17:46:24 | Re: AllocSetContextCreate changes breake extensions |