[Bug c++/107019] New: -Wunused-but-set-variable false positive for static variable in lambda with boost
mario at klebsch dot de
gcc-bugzilla@gcc.gnu.org
Fri Sep 23 15:03:51 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107019
Bug ID: 107019
Summary: -Wunused-but-set-variable false positive for static
variable in lambda with boost
Product: gcc
Version: 11.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mario at klebsch dot de
Target Milestone: ---
I get a palse positive from -Wunused-but-set-variable with this little sample:
#include <stdio.h>
#include <boost/asio.hpp>
int main(int argc, char *argv[])
{
static const char *func = __FUNCTION__;
boost::asio::io_service io_service;
boost::asio::deadline_timer timer(io_service);
timer.async_wait( [](auto) {
printf("%s()\n", func);
});
}
~/tmp $ g++ -Wall bug2.cpp -c -I boost_1_80_0/
bug2.cpp: In function ‘int main(int, char**)’:
bug2.cpp:7:28: warning: variable ‘func’ set but not used
[-Wunused-but-set-variable]
7 | static const char *func = __FUNCTION__;
| ^~~~
~/tmp $
If I do not call timer.async_wait() but some other function taking const
std::function<void(const boost::system::error_code&)>& as parameter, the usage
of func in the lambda is recognized correctly.
73, Mario
More information about the Gcc-bugs
mailing list