This avoids a false positive -Wmaybe-uninitialized warning, by initializing _M_saved on construction.
libstdc++-v3/ChangeLog: PR libstdc++/99536 * include/bits/random.h (normal_distribution): Use default-initializer for _M_saved and _M_saved_available. Tested powerpc64le-linux. Committed to trunk.
commit 67e397660611990efd98f9e4106c1ee81f6803a4 Author: Jonathan Wakely <jwak...@redhat.com> Date: Thu Mar 11 16:43:51 2021 libstdc++: Initialize std::normal_distribution::_M_saved [PR 99536] This avoids a false positive -Wmaybe-uninitialized warning, by initializing _M_saved on construction. libstdc++-v3/ChangeLog: PR libstdc++/99536 * include/bits/random.h (normal_distribution): Use default-initializer for _M_saved and _M_saved_available. diff --git a/libstdc++-v3/include/bits/random.h b/libstdc++-v3/include/bits/random.h index b74e9cfd504..877ac3406b6 100644 --- a/libstdc++-v3/include/bits/random.h +++ b/libstdc++-v3/include/bits/random.h @@ -2024,12 +2024,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION explicit normal_distribution(result_type __mean, result_type __stddev = result_type(1)) - : _M_param(__mean, __stddev), _M_saved_available(false) + : _M_param(__mean, __stddev) { } explicit normal_distribution(const param_type& __p) - : _M_param(__p), _M_saved_available(false) + : _M_param(__p) { } /** @@ -2166,8 +2166,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION const param_type& __p); param_type _M_param; - result_type _M_saved; - bool _M_saved_available; + result_type _M_saved = 0; + bool _M_saved_available = false; }; /**