On Mon, Jul 23, 2018 at 12:57 PM Dan Kennedy <danielk1...@gmail.com> wrote:
> On 07/22/2018 07:48 PM, Victor Costan wrote: > > In a custom SQLite build, SQLITE_DEFAULT_LOOKASIDE results in compilation > > errors, unless used with SQLITE_OMIT_COMPILEOPTION_DIAGS. > > > > This is because src/ctime.c includes the following block: > > #ifdef SQLITE_DEFAULT_LOOKASIDE > > "DEFAULT_LOOKASIDE=" CTIMEOPT_VAL(SQLITE_DEFAULT_LOOKASIDE), > > #endif > > > > However, CTIMEOPT_VAL (defined in the same file) is a one-argument macro: > > #define CTIMEOPT_VAL_(opt) #opt > > #define CTIMEOPT_VAL(opt) CTIMEOPT_VAL_(opt) > > > > I suspect that an easy fix would involve defining a 2-argument macro > > as CTIMEOPT_VAL(arg1) > > "," CTIMEOPT_VAL(arg2). > > Thanks for reporting this. Now fixed here: > > https://www.sqlite.org/src/info/1cc72845f92198f2 > The diff adds: #define CTIMEOPT_VAL2_(opt1,opt2) #opt1 "," #opt2 #define CTIMEOPT_VAL2(opt) CTIMEOPT_VAL2_(opt) But don't you mean the below instead? #define CTIMEOPT_VAL2_(opt1,opt2) #opt1 "," #opt2 #define CTIMEOPT_VAL2(opt) CTIMEOPT_VAL2_(opt, opt) From https://gcc.gnu.org/onlinedocs/cpp/Macro-Arguments.html : The number of arguments you give must match the number of parameters in the macro definition I'm not sure though, possible I missed something. --DD _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users