On quarta-feira, 8 de fevereiro de 2017 23:52:03 PST Stephen Kelly wrote: > Marc Mutz wrote: > > Hi, > > > > I just filed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79433 > > complaining that __has_include returns true for headers which then, when > > included, #error out about the wrong C++ standard used. > > In my opinion, the problem is sd-6 defining feature macros in the header > that contains the implementation, instead of in a single header. > > There are many reasons not to do that, but the opinion of the chair is > bonkers and no one else has an opinion: > > https://www.mail-archive.com/[email protected]/msg00018.html > > https://www.mail-archive.com/[email protected]/msg00162.html
I don't agree with you, mostly because I don't understand what the issue is. And it's not the issue Marc is having. The way I see it, macros defined inside a file are not an issue, if the file has been there for 20 years. There's no harm in #include'ing it. Some features are the entire new file, so that's what #if __has_include is for. The issue Marc has is that the way to tell that a feature exist *is* the __has_include, but once you do that, you get an #error. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
