F14Table.h: warning stackBuf may be used uninitialized
- Dominant language
- C++
- Stars
- 30.5k
- Forks
- 5.9k
- PR merge metrics
- No merged PRs in 30d
Description
When I compile my project I get this massive amount of spam from gcc's `-Wmaybe-uninitialized` lint.
Link on current main branch to line causing warning: https://github.com/facebook/folly/blob/b8b3ed56ecd1aff05abe7c2e5085da40e9ffad5f/folly/container/detail/F14Table.h#L1760
Could you guys please add some sort of `#pragma`s here to suppress these warnings? It's really annoying to have to wrap Folly headers to workaround this.
```
In file included from bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/container/detail/F14Policy.h:28,
from bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/container/F14Map.h:42,
from bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/dynamic.h:66,
from bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/experimental/DynamicParser.h:21,
from MyFollyTest.cpp:5,
bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/container/detail/F14Table.h: In member function 'void folly::f14::detail::F14Table::rehashBuildFrom(T&&) [with T = const folly::f14::detail::F14Table, void, void, void, std::integral_constant > >&; Policy = folly::f14::detail::VectorContainerPolicy, void, void, void, std::integral_constant >]':
bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/container/detail/F14Table.h:1593:28: warning: 'stackBuf' may be used uninitialized [-Wmaybe-uninitialized]
1593 | if (cc <= stackBuf.size()) {
| ~~~~~~~~~~~~~^~
In file included from /nix/store/b2vjbgyz4wfy0z56wf3zg8dzz0jmh0hh-gcc-11.2.0/lib/gcc/x86_64-unknown-linux-gnu/11.2.0/../../../../include/c++/11.2.0/tuple:39,
from /nix/store/b2vjbgyz4wfy0z56wf3zg8dzz0jmh0hh-gcc-11.2.0/lib/gcc/x86_64-unknown-linux-gnu/11.2.0/../../../../include/c++/11.2.0/functional:54,
from bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/ScopeGuard.h:21,
from bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/experimental/DynamicParser.h:20,
from MyFollyTest.cpp:5,
/nix/store/b2vjbgyz4wfy0z56wf3zg8dzz0jmh0hh-gcc-11.2.0/lib/gcc/x86_64-unknown-linux-gnu/11.2.0/../../../../include/c++/11.2.0/array:176:7: note: by argument 1 of type 'const std::array*' to 'constexpr std::array<_Tp, _Nm>::si
ze_type std::array<_Tp, _Nm>::size() const [with _Tp = unsigned char; long unsigned int _Nm = 256]' declared here
176 | size() const noexcept { return _Nm; }
| ^~~~
In file included from bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/container/detail/F14Policy.h:28,
from bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/container/F14Map.h:42,
from bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/dynamic.h:66,
from bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/experimental/DynamicParser.h:21,
from MyFollyTest.cpp:5,
bazel-out/k8-fastbuild/bin/_virtual_includes/folly/folly/container/detail/F14Table.h:1590:30: note: 'stackBuf' declared here
1590 | std::array stackBuf;
| ^~~~~~~~
```
Contributor guide
Assessment
This issue has not been assessed yet.