* installing *source* package ‘isotree’ ...
** package ‘isotree’ successfully unpacked and MD5 sums checked
** using staged installation
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether g++-14 -std=gnu++17 accepts -g... yes
checking for g++-14 -std=gnu++17 option to enable C++11 features... none needed
configure: creating ./config.status
config.status: creating src/Makevars
** libs
using C++ compiler: ‘g++-14 (GCC) 14.1.0’
using C++17
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/isotree/src'
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -D_FOR_R -D_USE_XOSHIRO -D_USE_ROBIN_MAP -DSUPPORTS_RESTRICT=1  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I/usr/local/include   -fopenmp -fno-math-errno -fno-trapping-math -fvisibility=hidden -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c RcppExports.cpp -o RcppExports.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -D_FOR_R -D_USE_XOSHIRO -D_USE_ROBIN_MAP -DSUPPORTS_RESTRICT=1  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I/usr/local/include   -fopenmp -fno-math-errno -fno-trapping-math -fvisibility=hidden -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c Rwrapper.cpp -o Rwrapper.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -D_FOR_R -D_USE_XOSHIRO -D_USE_ROBIN_MAP -DSUPPORTS_RESTRICT=1  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I/usr/local/include   -fopenmp -fno-math-errno -fno-trapping-math -fvisibility=hidden -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c formatted_exporters.cpp -o formatted_exporters.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -D_FOR_R -D_USE_XOSHIRO -D_USE_ROBIN_MAP -DSUPPORTS_RESTRICT=1  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I/usr/local/include   -fopenmp -fno-math-errno -fno-trapping-math -fvisibility=hidden -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c indexer.cpp -o indexer.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -D_FOR_R -D_USE_XOSHIRO -D_USE_ROBIN_MAP -DSUPPORTS_RESTRICT=1  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I/usr/local/include   -fopenmp -fno-math-errno -fno-trapping-math -fvisibility=hidden -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c merge_models.cpp -o merge_models.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -D_FOR_R -D_USE_XOSHIRO -D_USE_ROBIN_MAP -DSUPPORTS_RESTRICT=1  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I/usr/local/include   -fopenmp -fno-math-errno -fno-trapping-math -fvisibility=hidden -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c serialize.cpp -o serialize.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -D_FOR_R -D_USE_XOSHIRO -D_USE_ROBIN_MAP -DSUPPORTS_RESTRICT=1  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I/usr/local/include   -fopenmp -fno-math-errno -fno-trapping-math -fvisibility=hidden -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c sql.cpp -o sql.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -D_FOR_R -D_USE_XOSHIRO -D_USE_ROBIN_MAP -DSUPPORTS_RESTRICT=1  -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I/usr/local/include   -fopenmp -fno-math-errno -fno-trapping-math -fvisibility=hidden -fpic  -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection   -c subset_models.cpp -o subset_models.o
In file included from headers_joined.h:73,
                 from Rwrapper.cpp:76:
In function 'double extract_spR(const PredictionData&, const sparse_ix*, const sparse_ix*, std::size_t, std::size_t, std::size_t) [with PredictionData = PredictionData<double, int>; sparse_ix = int]',
    inlined from 'void traverse_hplane(std::vector<IsoHPlane>&, ExtIsoForest&, PredictionData&, double&, std::vector<ImputeNode>*, ImputedData*, sparse_ix*, double*, std::size_t) [with PredictionData = PredictionData<double, int>; sparse_ix = int; ImputedData = ImputedData<int, double>]' at predict.h:1156:51:
predict.h:1920:38: warning: 'lb' may be used uninitialized [-Wmaybe-uninitialized]
 1920 |     if (row_end == row_st || col_num < lb || col_num > ub)
      |                              ~~~~~~~~^~~~
predict.h: In function 'void traverse_hplane(std::vector<IsoHPlane>&, ExtIsoForest&, PredictionData&, double&, std::vector<ImputeNode>*, ImputedData*, sparse_ix*, double*, std::size_t) [with PredictionData = PredictionData<double, int>; sparse_ix = int; ImputedData = ImputedData<int, double>]':
predict.h:1104:12: note: 'lb' was declared here
 1104 |     size_t lb, ub;
      |            ^~
In function 'double extract_spR(const PredictionData&, const sparse_ix*, const sparse_ix*, std::size_t, std::size_t, std::size_t) [with PredictionData = PredictionData<double, int>; sparse_ix = int]',
    inlined from 'void traverse_hplane(std::vector<IsoHPlane>&, ExtIsoForest&, PredictionData&, double&, std::vector<ImputeNode>*, ImputedData*, sparse_ix*, double*, std::size_t) [with PredictionData = PredictionData<double, int>; sparse_ix = int; ImputedData = ImputedData<int, double>]' at predict.h:1156:51:
predict.h:1920:43: warning: 'ub' may be used uninitialized [-Wmaybe-uninitialized]
 1920 |     if (row_end == row_st || col_num < lb || col_num > ub)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
predict.h: In function 'void traverse_hplane(std::vector<IsoHPlane>&, ExtIsoForest&, PredictionData&, double&, std::vector<ImputeNode>*, ImputedData*, sparse_ix*, double*, std::size_t) [with PredictionData = PredictionData<double, int>; sparse_ix = int; ImputedData = ImputedData<int, double>]':
predict.h:1104:16: note: 'ub' was declared here
 1104 |     size_t lb, ub;
      |                ^~
In function 'void write_bytes(const void*, std::size_t, FILE*&) [with dtype = char]',
    inlined from 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = _IO_FILE*]' at serialize.cpp:3934:26:
serialize.cpp:470:5: warning: 'size_model1' may be used uninitialized [-Wmaybe-uninitialized]
  470 |     if (n_els == 0) return;
      |     ^~
serialize.cpp: In function 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = _IO_FILE*]':
serialize.cpp:3840:12: note: 'size_model1' was declared here
 3840 |     size_t size_model1, size_model2, size_model3, size_model4;
      |            ^~~~~~~~~~~
In function 'void write_bytes(const void*, std::size_t, FILE*&) [with dtype = char]',
    inlined from 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = _IO_FILE*]' at serialize.cpp:3936:26:
serialize.cpp:470:5: warning: 'size_model2' may be used uninitialized [-Wmaybe-uninitialized]
  470 |     if (n_els == 0) return;
      |     ^~
serialize.cpp: In function 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = _IO_FILE*]':
serialize.cpp:3840:25: note: 'size_model2' was declared here
 3840 |     size_t size_model1, size_model2, size_model3, size_model4;
      |                         ^~~~~~~~~~~
In function 'void write_bytes(const void*, std::size_t, FILE*&) [with dtype = char]',
    inlined from 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = _IO_FILE*]' at serialize.cpp:3938:26:
serialize.cpp:470:5: warning: 'size_model3' may be used uninitialized [-Wmaybe-uninitialized]
  470 |     if (n_els == 0) return;
      |     ^~
serialize.cpp: In function 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = _IO_FILE*]':
serialize.cpp:3840:38: note: 'size_model3' was declared here
 3840 |     size_t size_model1, size_model2, size_model3, size_model4;
      |                                      ^~~~~~~~~~~
In function 'void write_bytes(const void*, std::size_t, FILE*&) [with dtype = char]',
    inlined from 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = _IO_FILE*]' at serialize.cpp:3940:26:
serialize.cpp:470:5: warning: 'size_model4' may be used uninitialized [-Wmaybe-uninitialized]
  470 |     if (n_els == 0) return;
      |     ^~
serialize.cpp: In function 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = _IO_FILE*]':
serialize.cpp:3840:51: note: 'size_model4' was declared here
 3840 |     size_t size_model1, size_model2, size_model3, size_model4;
      |                                                   ^~~~~~~~~~~
In function 'void write_bytes(const void*, std::size_t, std::ostream&) [with dtype = char]',
    inlined from 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = std::basic_ostream<char>]' at serialize.cpp:3934:26:
serialize.cpp:462:5: warning: 'size_model1' may be used uninitialized [-Wmaybe-uninitialized]
  462 |     if (n_els == 0) return;
      |     ^~
serialize.cpp: In function 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = std::basic_ostream<char>]':
serialize.cpp:3840:12: note: 'size_model1' was declared here
 3840 |     size_t size_model1, size_model2, size_model3, size_model4;
      |            ^~~~~~~~~~~
In function 'void write_bytes(const void*, std::size_t, std::ostream&) [with dtype = char]',
    inlined from 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = std::basic_ostream<char>]' at serialize.cpp:3936:26:
serialize.cpp:462:5: warning: 'size_model2' may be used uninitialized [-Wmaybe-uninitialized]
  462 |     if (n_els == 0) return;
      |     ^~
serialize.cpp: In function 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = std::basic_ostream<char>]':
serialize.cpp:3840:25: note: 'size_model2' was declared here
 3840 |     size_t size_model1, size_model2, size_model3, size_model4;
      |                         ^~~~~~~~~~~
In function 'void write_bytes(const void*, std::size_t, std::ostream&) [with dtype = char]',
    inlined from 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = std::basic_ostream<char>]' at serialize.cpp:3938:26:
serialize.cpp:462:5: warning: 'size_model3' may be used uninitialized [-Wmaybe-uninitialized]
  462 |     if (n_els == 0) return;
      |     ^~
serialize.cpp: In function 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = std::basic_ostream<char>]':
serialize.cpp:3840:38: note: 'size_model3' was declared here
 3840 |     size_t size_model1, size_model2, size_model3, size_model4;
      |                                      ^~~~~~~~~~~
In function 'void write_bytes(const void*, std::size_t, std::ostream&) [with dtype = char]',
    inlined from 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = std::basic_ostream<char>]' at serialize.cpp:3940:26:
serialize.cpp:462:5: warning: 'size_model4' may be used uninitialized [-Wmaybe-uninitialized]
  462 |     if (n_els == 0) return;
      |     ^~
serialize.cpp: In function 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = std::basic_ostream<char>]':
serialize.cpp:3840:51: note: 'size_model4' was declared here
 3840 |     size_t size_model1, size_model2, size_model3, size_model4;
      |                                                   ^~~~~~~~~~~
In function 'void write_bytes(const void*, std::size_t, char*&) [with dtype = char]',
    inlined from 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = char*]' at serialize.cpp:3934:26:
serialize.cpp:454:5: warning: 'size_model1' may be used uninitialized [-Wmaybe-uninitialized]
  454 |     if (n_els == 0) return;
      |     ^~
serialize.cpp: In function 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = char*]':
serialize.cpp:3840:12: note: 'size_model1' was declared here
 3840 |     size_t size_model1, size_model2, size_model3, size_model4;
      |            ^~~~~~~~~~~
In function 'void write_bytes(const void*, std::size_t, char*&) [with dtype = char]',
    inlined from 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = char*]' at serialize.cpp:3936:26:
serialize.cpp:454:5: warning: 'size_model2' may be used uninitialized [-Wmaybe-uninitialized]
  454 |     if (n_els == 0) return;
      |     ^~
serialize.cpp: In function 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = char*]':
serialize.cpp:3840:25: note: 'size_model2' was declared here
 3840 |     size_t size_model1, size_model2, size_model3, size_model4;
      |                         ^~~~~~~~~~~
In function 'void write_bytes(const void*, std::size_t, char*&) [with dtype = char]',
    inlined from 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = char*]' at serialize.cpp:3938:26:
serialize.cpp:454:5: warning: 'size_model3' may be used uninitialized [-Wmaybe-uninitialized]
  454 |     if (n_els == 0) return;
      |     ^~
serialize.cpp: In function 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = char*]':
serialize.cpp:3840:38: note: 'size_model3' was declared here
 3840 |     size_t size_model1, size_model2, size_model3, size_model4;
      |                                      ^~~~~~~~~~~
In function 'void write_bytes(const void*, std::size_t, char*&) [with dtype = char]',
    inlined from 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = char*]' at serialize.cpp:3940:26:
serialize.cpp:454:5: warning: 'size_model4' may be used uninitialized [-Wmaybe-uninitialized]
  454 |     if (n_els == 0) return;
      |     ^~
serialize.cpp: In function 'void serialize_combined(const char*, const char*, const char*, const char*, const char*, std::size_t, otype&) [with otype = char*]':
serialize.cpp:3840:51: note: 'size_model4' was declared here
 3840 |     size_t size_model1, size_model2, size_model3, size_model4;
      |                                                   ^~~~~~~~~~~
In function 'double extract_spR(const PredictionData&, const sparse_ix*, const sparse_ix*, std::size_t, std::size_t, std::size_t) [with PredictionData = PredictionData<double, int>; sparse_ix = int]',
    inlined from 'void traverse_hplane(std::vector<IsoHPlane>&, ExtIsoForest&, PredictionData&, double&, std::vector<ImputeNode>*, ImputedData*, sparse_ix*, double*, std::size_t) [with PredictionData = PredictionData<double, int>; sparse_ix = int; ImputedData = ImputedData<int, long double>]' at predict.h:1156:51,
    inlined from '_Z30impute_missing_values_internalIdieEvPT_PibS1_PT0_S4_miP9IsoForestP12ExtIsoForestR7Imputer._omp_fn.1' at impute.h:263:36:
predict.h:1920:38: warning: 'lb' may be used uninitialized [-Wmaybe-uninitialized]
 1920 |     if (row_end == row_st || col_num < lb || col_num > ub)
      |                              ~~~~~~~~^~~~
predict.h: In function '_Z30impute_missing_values_internalIdieEvPT_PibS1_PT0_S4_miP9IsoForestP12ExtIsoForestR7Imputer._omp_fn.1':
predict.h:1104:12: note: 'lb' was declared here
 1104 |     size_t lb, ub;
      |            ^~
In function 'double extract_spR(const PredictionData&, const sparse_ix*, const sparse_ix*, std::size_t, std::size_t, std::size_t) [with PredictionData = PredictionData<double, int>; sparse_ix = int]',
    inlined from 'void traverse_hplane(std::vector<IsoHPlane>&, ExtIsoForest&, PredictionData&, double&, std::vector<ImputeNode>*, ImputedData*, sparse_ix*, double*, std::size_t) [with PredictionData = PredictionData<double, int>; sparse_ix = int; ImputedData = ImputedData<int, long double>]' at predict.h:1156:51,
    inlined from '_Z30impute_missing_values_internalIdieEvPT_PibS1_PT0_S4_miP9IsoForestP12ExtIsoForestR7Imputer._omp_fn.1' at impute.h:263:36:
predict.h:1920:43: warning: 'ub' may be used uninitialized [-Wmaybe-uninitialized]
 1920 |     if (row_end == row_st || col_num < lb || col_num > ub)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
predict.h: In function '_Z30impute_missing_values_internalIdieEvPT_PibS1_PT0_S4_miP9IsoForestP12ExtIsoForestR7Imputer._omp_fn.1':
predict.h:1104:16: note: 'ub' was declared here
 1104 |     size_t lb, ub;
      |                ^~
In file included from headers_joined.h:65:
In function 'double find_split_full_gain_weighted(real_t*, std::size_t, std::size_t, std::size_t*, std::size_t*, std::size_t, bool, double*, std::size_t, double*, std::size_t*, std::size_t*, double*, double*, std::size_t&, double&, bool, mapping&) [with real_t = double; mapping = double* __restrict__; ldouble_safe = double]',
    inlined from 'double eval_guided_crit_weighted(double*, std::size_t, GainCriterion, double, bool, double*, double&, double&, double&, double*, std::size_t*, std::size_t*, std::size_t*, std::size_t, bool, double*, std::size_t, double*, std::size_t*, std::size_t*) [with ldouble_safe = double]' at crit.h:3166:85:
crit.h:2323:68: warning: 'ignored' may be used uninitialized [-Wmaybe-uninitialized]
 2323 |     split_point = midpoint(x[ix_arr[split_ix]], x[ix_arr[split_ix+1]]);
      |                                                   ~~~~~~~~~~~~~~~~~^
crit.h: In function 'double eval_guided_crit_weighted(double*, std::size_t, GainCriterion, double, bool, double*, double&, double&, double&, double*, std::size_t*, std::size_t*, std::size_t*, std::size_t, bool, double*, std::size_t, double*, std::size_t*, std::size_t*) [with ldouble_safe = double]':
crit.h:3165:16: note: 'ignored' was declared here
 3165 |         size_t ignored;
      |                ^~~~~~~
In function 'double find_split_full_gain_weighted(real_t*, std::size_t, std::size_t, std::size_t*, std::size_t*, std::size_t, bool, double*, std::size_t, double*, std::size_t*, std::size_t*, double*, double*, std::size_t&, double&, bool, mapping&) [with real_t = double; mapping = double* __restrict__; ldouble_safe = long double]',
    inlined from 'double eval_guided_crit_weighted(double*, std::size_t, GainCriterion, double, bool, double*, double&, double&, double&, double*, std::size_t*, std::size_t*, std::size_t*, std::size_t, bool, double*, std::size_t, double*, std::size_t*, std::size_t*) [with ldouble_safe = long double]' at crit.h:3166:85:
crit.h:2323:68: warning: 'ignored' may be used uninitialized [-Wmaybe-uninitialized]
 2323 |     split_point = midpoint(x[ix_arr[split_ix]], x[ix_arr[split_ix+1]]);
      |                                                   ~~~~~~~~~~~~~~~~~^
crit.h: In function 'double eval_guided_crit_weighted(double*, std::size_t, GainCriterion, double, bool, double*, double&, double&, double&, double*, std::size_t*, std::size_t*, std::size_t*, std::size_t, bool, double*, std::size_t, double*, std::size_t*, std::size_t*) [with ldouble_safe = long double]':
crit.h:3165:16: note: 'ignored' was declared here
 3165 |         size_t ignored;
      |                ^~~~~~~
In file included from Rwrapper.cpp:73:
crit.h: In function 'double eval_guided_crit(std::size_t*, std::size_t, std::size_t, int*, int, int*, std::size_t*, std::size_t*, double*, int&, signed char*, signed char*, GainCriterion, double, bool, MissingAction, CategSplit) [with ldouble_safe = double]':
isotree.h:222:45: warning: 'best_combin' may be used uninitialized [-Wmaybe-uninitialized]
  222 | #define extract_bit(number, bit) (((number) >> (bit)) & 1)
      |                                   ~~~~~~~~~~^~~~~~~~~
crit.h:3820:73: note: in expansion of macro 'extract_bit'
 3820 |                                 split_categ[buffer_pos[st_pos + pos]] = extract_bit(best_combin, pos);
      |                                                                         ^~~~~~~~~~~
crit.h:3780:32: note: 'best_combin' was declared here
 3780 |                         size_t best_combin;
      |                                ^~~~~~~~~~~
crit.h: In function 'double eval_guided_crit_weighted(std::size_t*, std::size_t, std::size_t, int*, int, int*, std::size_t*, double*, int&, signed char*, signed char*, GainCriterion, double, bool, MissingAction, CategSplit, mapping&) [with mapping = std::vector<double>; ldouble_safe = double]':
isotree.h:222:45: warning: 'best_combin' may be used uninitialized [-Wmaybe-uninitialized]
  222 | #define extract_bit(number, bit) (((number) >> (bit)) & 1)
      |                                   ~~~~~~~~~~^~~~~~~~~
crit.h:4168:73: note: in expansion of macro 'extract_bit'
 4168 |                                 split_categ[buffer_pos[st_pos + pos]] = extract_bit(best_combin, pos);
      |                                                                         ^~~~~~~~~~~
crit.h:4124:32: note: 'best_combin' was declared here
 4124 |                         size_t best_combin;
      |                                ^~~~~~~~~~~
crit.h: In function 'double eval_guided_crit_weighted(std::size_t*, std::size_t, std::size_t, int*, int, int*, std::size_t*, double*, int&, signed char*, signed char*, GainCriterion, double, bool, MissingAction, CategSplit, mapping&) [with mapping = tsl::robin_map<long unsigned int, double>; ldouble_safe = double]':
isotree.h:222:45: warning: 'best_combin' may be used uninitialized [-Wmaybe-uninitialized]
  222 | #define extract_bit(number, bit) (((number) >> (bit)) & 1)
      |                                   ~~~~~~~~~~^~~~~~~~~
crit.h:4168:73: note: in expansion of macro 'extract_bit'
 4168 |                                 split_categ[buffer_pos[st_pos + pos]] = extract_bit(best_combin, pos);
      |                                                                         ^~~~~~~~~~~
crit.h:4124:32: note: 'best_combin' was declared here
 4124 |                         size_t best_combin;
      |                                ^~~~~~~~~~~
crit.h: In function 'double eval_guided_crit(std::size_t*, std::size_t, std::size_t, int*, int, int*, std::size_t*, std::size_t*, double*, int&, signed char*, signed char*, GainCriterion, double, bool, MissingAction, CategSplit) [with ldouble_safe = long double]':
isotree.h:222:45: warning: 'best_combin' may be used uninitialized [-Wmaybe-uninitialized]
  222 | #define extract_bit(number, bit) (((number) >> (bit)) & 1)
      |                                   ~~~~~~~~~~^~~~~~~~~
crit.h:3820:73: note: in expansion of macro 'extract_bit'
 3820 |                                 split_categ[buffer_pos[st_pos + pos]] = extract_bit(best_combin, pos);
      |                                                                         ^~~~~~~~~~~
crit.h:3780:32: note: 'best_combin' was declared here
 3780 |                         size_t best_combin;
      |                                ^~~~~~~~~~~
crit.h: In function 'double eval_guided_crit_weighted(std::size_t*, std::size_t, std::size_t, int*, int, int*, std::size_t*, double*, int&, signed char*, signed char*, GainCriterion, double, bool, MissingAction, CategSplit, mapping&) [with mapping = std::vector<double>; ldouble_safe = long double]':
isotree.h:222:45: warning: 'best_combin' may be used uninitialized [-Wmaybe-uninitialized]
  222 | #define extract_bit(number, bit) (((number) >> (bit)) & 1)
      |                                   ~~~~~~~~~~^~~~~~~~~
crit.h:4168:73: note: in expansion of macro 'extract_bit'
 4168 |                                 split_categ[buffer_pos[st_pos + pos]] = extract_bit(best_combin, pos);
      |                                                                         ^~~~~~~~~~~
crit.h:4124:32: note: 'best_combin' was declared here
 4124 |                         size_t best_combin;
      |                                ^~~~~~~~~~~
crit.h: In function 'double eval_guided_crit_weighted(std::size_t*, std::size_t, std::size_t, int*, int, int*, std::size_t*, double*, int&, signed char*, signed char*, GainCriterion, double, bool, MissingAction, CategSplit, mapping&) [with mapping = tsl::robin_map<long unsigned int, double>; ldouble_safe = long double]':
isotree.h:222:45: warning: 'best_combin' may be used uninitialized [-Wmaybe-uninitialized]
  222 | #define extract_bit(number, bit) (((number) >> (bit)) & 1)
      |                                   ~~~~~~~~~~^~~~~~~~~
crit.h:4168:73: note: in expansion of macro 'extract_bit'
 4168 |                                 split_categ[buffer_pos[st_pos + pos]] = extract_bit(best_combin, pos);
      |                                                                         ^~~~~~~~~~~
crit.h:4124:32: note: 'best_combin' was declared here
 4124 |                         size_t best_combin;
      |                                ^~~~~~~~~~~
g++-14 -std=gnu++17 -shared -L/usr/local/gcc14/lib64 -L/usr/local/lib64 -o isotree.so RcppExports.o Rwrapper.o formatted_exporters.o indexer.o merge_models.o serialize.o sql.o subset_models.o -fopenmp
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/isotree/src'
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/isotree/src'
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/isotree/src'
installing to /data/gannet/ripley/R/packages/tests-devel/isotree.Rcheck/00LOCK-isotree/00new/isotree/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (isotree)