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

Reply via email to