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); ^