Hi,
On 2019-08-25 09:15:35 +1200, Thomas Munro wrote:
> On Sun, Aug 25, 2019 at 8:24 AM Andres Freund <andres@anarazel.de> wrote:
> > On August 24, 2019 1:08:11 PM PDT, Thomas Munro <thomas.munro@gmail.com> wrote:
> > >Perhaps we'll need some macrology to select between llvm and std
> > >versions? I am guessing we can't decree that PostgreSQL's minimum C++
> > >level is C++14 and simply change it to std::make_unique.
> >
> > Perhaps just a
> > #if new_enough
> > using std::make_unique
> > #else
> > using llvm::mak_eunique
> >
> > At the start of the file, and then use it unqualified?
>
> Yeah, it's a pain though, you'd have to say:
>
> #if llvm >= 9
> # if cpp >= 14
> # using std::make_unique;
> # else
> # error "postgres needs at least c++ 14 to use llvm 9"
> # endif
> #else
> # using llvm::make_unique;
> #endif
I don't think we'd really need the inner part, because you can't use
llvm 9 without a new enough compiler. There's plenty make_unique use in
inline functions etc.
> Maybe we should just use std::unique_ptr's constructor, ie give it new
> ImportMayTy() instead of using make_unique(), even though that's not
> cool C++ these days?
Yea, wfm. do you want to make it so?
Greetings,
Andres Freund