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.

Reply via email to