[Bug libstdc++/78996] New: <variant> uses macro as name
webrown.cpp at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Jan 5 01:08:00 GMT 2017
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.
More information about the Gcc-bugs
mailing list