https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69767
Bug ID: 69767
Summary: Clash with macros from sys/sysmacros.h
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: mpolacek at gcc dot gnu.org
Target Milestone: ---
The following should probably compile even with -std=c++11 or -std=c++14:
#include <string>
struct S {
int major;
int minor;
S (int major = 1, int minor = 3);
};
S::S(int major, int minor) : major (major), minor(minor)
{
}
glibc's sys/sysmacros.h has these defines:
/* Access the functions with their traditional names. */
#define major(dev) gnu_dev_major (dev)
#define minor(dev) gnu_dev_minor (dev)
#define makedev(maj, min) gnu_dev_makedev (maj, min)