https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79433

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2017-02-09
            Summary|__has_include does not      |__has_include(<new header>)
                   |conform to SD-6             |is true but #include <new
                   |                            |header> gives #error when
                   |                            |-std=old
     Ever confirmed|0                           |1

--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Even SD-6 has a similar specification:

The has-include-expression is replaced by the pp-number 1 if the search for the
source file succeeds, and by the pp-number 0 if the search fails.

It says nothing about whether inclusion would succeed, only whether the search
for the file succeeds. It's implementation-defined how the search for source
files is done.

I'll confirm this as an enhancement for libstdc++, but insisting it's not
conforming is simply wrong.

Reply via email to