This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: __has_include__ is problematic


On Thu, Jan 10, 2019 at 03:35:14PM +0100, Florian Weimer wrote:
> * Jakub Jelinek:
> 
> > On Thu, Jan 10, 2019 at 03:20:59PM +0100, Florian Weimer wrote:
> >> Can we remove __has_include__?
> >
> > No.
> >
> >> Its availability results in code which is needlessly non-portable
> >> because for some reason, people write __has_include__ instead of
> >> __has_include.  (I don't think there is any difference.)
> >
> > __has_include needs to be a macro, while __has_include__ is a weirdo
> > builtin that does all the magic.  But one needs to be able to
> > #ifdef __has_include
> > etc.
> 
> Why doesn't a synthetic
> 
> #define __has_include __has_include
> 
> work?

Because the magic builtin is a preprocessor builtin, kind of macro,
so you can't have a normal macro with the same name.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]