On Sat, Sep 22, 2018 at 9:46 AM Andres Freund <and...@anarazel.de> wrote: > On 2018-09-22 09:15:27 +1200, Thomas Munro wrote: > > On Sat, Sep 22, 2018 at 8:51 AM Andres Freund <and...@anarazel.de> wrote: > > > I think there's some argument to be made about the "mental" complexity > > > of the macros - if we went for them, we'd certainly need to add some > > > docs about how they work. One argument for having PP_NARGS (renamed) is > > > that it doesn't seem useful just here, but in a few other cases as well. > > > > It's a nice general facility to have in the tree. It seems to compile > > OK on clang, gcc, MSVC (I added this thread as CF entry 20/1798 as a > > lazy way to see if AppVeyor would build it OK, and it worked fine > > until conflicting commits landed). I wonder if xlc, icc, aCC and Sun > > Studio can grok it. > > I think unless $compiler doesn't correctly implement vararg macros, it > really should just work. There's nothing but pretty smart use of > actually pretty plain vararg macros. If any of the other compilers have > troubles with that, they'd really not implement vararg macros...
I vote for doing it this way then. It may turn out to be useful for efficient SearchSysCache(...), DirectFunctionCall(...) and other things like that. -- Thomas Munro http://www.enterprisedb.com