https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71946
Bug ID: 71946
Summary: FD_ZERO macro parsing error in lambda function.
Product: gcc
Version: 5.4.0
Status: UNCONFIRMED
Severity: major
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ruanbeihong at gmail dot com
Target Milestone: ---
#include <sys/select.h>
#include <functional>
std::function<void(void)> test = []{
fd_set set;
FD_ZERO(&set);
};
g++ -std=c++11 a.cpp
In file included from /usr/include/x86_64-linux-gnu/sys/select.h:30:0,
from a.cpp:1:
a.cpp: In lambda function:
a.cpp:6:2: error: expected ‘)’ before ‘:’ token
FD_ZERO(&set);
^