Skip to content

lbfgs_search_strategy: Fix gcc 16 warning#3144

Merged
davisking merged 1 commit into
davisking:masterfrom
jschueller:patch-2
May 7, 2026
Merged

lbfgs_search_strategy: Fix gcc 16 warning#3144
davisking merged 1 commit into
davisking:masterfrom
jschueller:patch-2

Conversation

@jschueller
Copy link
Copy Markdown
Contributor

This avoids an unitialized variable warnings with gcc 16:

In function ‘constexpr void std::swap(_Tp&, _Tp&) [with _Tp = double]’,
    inlined from ‘void dlib::swap(lbfgs_search_strategy::data_helper&, lbfgs_search_strategy::data_helper&)’ at /usr/include/dlib/optimization/optimization_search_strategies.h:266:26,
    inlined from ‘void dlib::exchange(T&, T&) [with T = lbfgs_search_strategy::data_helper]’ at /usr/include/dlib/algs.h:382:13,
    inlined from ‘void dlib::sequence_kernel_2<T, mem_manager>::add(long unsigned int, T&) [with T = dlib::lbfgs_search_strategy::data_helper; mem_manager = dlib::memory_manager_stateless_kernel_1<char>]’ at /usr/include/dlib/sequence/sequence_kernel_2.h:259:17,
    inlined from ‘const dlib::matrix<double, 0, 1>& dlib::lbfgs_search_strategy::get_next_direction(const T&, double, const T&) [with T = dlib::matrix<double, 0, 0, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout>]’ at /usr/include/dlib/optimization/optimization_search_strategies.h:209:29,
    inlined from ‘virtual const OT::DlibMatrix OT::DlibLbfgsSearchStrategy::get_next_direction(const OT::DlibMatrix&, double, const OT::DlibMatrix&)’ at /io/lib/src/Base/Optim/Dlib.cxx:237:68:
/usr/include/c++/16.1.1/bits/move.h:239:11: error: ‘((std::remove_reference<double&>::type*)<unknown>)[6]’ may be used uninitialized [-Werror=maybe-uninitialized]
  239 |       __a = _GLIBCXX_MOVE(__b);

This avoids an unitialized variable warnings with gcc 16:
```
In function ‘constexpr void std::swap(_Tp&, _Tp&) [with _Tp = double]’,
    inlined from ‘void dlib::swap(lbfgs_search_strategy::data_helper&, lbfgs_search_strategy::data_helper&)’ at /usr/include/dlib/optimization/optimization_search_strategies.h:266:26,
    inlined from ‘void dlib::exchange(T&, T&) [with T = lbfgs_search_strategy::data_helper]’ at /usr/include/dlib/algs.h:382:13,
    inlined from ‘void dlib::sequence_kernel_2<T, mem_manager>::add(long unsigned int, T&) [with T = dlib::lbfgs_search_strategy::data_helper; mem_manager = dlib::memory_manager_stateless_kernel_1<char>]’ at /usr/include/dlib/sequence/sequence_kernel_2.h:259:17,
    inlined from ‘const dlib::matrix<double, 0, 1>& dlib::lbfgs_search_strategy::get_next_direction(const T&, double, const T&) [with T = dlib::matrix<double, 0, 0, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout>]’ at /usr/include/dlib/optimization/optimization_search_strategies.h:209:29,
    inlined from ‘virtual const OT::DlibMatrix OT::DlibLbfgsSearchStrategy::get_next_direction(const OT::DlibMatrix&, double, const OT::DlibMatrix&)’ at /io/lib/src/Base/Optim/Dlib.cxx:237:68:
/usr/include/c++/16.1.1/bits/move.h:239:11: error: ‘((std::remove_reference<double&>::type*)<unknown>)[6]’ may be used uninitialized [-Werror=maybe-uninitialized]
  239 |       __a = _GLIBCXX_MOVE(__b);
```
@davisking
Copy link
Copy Markdown
Owner

Nice, thanks for the PR :D

@davisking davisking merged commit 3d40bf5 into davisking:master May 7, 2026
9 checks passed
@jschueller jschueller deleted the patch-2 branch May 7, 2026 05:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants