Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gcc@4.9: patch for Xcode 9 #17568

Merged
merged 1 commit into from Sep 8, 2017
Merged

gcc@4.9: patch for Xcode 9 #17568

merged 1 commit into from Sep 8, 2017

Conversation

@fxcoudert
Copy link
Member

fxcoudert commented Sep 3, 2017

See #14418

@fxcoudert

This comment has been minimized.

Copy link
Member Author

fxcoudert commented Sep 3, 2017

Patch allows compilation to proceed further, but it fails in building stage1 libdstdc++ with:

In file included from /usr/include/Availability.h:194:0,
                 from /usr/include/stdlib.h:61,
                 from /private/tmp/gcc@4.9-20170904-25667-7vg3pb/gcc-4.9.4/build/x86_64-apple-darwin17.0.0/li
bstdc++-v3/include/cstdlib:72,
                 from ../../../../libstdc++-v3/libsupc++/atexit_thread.cc:25:
/usr/include/AvailabilityInternal.h:25584:74: error: missing binary operator before token "("
 #if defined(__has_feature) && defined(__has_attribute) && __has_attribute(availability)
                                                                          ^
In file included from /usr/include/stdlib.h:61:0,
                 from /private/tmp/gcc@4.9-20170904-25667-7vg3pb/gcc-4.9.4/build/x86_64-apple-darwin17.0.0/libstdc++-v3/include/cstdlib:72,
                 from ../../../../libstdc++-v3/libsupc++/atexit_thread.cc:25:
/usr/include/Availability.h:387:74: error: missing binary operator before token "("
 #if defined(__has_feature) && defined(__has_attribute) && __has_attribute(availability)
                                                                          ^

Since this is in system headers, not sure how easy it will be to avoid.

@fxcoudert fxcoudert mentioned this pull request Sep 3, 2017
4 of 4 tasks complete
@fxcoudert fxcoudert added the 10.13 label Sep 4, 2017
@fxcoudert

This comment has been minimized.

Copy link
Member Author

fxcoudert commented Sep 7, 2017

This error about __has_attribute in the Availability.h system header is actually a bug in Apple's 10.13 headers.

I've reported it to Apple: radar #34309937, whose content is the following: https://gist.github.com/fxcoudert/f5c6a3b5ae61461c56ebeedb2dc2b56b

@fxcoudert fxcoudert force-pushed the fxcoudert:gcc49 branch to 20d630b Sep 8, 2017
@fxcoudert

This comment has been minimized.

Copy link
Member Author

fxcoudert commented Sep 8, 2017

The 10.13 patch combines two fixes:

  • unparallelize the libstdc++ headers installation, as was done for other GCC versions: #17557
  • fix the __has_attribute issue by using GCC's fixinclude mechanism on Availability.h, AvailabilityInternal.h, and os/availability.h. This is similar to what was done for other versions of GCC: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407
@fxcoudert fxcoudert merged commit 4fe8f89 into Homebrew:master Sep 8, 2017
1 check failed
1 check failed
continuous-integration/jenkins/ghprb Build finished.
Details
@fxcoudert fxcoudert deleted the fxcoudert:gcc49 branch Sep 8, 2017
@ilovezfs

This comment has been minimized.

Copy link
Contributor

ilovezfs commented Sep 8, 2017

@Homebrew Homebrew locked and limited conversation to collaborators May 4, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.