Hi All,

 

Build of last 10.2-ext fail on Win32 with message :

Sysvar 'optimizer_switch' failed 'def_val < my_set_bits(typelib.count)'

 

The problem seems to be in sys_vars.ic (Sys_var_set) :

>

>   {

>     option.var_type|= GET_SET;

>     global_var(ulonglong)= def_val;

>     SYSVAR_ASSERT(typelib.count > 0);

>     SYSVAR_ASSERT(typelib.count <= 64);

>     SYSVAR_ASSERT(def_val <= my_set_bits(typelib.count));

 

Patch b14e2b04 introduce a new optimizer_switch and now 'optimizer_switch' has 32 values.

my_set_bits works with unit32.

 

A new function like this

static inline uint64 my_set_bits64(int n) {

  return (((1ULL << (n - 1)) - 1) << 1) | 1; }

 

might solve this issue.

 

Regards.