https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78996
Bug ID: 78996 Summary: <variant> uses macro as name Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: webrown.cpp at gmail dot com Target Milestone: --- Upon upgrading to g++-mp-7 (MacPorts gcc7 7-20170101_0) 7.0.0 20170101 (experimental) and compiling with significant options -std=c++1z -fconcepts, I find a previously-unseen conflict. At line 607, header <variant> employs the identifier __unused as the name of a template parameter pack. Unfortunately, before #including <variant>, my test program has already #included <sys/cdefs.h>, which on my system contains the line: #define __unused __attribute__((unused)) This seems the source of the conflict that now produces diagnostics from the unchanged test program that last month compiled cleanly. Preprocessed source is attached. Thank you.