* installing *source* package ‘POUMM’ ...
** this is package ‘POUMM’ version ‘2.1.8’
** package ‘POUMM’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: ‘g++ (GCC) 15.1.1 20250521 (Red Hat 15.1.1-2)’
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/POUMM/src'
g++ -std=gnu++20 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I/usr/local/include -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 Rcpp.cpp -o Rcpp.o
In file included from AbcPOUMM.h:28,
from Rcpp.cpp:28:
./SPLITT.h:2015: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
2015 | _PRAGMA_OMP_SIMD
./SPLITT.h:2033: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
2033 | _PRAGMA_OMP_SIMD
./SPLITT.h:2046: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
2046 | _PRAGMA_OMP_SIMD
./SPLITT.h:2058: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
2058 | _PRAGMA_OMP_SIMD
./SPLITT.h:2068: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
2068 | _PRAGMA_OMP_SIMD
./SPLITT.h:2094: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
2094 | #pragma omp parallel
./SPLITT.h:2096: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2096 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2107: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
2107 | #pragma omp barrier
./SPLITT.h:2110: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2110 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2121: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
2121 | #pragma omp barrier
./SPLITT.h:2124: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2124 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2140: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
2140 | #pragma omp parallel
./SPLITT.h:2149: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2149 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2159: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2159 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2185: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
2185 | #pragma omp parallel
./SPLITT.h:2225: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
2225 | #pragma omp parallel
./SPLITT.h:2227: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2227 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2238: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2238 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2252: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
2252 | #pragma omp parallel
./SPLITT.h:2254: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2254 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2262: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2262 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2273: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
2273 | #pragma omp parallel
./SPLITT.h:2282: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2282 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2293: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
2293 | #pragma omp barrier
./SPLITT.h:2296: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2296 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2305: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
2305 | _PRAGMA_OMP_SIMD
./SPLITT.h:2319: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
2319 | _PRAGMA_OMP_SIMD
./SPLITT.h:2337: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
2337 | #pragma omp parallel
./SPLITT.h:2346: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2346 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2357: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
2357 | #pragma omp barrier
./SPLITT.h:2360: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2360 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2370: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
2370 | _PRAGMA_OMP_SIMD
./SPLITT.h:2385: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
2385 | #pragma omp parallel
./SPLITT.h:2394: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2394 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2404: warning: ignoring ‘#pragma omp barrier’ [-Wunknown-pragmas]
2404 | #pragma omp barrier
./SPLITT.h:2407: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2407 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2425: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
2425 | _PRAGMA_OMP_SIMD
./SPLITT.h:2569: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
2569 | _PRAGMA_OMP_SIMD
./SPLITT.h:2583: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
2583 | _PRAGMA_OMP_SIMD
./SPLITT.h:2592: warning: ignoring ‘#pragma omp simd’ [-Wunknown-pragmas]
2592 | _PRAGMA_OMP_SIMD
./SPLITT.h:2600: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
2600 | #pragma omp parallel
./SPLITT.h:2609: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2609 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h:2618: warning: ignoring ‘#pragma omp for’ [-Wunknown-pragmas]
2618 | _PRAGMA_OMP_FOR_SIMD
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1887:50: required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
1887 | case ModeType::SINGLE_THREAD_LOOP_POSTORDER: TraverseTreeSingleThreadLoopPostorder(); break;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
585 | algorithm_.TraverseTree(static_cast<ModeType>(mode));
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51: required from here
111 | .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
| ^~~~~~~~~~~~
./SPLITT.h:2017:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2017 | exception_handler_.Run([=]{
| ^~~~
2018 | ParentType::ref_spec_.InitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019 | });
| ~
./SPLITT.h:2017:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2024:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2024 | exception_handler_.Run([=]{
| ^~~~
2025 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2026 | ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2027 | });
| ~
./SPLITT.h:2024:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1888:47: required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
1888 | case ModeType::SINGLE_THREAD_LOOP_PRUNES: TraverseTreeSingleThreadLoopPrunes(); break;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
585 | algorithm_.TraverseTree(static_cast<ModeType>(mode));
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51: required from here
111 | .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
| ^~~~~~~~~~~~
./SPLITT.h:2035:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2035 | exception_handler_.Run([=]{
| ^~~~
2036 | ParentType::ref_spec_.InitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2037 | });
| ~
./SPLITT.h:2035:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2048:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2048 | exception_handler_.Run([=]{
| ^~~~
2049 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2050 | ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2051 | });
| ~
./SPLITT.h:2048:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1889:47: required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
1889 | case ModeType::SINGLE_THREAD_LOOP_VISITS: TraverseTreeSingleThreadLoopVisits(); break;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
585 | algorithm_.TraverseTree(static_cast<ModeType>(mode));
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51: required from here
111 | .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
| ^~~~~~~~~~~~
./SPLITT.h:2060:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2060 | exception_handler_.Run([=]{
| ^~~~
2061 | ParentType::ref_spec_.InitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2062 | });
| ~
./SPLITT.h:2060:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2070:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2070 | exception_handler_.Run([=]{
| ^~~~
2071 | if(i < ParentType::ref_tree_.num_tips()) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2072 | // i is a tip (only Visit)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
2073 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2074 | } else {
| ~~~~~~~~
2075 | // i is internal
| ~~~~~~~~~~~~~~~~
2076 | for(uint j: ParentType::ref_tree_.FindChildren(i)) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2077 | ParentType::ref_spec_.PruneNode(j, i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2078 | }
| ~
2079 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2080 | }
| ~
2081 | });
| ~
./SPLITT.h:2070:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1890:46: required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
1890 | case ModeType::MULTI_THREAD_LOOP_PRUNES: TraverseTreeMultiThreadLoopPrunes(); break;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
585 | algorithm_.TraverseTree(static_cast<ModeType>(mode));
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51: required from here
111 | .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
| ^~~~~~~~~~~~
./SPLITT.h:2229:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2229 | exception_handler_.Run([=]{
| ^~~~
2230 | ParentType::ref_spec_.InitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2231 | });
| ~
./SPLITT.h:2229:28: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2240:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2240 | exception_handler_.Run([=]{
| ^~~~
2241 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2242 | ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2243 | });
| ~
./SPLITT.h:2240:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1891:63: required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
1891 | case ModeType::MULTI_THREAD_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeMultiThreadLoopVisitsThenLoopPrunes(); break;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
585 | algorithm_.TraverseTree(static_cast<ModeType>(mode));
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51: required from here
111 | .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
| ^~~~~~~~~~~~
./SPLITT.h:2098:28: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2098 | exception_handler_.Run([=]{
| ^~~~
2099 | ParentType::ref_spec_.InitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2100 | });
| ~
./SPLITT.h:2098:28: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2112:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2112 | exception_handler_.Run([=]{
| ^~~~
2113 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2114 | });
| ~
./SPLITT.h:2112:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2126:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2126 | exception_handler_.Run([=]{
| ^~~~
2127 | ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2128 | });
| ~
./SPLITT.h:2126:34: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1892:46: required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
1892 | case ModeType::MULTI_THREAD_LOOP_VISITS: TraverseTreeMultiThreadLoopVisits(); break;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
585 | algorithm_.TraverseTree(static_cast<ModeType>(mode));
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51: required from here
111 | .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
| ^~~~~~~~~~~~
./SPLITT.h:2151:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2151 | exception_handler_.Run([=]{
| ^~~~
2152 | ParentType::ref_spec_.InitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2153 | });
| ~
./SPLITT.h:2151:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2161:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2161 | exception_handler_.Run([=]{
| ^~~~
2162 | if(i < ParentType::ref_tree_.num_tips()) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2163 | // i is a tip (only Visit)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
2164 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2165 | } else {
| ~~~~~~~~
2166 | // i is internal
| ~~~~~~~~~~~~~~~~
2167 | for(uint j: ParentType::ref_tree_.FindChildren(i)) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2168 | ParentType::ref_spec_.PruneNode(j, i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2169 | }
| ~
2170 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2171 | }
| ~
2172 | });
| ~
./SPLITT.h:2161:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2142:8: warning: variable ‘tid’ set but not used [-Wunused-but-set-variable]
2142 | uint tid;
| ^~~
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1893:46: required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
1893 | case ModeType::MULTI_THREAD_VISIT_QUEUE: TraverseTreeMultiThreadVisitQueue(); break;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
585 | algorithm_.TraverseTree(static_cast<ModeType>(mode));
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51: required from here
111 | .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
| ^~~~~~~~~~~~
./SPLITT.h:2187:26: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2187 | exception_handler_.Run([=]{
| ^~~~
2188 | while(true) {
| ~~~~~~~~~~~~~
2189 | uint i = ParentType::visit_queue_.NextInQueue();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2190 | if(i == G_NA_UINT) {
| ~~~~~~~~~~~~~~~~~~~~
2191 | continue;
| ~~~~~~~~~
2192 | } else if(i == ParentType::ref_tree_.num_nodes()) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2193 | break;
| ~~~~~~
2194 | } else if(i < ParentType::ref_tree_.num_tips()) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2195 | // i is a tip (only Visit)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
2196 | ParentType::ref_spec_.InitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2197 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2198 | ParentType::visit_queue_.RemoveVisitedNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2199 | } else if(i < ParentType::ref_tree_.num_nodes() - 1){
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2200 | // i is internal
| ~~~~~~~~~~~~~~~~
2201 | ParentType::ref_spec_.InitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2202 | uvec const& children = ParentType::ref_tree_.FindChildren(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2203 | for(uint j: children) {
| ~~~~~~~~~~~~~~~~~~~~~~~
2204 | ParentType::ref_spec_.PruneNode(j, i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2205 | }
| ~
2206 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2207 | ParentType::visit_queue_.RemoveVisitedNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2208 | } else {
| ~~~~~~~~
2209 | // i is the root
| ~~~~~~~~~~~~~~~~
2210 | ParentType::ref_spec_.InitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2211 | uvec const& children = ParentType::ref_tree_.FindChildren(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2212 | for(uint j: children) {
| ~~~~~~~~~~~~~~~~~~~~~~~
2213 | ParentType::ref_spec_.PruneNode(j, i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2214 | }
| ~
2215 | // don't visit the root
| ~~~~~~~~~~~~~~~~~~~~~~~
2216 | }
| ~
2217 | }
| ~
2218 | });
| ~
./SPLITT.h:2187:26: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1895:40: required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
1895 | case ModeType::HYBRID_LOOP_PRUNES: TraverseTreeHybridLoopPrunes(); break;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
585 | algorithm_.TraverseTree(static_cast<ModeType>(mode));
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51: required from here
111 | .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
| ^~~~~~~~~~~~
./SPLITT.h:2348:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2348 | exception_handler_.Run([=]{
| ^~~~
2349 | ParentType::ref_spec_.InitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2350 | });
| ~
./SPLITT.h:2348:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2362:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2362 | exception_handler_.Run([=]{
| ^~~~
2363 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2364 | ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2365 | });
| ~
./SPLITT.h:2362:34: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2372:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2372 | exception_handler_.Run([=]{
| ^~~~
2373 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2374 | ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2375 | });
| ~
./SPLITT.h:2372:34: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1896:57: required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
1896 | case ModeType::HYBRID_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeHybridLoopVisitsThenLoopPrunes(); break;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
585 | algorithm_.TraverseTree(static_cast<ModeType>(mode));
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51: required from here
111 | .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
| ^~~~~~~~~~~~
./SPLITT.h:2284:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2284 | exception_handler_.Run([=]{
| ^~~~
2285 | ParentType::ref_spec_.InitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2286 | });
| ~
./SPLITT.h:2284:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2298:34: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2298 | exception_handler_.Run([=]{
| ^~~~
2299 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2300 | });
| ~
./SPLITT.h:2298:34: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2307:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2307 | exception_handler_.Run([=]{
| ^~~~
2308 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2309 | });
| ~
./SPLITT.h:2307:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2321:36: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2321 | exception_handler_.Run([=]{
| ^~~~
2322 | ParentType::ref_spec_.PruneNode(i, ParentType::ref_tree_.FindIdOfParent(i));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2323 | });
| ~
./SPLITT.h:2321:36: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h: In instantiation of ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTreeHybridLoopVisits() [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >]’:
./SPLITT.h:1897:40: required from ‘void SPLITT::PostOrderTraversal<TraversalSpecification>::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; ModeType = SPLITT::PostOrderMode]’
1897 | case ModeType::HYBRID_LOOP_VISITS: TraverseTreeHybridLoopVisits(); break;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask<TraversalSpecification>::StateType SPLITT::TraversalTask<TraversalSpecification>::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM<SPLITT::OrderedTree<unsigned int, double> >; StateType = std::vector<double>; ParameterType = std::vector<double>; SPLITT::uint = unsigned int]’
585 | algorithm_.TraverseTree(static_cast<ModeType>(mode));
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rcpp.cpp:111:51: required from here
111 | .method( "DoPruning", &ParallelPruningAbcPOUMM::TraverseTree )
| ^~~~~~~~~~~~
./SPLITT.h:2396:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2396 | exception_handler_.Run([=]{
| ^~~~
2397 | ParentType::ref_spec_.InitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2398 | });
| ~
./SPLITT.h:2396:30: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2409:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2409 | exception_handler_.Run([=]{
| ^~~~
2410 | if(i < ParentType::ref_tree_.num_tips()) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2411 | // i is a tip (only Visit)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
2412 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2413 | } else if(i < ParentType::ref_tree_.num_nodes() - 1){
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2414 | // i is internal
| ~~~~~~~~~~~~~~~~
2415 | for(uint j: ParentType::ref_tree_.FindChildren(i)) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2416 | ParentType::ref_spec_.PruneNode(j, i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2417 | }
| ~
2418 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2419 | }
| ~
2420 | });
| ~
./SPLITT.h:2409:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2427:32: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2427 | exception_handler_.Run([=]{
| ^~~~
2428 | if(i < ParentType::ref_tree_.num_tips()) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2429 | // i is a tip (only Visit)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
2430 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2431 | } else if(i < ParentType::ref_tree_.num_nodes() - 1){
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2432 | // i is internal
| ~~~~~~~~~~~~~~~~
2433 | for(uint j: ParentType::ref_tree_.FindChildren(i)) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2434 | ParentType::ref_spec_.PruneNode(j, i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2435 | }
| ~
2436 | ParentType::ref_spec_.VisitNode(i);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2437 | }
| ~
2438 | });
| ~
./SPLITT.h:2427:32: note: add explicit ‘this’ or ‘*this’ capture
./SPLITT.h:2446:30: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated]
2446 | exception_handler_.Run([=]{
| ^~~~
2447 | ParentType::ref_spec_.PruneNode(j, ParentType::ref_tree_.num_nodes() - 1);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2448 | });
| ~
./SPLITT.h:2446:30: note: add explicit ‘this’ or ‘*this’ capture
g++ -std=gnu++20 -shared -L/usr/local/lib64 -o POUMM.so Rcpp.o
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/POUMM/src'
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/POUMM/src'
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/POUMM/src'
installing to /data/gannet/ripley/R/packages/tests-devel/POUMM.Rcheck/00LOCK-POUMM/00new/POUMM/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** preparing 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 (POUMM)