* 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-CXX20/POUMM/src' g++ -std=gnu++20 -I"/data/gannet/ripley/R/cxx20/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::TraverseTreeSingleThreadLoopPostorder() [with TraversalSpecification = SPLITT::AbcPOUMM >]’: ./SPLITT.h:1887:50: required from ‘void SPLITT::PostOrderTraversal::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM >; ModeType = SPLITT::PostOrderMode]’ 1887 | case ModeType::SINGLE_THREAD_LOOP_POSTORDER: TraverseTreeSingleThreadLoopPostorder(); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM >; StateType = std::vector; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 585 | algorithm_.TraverseTree(static_cast(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::TraverseTreeSingleThreadLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM >]’: ./SPLITT.h:1888:47: required from ‘void SPLITT::PostOrderTraversal::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM >; ModeType = SPLITT::PostOrderMode]’ 1888 | case ModeType::SINGLE_THREAD_LOOP_PRUNES: TraverseTreeSingleThreadLoopPrunes(); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM >; StateType = std::vector; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 585 | algorithm_.TraverseTree(static_cast(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::TraverseTreeSingleThreadLoopVisits() [with TraversalSpecification = SPLITT::AbcPOUMM >]’: ./SPLITT.h:1889:47: required from ‘void SPLITT::PostOrderTraversal::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM >; ModeType = SPLITT::PostOrderMode]’ 1889 | case ModeType::SINGLE_THREAD_LOOP_VISITS: TraverseTreeSingleThreadLoopVisits(); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM >; StateType = std::vector; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 585 | algorithm_.TraverseTree(static_cast(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::TraverseTreeMultiThreadLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM >]’: ./SPLITT.h:1890:46: required from ‘void SPLITT::PostOrderTraversal::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM >; ModeType = SPLITT::PostOrderMode]’ 1890 | case ModeType::MULTI_THREAD_LOOP_PRUNES: TraverseTreeMultiThreadLoopPrunes(); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM >; StateType = std::vector; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 585 | algorithm_.TraverseTree(static_cast(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::TraverseTreeMultiThreadLoopVisitsThenLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM >]’: ./SPLITT.h:1891:63: required from ‘void SPLITT::PostOrderTraversal::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM >; ModeType = SPLITT::PostOrderMode]’ 1891 | case ModeType::MULTI_THREAD_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeMultiThreadLoopVisitsThenLoopPrunes(); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM >; StateType = std::vector; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 585 | algorithm_.TraverseTree(static_cast(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::TraverseTreeMultiThreadLoopVisits() [with TraversalSpecification = SPLITT::AbcPOUMM >]’: ./SPLITT.h:1892:46: required from ‘void SPLITT::PostOrderTraversal::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM >; ModeType = SPLITT::PostOrderMode]’ 1892 | case ModeType::MULTI_THREAD_LOOP_VISITS: TraverseTreeMultiThreadLoopVisits(); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM >; StateType = std::vector; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 585 | algorithm_.TraverseTree(static_cast(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::TraverseTreeMultiThreadVisitQueue() [with TraversalSpecification = SPLITT::AbcPOUMM >]’: ./SPLITT.h:1893:46: required from ‘void SPLITT::PostOrderTraversal::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM >; ModeType = SPLITT::PostOrderMode]’ 1893 | case ModeType::MULTI_THREAD_VISIT_QUEUE: TraverseTreeMultiThreadVisitQueue(); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM >; StateType = std::vector; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 585 | algorithm_.TraverseTree(static_cast(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::TraverseTreeHybridLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM >]’: ./SPLITT.h:1895:40: required from ‘void SPLITT::PostOrderTraversal::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM >; ModeType = SPLITT::PostOrderMode]’ 1895 | case ModeType::HYBRID_LOOP_PRUNES: TraverseTreeHybridLoopPrunes(); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM >; StateType = std::vector; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 585 | algorithm_.TraverseTree(static_cast(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::TraverseTreeHybridLoopVisitsThenLoopPrunes() [with TraversalSpecification = SPLITT::AbcPOUMM >]’: ./SPLITT.h:1896:57: required from ‘void SPLITT::PostOrderTraversal::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM >; ModeType = SPLITT::PostOrderMode]’ 1896 | case ModeType::HYBRID_LOOP_VISITS_THEN_LOOP_PRUNES: TraverseTreeHybridLoopVisitsThenLoopPrunes(); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM >; StateType = std::vector; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 585 | algorithm_.TraverseTree(static_cast(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::TraverseTreeHybridLoopVisits() [with TraversalSpecification = SPLITT::AbcPOUMM >]’: ./SPLITT.h:1897:40: required from ‘void SPLITT::PostOrderTraversal::TraverseTree(ModeType) [with TraversalSpecification = SPLITT::AbcPOUMM >; ModeType = SPLITT::PostOrderMode]’ 1897 | case ModeType::HYBRID_LOOP_VISITS: TraverseTreeHybridLoopVisits(); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./SPLITT.h:585:28: required from ‘SPLITT::TraversalTask::StateType SPLITT::TraversalTask::TraverseTree(const ParameterType&, SPLITT::uint) [with TraversalSpecification = SPLITT::AbcPOUMM >; StateType = std::vector; ParameterType = std::vector; SPLITT::uint = unsigned int]’ 585 | algorithm_.TraverseTree(static_cast(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-CXX20/POUMM/src' make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-CXX20/POUMM/src' make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-CXX20/POUMM/src' installing to /data/gannet/ripley/R/packages/tests-CXX20/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)