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

--- Comment #79 from fink at snaggledworks dot com ---
(In reply to Iain Sandoe from comment #68)
> Created attachment 46176 [details]
> revised fixincludes patch.
> 
> So I have an answer about the language implications.
> 
> Any C++ program containing _Atomic is using a reserved identifier, and so is
> "ill-formed no diagnostic required", per [lex.name]/3
> 
> Therefore, it's standards-conforming for a [C++] implementation to make such
> identifiers keywords (as GCC does for __attribute__, for example)
> 
> Apparently, this is intentional extension and is only one of a longer list
> of such keywords that clang++ accepts.
> 
> ====
> 
> Since, according to the discussion above, this is not a bug in the compiler
> but rather in using a non-portable extension, perhaps we should not expect
> any change to the headers.
> 
> ====
> 
> The patch attached include the generated files, and I'd be grateful if folks
> would test it (right now I have limited access to Darwin test boxen, but it
> seems to DTRT for me) - I will post to @patches, but leave commit until it's
> confirmed that it's working.

A little late to the party, but this revised patch worked for me on
10.4.4/Xcode10.2 with gcc8.3.0, gcc7.4.0, and gcc6.5.0.  fftw3-3.3.8 built and
passed all tests against the patched gcc8 and gcc7.  cernlib built against the
patched gcc6.

Reply via email to